JP2013257456A - Certification device, verification device and program - Google Patents

Certification device, verification device and program Download PDF

Info

Publication number
JP2013257456A
JP2013257456A JP2012133762A JP2012133762A JP2013257456A JP 2013257456 A JP2013257456 A JP 2013257456A JP 2012133762 A JP2012133762 A JP 2012133762A JP 2012133762 A JP2012133762 A JP 2012133762A JP 2013257456 A JP2013257456 A JP 2013257456A
Authority
JP
Japan
Prior art keywords
mpk
ibi
challenge
master
identifier
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.)
Granted
Application number
JP2012133762A
Other languages
Japanese (ja)
Other versions
JP5783956B2 (en
Inventor
Toshiyuki Miyazawa
俊之 宮澤
Atsushi Fujioka
淳 藤岡
Keita Kusakawa
恵太 草川
Tetsutaro Kobayashi
鉄太郎 小林
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012133762A priority Critical patent/JP5783956B2/en
Publication of JP2013257456A publication Critical patent/JP2013257456A/en
Application granted granted Critical
Publication of JP5783956B2 publication Critical patent/JP5783956B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To easily strengthen safety of an IBI protocol.SOLUTION: A certification device outputs (a,a) by (a,st)←Σ(mpk,M(id,b(id),sk, c←Σ(mpk), and (a,u←Σ(mpk,M(id,rb(id),c. A verification device outputs c←Σ(mpk). The certification device outputs (c,u,u) by c=c-c, and u←Σ(mpk,M(id,b(id),sk,a,c,st). The verification device obtains c=c-c, and determines whether both Σ(mpk,M(id,0),a,c,u) and Σ(mpk,M(id,1),a,c,u) are accepted.

Description

本発明は情報セキュリティ技術における相手認証に関し、特に、認証相手の識別子(ID)を公開鍵に用いる相手認証方式(IDベース認証方式)における安全性の強化方式に関する。   The present invention relates to partner authentication in information security technology, and more particularly to a security enhancement method in a partner authentication method (ID-based authentication method) using an identifier (ID) of an authentication partner as a public key.

通信相手の正当性を確認する技術として相手認証の技術がある。相手認証を実現する方式としては、パスワードを用いる方式や、デジタル署名を用いたプロトコル(SIプロトコル)のほかに、利用者の名前やメールアドレスなどの識別子を公開鍵に用いるIDベース認証プロトコル(以下IBIプロトコル)がある。一般的に、IBIプロトコルは、鍵発行局・証明者・検証者の三者で実行される。鍵発行局は証明者の識別子idに対応する秘密鍵skidを証明者に発行し、証明者と検証者が通信することで、検証者が「証明者が識別子id対応した秘密鍵skidを持っていること」を検証することができる技術である。 There is a partner authentication technique as a technique for confirming the legitimacy of a communication partner. As a method for realizing partner authentication, in addition to a method using a password and a protocol using a digital signature (SI protocol), an ID-based authentication protocol (hereinafter referred to as a public key) that uses an identifier such as a user name or an e-mail address IBI protocol). In general, the IBI protocol is executed by a key issuing authority, a certifier, and a verifier. The key issuing authority issues a secret key sk id corresponding to the identifier id of the prover to the prover, and the prover and the verifier communicate with each other, so that the verifier obtains the secret key sk id corresponding to the identifier id. It is a technology that can verify "having".

IBIプロトコルにおける安全性は攻撃の強さにより定義され、最も強い安全性は、並列攻撃に対してなりすましができないこと(secure against impersonation under concurrent attacks,以下「imp−ca安全」)である。また、弱い安全性の定義としては,受動的攻撃に対してなりすましができないこと(secure against impersonation under passive attacks,以下「imp−pa安全」)がある。imp−ca安全とimp−pa安全の違いは、大まかに言えば、imp−ca安全で想定している攻撃者がIBIプロトコルを利用している全ての利用者にいつでも並列的にアクセスし、操作することが許されているのに対し、imp−pa安全で想定している攻撃者はIBIプロトコルの利用者間の通信履歴の盗聴のみが許されている点にある(例えば、非特許文献1参照)。   Security in the IBI protocol is defined by the strength of the attack, and the strongest security is that impersonation under concurrent attacks (hereinafter referred to as “imp-ca security”). Also, the definition of weak security is that it cannot impersonate passive attacks (secure against impersonation under passive attacks, hereinafter referred to as “imp-pa security”). The difference between imp-ca safety and imp-pa safety is roughly the same: the attacker who is assumed to be imp-ca secure always accesses and operates in parallel all users using the IBI protocol. On the other hand, attackers who are assumed to be imp-pa secure are only allowed to eavesdrop on the communication history between users of the IBI protocol (for example, Non-Patent Document 1). reference).

現実の利用を想定した場合、より高い安全性を持ったimp−ca安全なIBIプロトコルであることが望ましい。この問題を解決するために、非特許文献2では、imp−pa安全なIBIプロトコルをもとにimp−ca安全なIBIプロトコルを構成する手法が提案されている。非特許文献3の構成は、imp−pa安全な方式におけるパラメータを2つ用意して、1つの識別子に対して各パラメータを用いて発行された秘密鍵を利用して認証を行うものである。ただし、この構成は特定の1方式(Boneh-Boyenのデジタル署名方式(例えば、非特許文献3参照)をIBIプロトコルに拡張した方式)に基づく構成であり、汎用的な構成方法は示されていない。   Assuming actual use, it is desirable to use an imp-ca secure IBI protocol with higher security. In order to solve this problem, Non-Patent Document 2 proposes a method of configuring an imp-ca secure IBI protocol based on the imp-pa secure IBI protocol. The configuration of Non-Patent Document 3 prepares two parameters in the imp-pa secure scheme, and performs authentication using a secret key issued using each parameter for one identifier. However, this configuration is based on a specific method (a method in which the Boneh-Boyen digital signature method (for example, see Non-Patent Document 3) is extended to the IBI protocol), and a general-purpose configuration method is not shown. .

よく知られた事実として、imp−pa安全なSIプロトコルからimp−ca安全性をもつSIプロトコルを構成する方法にOR−proofと呼ばれる技法がある。一般にOR−proofとは、「2つの秘密情報(秘密鍵)のうち、どちらかを持っていることを証明する」方法である(例えば、非特許文献4参照)。ただし、OR−proofの技法は上記に示した概念レベルの話であり、非特許文献4の方式を除いて、IDベース認証で安全性の強化が証明できるOR−proofの構成はよくわかっていなかった。   As a well-known fact, there is a technique called OR-prof as a method of constructing an imp-ca secure SI protocol from an imp-pa secure SI protocol. In general, OR-proof is a method of “providing that one of two pieces of secret information (secret key) is possessed” (see, for example, Non-Patent Document 4). However, the OR-prof technique is a concept level talk as described above, and except for the method of Non-Patent Document 4, the configuration of the OR-prof that can prove the enhanced security by ID-based authentication is not well understood. It was.

Mihir Bellare, Chanathip Namprempre, and Gregory Neven, “Security proofs for identity-based identication and signature schemes,” In Christian Cachin and Jan Camenisch, editors, EUROCRYPT 2004, volume 3027 of Lecture Notes in Computer Science, pages 268-286, Springer-Verlag, 2004.Mihir Bellare, Chanathip Namprempre, and Gregory Neven, “Security proofs for identity-based identication and signature schemes,” In Christian Cachin and Jan Camenisch, editors, EUROCRYPT 2004, volume 3027 of Lecture Notes in Computer Science, pages 268-286, Springer -Verlag, 2004. Kaoru Kurosawa and Swee-Huay Heng, “Identity-based identi cation without random oracles,” In Osvaldo Gervasi, Marina L. Gavrilova, Vipin Kumar, Antonio Lagana, Heow Pueh Lee, Youngsong Mun, David Taniar, and Chih Jeng Kenneth Tan, editors, ICCSA 2005, Part II, volume 3481 of Lecture Notes in Computer Science, pages 603-613, Springer-Verlag, 2005.Kaoru Kurosawa and Swee-Huay Heng, “Identity-based identi cation without random oracles,” In Osvaldo Gervasi, Marina L. Gavrilova, Vipin Kumar, Antonio Lagana, Heow Pueh Lee, Youngsong Mun, David Taniar, and Chih Jeng Kenneth Tan, editors, ICCSA 2005, Part II, volume 3481 of Lecture Notes in Computer Science, pages 603-613, Springer-Verlag, 2005. Dan Boneh and Xavier Boyen, “Short signatures without random oracles,”In Christian Cachin and Jan Camenisch, editors, EUROCRYPT, volume 3027 of Lecture Notes in Computer Science, pages 56-73, Springer, 2004.Dan Boneh and Xavier Boyen, “Short signatures without random oracles,” In Christian Cachin and Jan Camenisch, editors, EUROCRYPT, volume 3027 of Lecture Notes in Computer Science, pages 56-73, Springer, 2004. Uriel Feige and Adi Shamir, “Witness indistinguishable and witness hiding protocols,” In STOC'90, pages 416-426, ACM, 1990.Uriel Feige and Adi Shamir, “Witness indistinguishable and witness hiding protocols,” In STOC'90, pages 416-426, ACM, 1990.

本発明の課題は、Σ型および/またはΣ型のあらゆるIBIプロトコルに汎用的に適用可能であり、IBIプロトコルの安全性を容易に強化することができる技術を提供することである。 An object of the present invention is to provide a technique that can be universally applied to any Σ + type and / or Σ * type IBI protocol and can easily enhance the safety of the IBI protocol.

前提として、SKID←KG(MSK,ID)がマスタ秘密鍵MSKと識別子IDから秘密鍵SKIDを得る写像であり、(A,ST)←Σibi−com(MPK,ID,SKID)がマスタ公開鍵MPKと識別子IDと秘密鍵SKIDからコミットメントAと内部状態情報STを得る写像であり、C←Σibi−ch(MPK,ID)がマスタ公開鍵MPKと識別子IDからチャレンジCを得る写像であり、U←Σibi−res(MPK,ID,SKID,A,C,ST)がマスタ公開鍵MPKと識別子IDと秘密鍵SKIDとコミットメントAとチャレンジCと内部状態情報STからレスポンスUを得る写像であり、DEC←Σibi−vrfy(MPK,ID,A,C,U)がマスタ公開鍵MPKと識別子IDとコミットメントAとチャレンジCとレスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)がマスタ公開鍵MPKからチャレンジC’を得る写像であり、C’←Σ* ibi−ch(1κ)がセキュリティパラメータ1κからチャレンジC’を得る写像であり、(A’,U’)←Σibi−sim(MPK,ID,C)がマスタ公開鍵MPKと識別子IDとチャレンジCからチャレンジCに対して検証結果DECが受理となるコミットメントA’とレスポンスU’を得る写像である。 As a premise, SK ID ← KG (MSK, ID) is a mapping for obtaining the secret key SK ID from the master secret key MSK and the identifier ID, and (A, ST) ← Σ ibi-com (MPK, ID, SK ID ) is This is a mapping that obtains commitment A and internal state information ST from master public key MPK, identifier ID, and secret key SK ID , and C ← Σ ibi-ch (MPK, ID) obtains challenge C from master public key MPK and identifier ID. U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is a response from master public key MPK, identifier ID, secret key SK ID , commitment A, challenge C, and internal state information ST DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is a master public key MPK, identifier ID, and commit Is a map that obtains a verification result DEC from an event A, a challenge C, and a response U, and C ′ ← Σ + ibi-ch (MPK) is a map that obtains a challenge C ′ from the master public key MPK, and C ′ ← Σ * ibi −ch (1 κ ) is a mapping for obtaining the challenge C ′ from the security parameter 1 κ , and (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is the master public key MPK, the identifier ID, and the challenge This is a mapping for obtaining a commitment A ′ and a response U ′ for which the verification result DEC is accepted for the challenge C from C.

[第1態様]
第1態様では、マスタ公開鍵MPKがmpkであり、マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、M(α,β)がαとβに対応する値であり、sk(id,b(id))が何れかのb(id)∈{0,1}に対応するsk(id,b(id))←KG(msk,M(id,b(id)))によって得られる値であり、rb(id)=1−b(id)である。第1態様では、これらを前提として以下の処理を実行する。
証明装置が、(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得、crb(id)←Σ+ ibi−ch(mpk)によってcrb(id)を得、(arb(id),urb(id))←Σibi−sim(mpk,M(id,rb(id)),crb(id))によってarb(id)とurb(id)を得、コミットメント(a,a)を出力する。
検証装置が、コミットメント(a,a)の入力を受け付け、c←Σ+ ibi−ch(mpk)によってチャレンジcを得、チャレンジcを出力する。
証明装置が、入力されたチャレンジcからcb(id)=c−crb(id)を得、ub(id)←Σibi−res(mpk,M(id,b(id)),sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得、レスポンス(c,u,u)を出力する。
検証装置が、レスポンス(c,u,u)の入力を受け付け、c=c−cを得、dec←Σibi−vrfy(mpk,M(id,0),a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,M(id,1),a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する。
[First aspect]
In the first aspect, the master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, M (α, β) is a value corresponding to α and β, and sk ( id, b (id)) is obtained by sk (id, b (id)) ← KG (msk, M (id, b (id))) corresponding to any b (id) ∈ {0, 1} Rb (id) = 1−b (id). In the first aspect, the following processing is executed on the premise of these.
Proof device, the st and (a b (id), st ) ← Σ ibi-com (mpk, M (id, b (id)), sk (id, b (id))) by a b (id) Then, crb (id) is obtained by crb (id) <-Σ + ibi-ch (mpk), and (arb (id) , urb (id) ) <-Σibi -sim (mpk, M (id, rb (id)), to give a rb (id) and u rb an (id) by c rb (id)), and outputs the commitment (a 0, a 1).
The verification device receives an input of commitment (a 0 , a 1 ), obtains challenge c by c ← Σ + ibi-ch (mpk), and outputs challenge c.
The proving device obtains c b (id) = c−c rb (id) from the input challenge c, and u b (id) ← Σ ibi-res (mpk, M (id, b (id)), sk U b (id) is obtained by (id, b (id)) , a b (id) , c b (id) , st), and a response (c 0 , u 0 , u 1 ) is output.
The verification device accepts the input of the response (c 0 , u 0 , u 1 ), obtains c 1 = c−c 0 , and dec ← Σ ibi-vrfy (mpk, M (id, 0), a 0 , c 0 , u 0 ) and the verification result dec ′ obtained by dec ′ ← Σ ibi-vrfy (mpk, M (id, 1), a 1 , c 1 , u 1 ) are both accepted. It is determined whether it becomes.

[第2態様]
第2態様では、マスタ公開鍵MPKがmpkであり、マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、M(α,β)がαとβに対応する値であり、b(id)∈{0,1}であり、sk(id,b(id))がsk(id,b(id))←KG(msk,M(id,b(id)))によって得られる値であり、rb(id)=1−b(id)である。第2態様では、これらを前提として以下の処理を実行する。
証明装置が、何れかのb(id)∈{0,1}に対応する(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得、crb(id)←Σ+ ibi−ch(mpk)によってcrb(id)を得、(arb(id),urb(id))←Σibi−sim(mpk,M(id,rb(id)),crb(id))によってarb(id)とurb(id)を得、コミットメント(a,a)を出力する。
検証装置が、コミットメント(a,a)の入力を受け付け、c←Σ+ ibi−ch(mpk)によってチャレンジcを得、チャレンジcを出力する。
証明装置が、入力されたチャレンジcからcb(id)=c−crb(id)を得、ub(id)←Σibi−res(mpk,M(id,b(id)),sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得、レスポンス(c,u,u)を出力する。
検証装置が、レスポンス(c,u,u)の入力を受け付け、c=c−cを得、dec←Σibi−vrfy(mpk,M(id,0),a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,M(id,1),a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する。
[Second embodiment]
In the second mode, the master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, M (α, β) is a value corresponding to α and β, and b ( id) ∈ {0, 1}, and sk (id, b (id)) is a value obtained by sk (id, b (id)) ← KG (msk, M (id, b (id))) Yes, rb (id) = 1-b (id). In the second aspect, the following processing is executed on the premise of these.
The proving device corresponds to any of b (id) ε {0, 1} (a b (id) , st) ← Σ ibi-com (mpk, M (id, b (id)), sk (id , B (id)) ) to obtain a b (id) and st, and crb (id) ← Σ + ibi-ch (mpk ) to obtain crb (id) , and (a rb (id) , u rb (id)) ← Σ ibi- sim give (mpk, M (id, rb (id)), a rb by c rb (id)) (id ) and u rb (id), commitment (a 0, a 1 ) Is output.
The verification device receives an input of commitment (a 0 , a 1 ), obtains challenge c by c ← Σ + ibi-ch (mpk), and outputs challenge c.
The proving device obtains c b (id) = c−c rb (id) from the input challenge c, and u b (id) ← Σ ibi-res (mpk, M (id, b (id)), sk U b (id) is obtained by (id, b (id)) , a b (id) , c b (id) , st), and a response (c 0 , u 0 , u 1 ) is output.
The verification device accepts the input of the response (c 0 , u 0 , u 1 ), obtains c 1 = c−c 0 , and dec ← Σ ibi-vrfy (mpk, M (id, 0), a 0 , c 0 , u 0 ) and the verification result dec ′ obtained by dec ′ ← Σ ibi-vrfy (mpk, M (id, 1), a 1 , c 1 , u 1 ) are both accepted. It is determined whether it becomes.

[第3態様]
第3態様では、マスタ公開鍵MPKがmpkであり、マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、idmasterがマスタ識別子であり、id≠idmasterであり、skidがskid←KG(msk,id)によって得られる値である。第3態様では、これらを前提として以下の処理を実行する。
証明装置が、(a,st)←Σibi−com(mpk,id,skid)によってaとstを得、c←Σ+ ibi−ch(mpk)によってcを得、(a,u)←Σibi−sim(mpk,idmaster,c)によってaとuを得、コミットメント(a,a)を出力する。
検証装置が、コミットメント(a,a)の入力を受け付け、c←Σ+ ibi−ch(mpk)によってチャレンジcを得、チャレンジcを出力する。
証明装置が、入力されたチャレンジcからc=c−cを得、u←Σibi−res(mpk,id,skid,a,c,st)によってuを得、レスポンス(c,u,u)を出力する。
検証装置が、レスポンス(c,u,u)の入力を受け付け、c=c−cを得、dec←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,idmaster,a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する。
[Third Aspect]
In the third aspect, the master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, id master is a master identifier, id ≠ id master , and sk id is sk. It is a value obtained by id ← KG (msk, id). In the third aspect, the following processing is executed on the premise of these.
Proof device, to obtain a (a 0, st) ← Σ ibi-com (mpk, id, sk id) to give the a 0 and st by, c 1 by c 1 ← Σ + ibi-ch (mpk), (a 1 , u 1 ) ← Σ ibi-sim (mpk, id master , c 1 ) to obtain a 1 and u 1 and output a commitment (a 0 , a 1 ).
The verification device receives an input of commitment (a 0 , a 1 ), obtains challenge c by c ← Σ + ibi-ch (mpk), and outputs challenge c.
Proof device, obtain the c 0 = c-c 1 from the input challenge c, obtained u 0 ← Σ ibi-res ( mpk, id, sk id, a 0, c 0, st) and the u 0, response (C 0 , u 0 , u 1 ) is output.
The verification device receives the input of the response (c 0 , u 0 , u 1 ), obtains c 1 = c−c 0 , and dec ← Σ ibi-vrfy (mpk, id, a 0 , c 0 , u 0 ) It is determined whether the verification result dec obtained by the above and the verification result dec ′ obtained by dec ′ ← Σ ibi-vrfy (mpk, id master , a 1 , c 1 , u 1 ) are accepted.

[第4態様]
第4態様では、(mpk,msk)および(mpk,msk)のそれぞれがマスタ公開鍵とマスタ秘密鍵との鍵ペア(MPK,MSK)であり、idが利用者識別子であり、sk(id,b(id))が何れかのb(id)∈{0,1}に対応するsk(id,b(id))←KG(mskb(id),id)によって得られる値であり、rb(id)=1−b(id)である。第4態様では、これらを前提として以下の処理を実行する。
証明装置が、(ab(id),st)←Σibi−com(mpkb(id),id,sk(id,b(id)))によってab(id)とstを得、crb(id)←Σ* ibi−ch(1κ)によってcrb(id)を得、(arb(id),urb(id))←Σibi−sim(mpkrb(id),id,crb(id))によってarb(id)とurb(id)を得、コミットメント(a,a)を出力する。
検証装置が、コミットメント(a,a)の入力を受け付け、c←Σ* ibi−ch(1κ)によってチャレンジcを得、チャレンジcを出力する。
証明装置が、入力されたチャレンジcからcb(id)=c−crb(id)を得、ub(id)←Σibi−res(mpkb(id),id,sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得、レスポンス(c,u,u)を出力する。
検証装置が、レスポンス(c,u,u)の入力を受け付け、c=c−cを得、dec←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する。
[Fourth aspect]
In the fourth aspect, each of (mpk 0 , msk 0 ) and (mpk 1 , msk 1 ) is a key pair (MPK, MSK) of a master public key and a master secret key, id is a user identifier, sk (id, b (id)) is a value obtained by sk (id, b (id)) ← KG (msk b (id) , id) corresponding to any b (id) ∈ {0, 1} And rb (id) = 1−b (id). In the fourth aspect, the following processing is executed on the premise of these.
Proof device, to obtain a st and (a b (id), st ) ← Σ ibi-com (mpk b (id), id, sk (id, b (id))) by a b (id), c rb (id) ← Σ * ibi- ch give c rb (id) by (1 κ), (a rb (id), u rb (id)) ← Σ ibi-sim (mpk rb (id), id, c rb (id) ) obtains a rb (id) and u rb (id) , and outputs the commitment (a 0 , a 1 ).
The verification device receives the input of commitment (a 0 , a 1 ), obtains challenge c by c ← Σ * ibi-ch (1 κ ), and outputs challenge c.
The proving device obtains c b (id) = c−c rb (id) from the input challenge c, and u b (id) ← Σ ibi-res (mpk b (id) , id, sk (id, b (id)), a b ( id), c b (id), st) give u b (id) by, outputs a response (c 0, u 0, u 1).
The verification device receives the input of the response (c 0 , u 0 , u 1 ), obtains c 1 = c−c 0 , and dec ← Σ ibi-vrfy (mpk 0 , id, a 0 , c 0 , u 0 ) And the verification result dec ′ obtained by dec ′ ← Σ ibi-vrfy (mpk 1 , id, a 1 , c 1 , u 1 ) are determined to be acceptable.

本発明は、Σ型、およびΣ型のあらゆるIBIプロトコルに汎用的に適用可能であり、IBIプロトコルの安全性を容易に強化することができる。 The present invention can be applied universally to all IBI protocols of the Σ + type and the Σ * type, and the safety of the IBI protocol can be easily enhanced.

実施形態の認証システムの構成を例示したブロック図である。It is a block diagram which illustrated the composition of the authentication system of an embodiment. 第1実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 1st Embodiment. 第1,2実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 1st and 2 embodiment. 第2実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 2nd Embodiment. 第3実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 3rd Embodiment. 第3実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 3rd Embodiment. 第4実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 4th Embodiment. 第5実施形態の認証方法を例示したフロー図である。It is the flowchart which illustrated the authentication method of 5th Embodiment.

本発明の実施形態を説明する。
<定義>
まず、本形態で用いる用語を定義する。
An embodiment of the present invention will be described.
<Definition>
First, terms used in this embodiment are defined.

≪IDベース認証プロトコル≫
IDベース認証プロトコル(Identity-based identification protocol: IBI protocol)とは、利用者の識別子を公開鍵に用いることのできる相手認証方式である。一般的に、IDベース認証プロトコルは、鍵発行局・証明者・検証者の三者によって実行される。IDベース認証プロトコルでは、鍵発行局は証明者の識別子IDに対応する秘密鍵SKIDを証明者に発行し、証明者と検証者が通信することで、検証者が「証明者が識別子IDに対応したSKIDを持っていること」を検証できる。より形式的には、IDベース認証は次の4つの確率的多項式時間アルゴリズムIBI=(SetUp,KG,P,V)から構成される。
・SetUp(マスタ鍵生成アルゴリズム):鍵発行局で実行されるSetUpは、セキュリティパラメータ1κを入力として、IDベース暗号方式のマスタ秘密鍵MSKおよびマスタ公開鍵MPKを出力する((MPK,MSK)←SetUp(1κ))。マスタ秘密鍵MSKは秘匿され、マスタ公開鍵MPKは公開される。なお、κは正整数であり、1κは1が並んだ長さκのビット列である。
・KG(ユーザ鍵生成アルゴリズム):KGは、MSKと識別子IDを入力として、IDに対応する秘密鍵SKIDを出力する(SKID←KG(MSK,ID))。
・P(証明者アルゴリズム):Pは、(MPK,ID,SKID)を入力とし、Vと通信する。
・V(検証者アルゴリズム):(MPK,ID)を入力として、Pと通信し、最終的に証明者がSKIDを持っていることが検証できれば「受理(accept)」、そうでなければ「拒否(reject)」を出力する。
上記のうち、鍵発行局はSetUp、KGを、証明者はPを、検証者はVをそれぞれ実行する。
≪ID-based authentication protocol≫
The ID-based identification protocol (Identity-based identification protocol: IBI protocol) is a partner authentication method that can use a user identifier as a public key. In general, the ID-based authentication protocol is executed by a key issuing authority, a prover, and a verifier. In the ID-based authentication protocol, the key issuing authority issues a secret key SK ID corresponding to the identifier ID of the prover to the prover, and the verifier and the verifier communicate with each other. It can be verified that it has a corresponding SK ID . More formally, ID-based authentication consists of the following four probabilistic polynomial time algorithms IBI = (SetUp, KG, P, V).
SetUp (master key generation algorithm): SetUp executed by the key issuing authority outputs the security parameter 1 κ as an input and outputs a master secret key MSK and a master public key MPK of an ID-based encryption method ((MPK, MSK)) ← SetUp (1 κ)). The master secret key MSK is kept secret, and the master public key MPK is made public. Note that κ is a positive integer, and 1 κ is a bit string of length κ in which 1s are arranged.
KG (User Key Generation Algorithm): KG receives MSK and identifier ID, and outputs a secret key SK ID corresponding to the ID (SK ID ← KG (MSK, ID)).
P (provider algorithm): P communicates with V with (MPK, ID, SK ID ) as input.
V (verifier algorithm): (MPK, ID) is input, communicates with P, and finally verifies that the prover has the SK ID , “accept”, otherwise “accept” "Reject" is output.
Among the above, the key issuing authority executes SetUp and KG, the prover executes P, and the verifier executes V.

≪Σ型およびΣ型IBIプロトコル≫
ここでは、IBIプロトコルIBI=(SetUp,KG,P,V)として、PとVの通信が3回で完了し、PとVは、以下の確率的多項式時間アルゴリズム( Σibi−com,Σibi−ch,Σibi−res,Σibi−vrfy)を利用するプロトコル(「標準的IBIプロトコル」)を対象とする。
・P→V:Pは(A,ST)←Σibi−com(MPK,ID,SKID)を計算し、コミットメントAをVに送信する。ただし、STはPの内部状態情報である。また、(A,ST)←Σibi−com(MPK,ID,SKID)は、マスタ公開鍵MPKと識別子IDと秘密鍵SKIDからコミットメントAと内部状態情報STを得るアルゴリズムである。
・V→P:VはチャレンジC← Σibi−ch(MPK,ID)を計算し、CをPに送信する。ただし、C←Σibi−ch(MPK,ID)は、マスタ公開鍵MPKと識別子IDからチャレンジCを得るアルゴリズムである。
・P→V:PはレスポンスU←Σibi−res(MPK,ID,SKID,A,C,ST)を計算し、UをVに送信する。ただし、U←Σibi−res(MPK,ID,SKID,A,C,ST)は、マスタ公開鍵MPKと識別子IDと秘密鍵SKIDとコミットメントAとチャレンジCと内部状態情報STからレスポンスUを得るアルゴリズムである。
・V:Vは検証結果DEC←Σibi−vrfy(MPK,ID,A,C,U)を計算し、DEC∈{accept,reject}を出力する。ただし、DEC←Σibi−vrfy(MPK,ID,A,C,U)は、マスタ公開鍵MPKと識別子IDとコミットメントAとチャレンジCとレスポンスUから検証結果DECを得るアルゴリズムである。
≪Σ + type and Σ * type IBI protocol≫
Here, assuming that the IBI protocol IBI = (SetUp, KG, P, V), the communication between P and V is completed in three times, and P and V are represented by the following stochastic polynomial time algorithm (Σ ibi-com , Σ ibi). -Ch , Σ ibi-res , Σ ibi-vrfy ) (“standard IBI protocol”).
P → V: P calculates (A, ST) ← Σ ibi-com (MPK, ID, SK ID ) and sends commitment A to V. However, ST is P's internal state information. (A, ST) ← Σ ibi-com (MPK, ID, SK ID ) is an algorithm for obtaining the commitment A and the internal state information ST from the master public key MPK, the identifier ID, and the secret key SK ID .
V → P: V calculates challenge C ← Σ ibi-ch (MPK, ID) and sends C to P. However, C ← Σ ibi-ch (MPK, ID) is an algorithm for obtaining the challenge C from the master public key MPK and the identifier ID.
P → V: P calculates the response U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) and sends U to V. However, U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is a response U from the master public key MPK, the identifier ID, the secret key SK ID , the commitment A, the challenge C, and the internal state information ST. Is the algorithm to obtain
V: V calculates the verification result DEC ← Σ ibi-vrfy (MPK, ID, A, C, U), and outputs DECε {accept, reject}. However, DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is an algorithm for obtaining the verification result DEC from the master public key MPK, the identifier ID, the commitment A, the challenge C, and the response U.

標準的IBIプロトコルのうち、以下の3つの性質(special zero-knowledge, special soundness, special challenge)を同時に満たすIBIプロトコルをΣ型IBIプロトコルと呼ぶ。 Among the standard IBI protocols, an IBI protocol that simultaneously satisfies the following three properties (special zero-knowledge, special soundness, and special challenge) is called a Σ + type IBI protocol.

Special zero-knowledge:チャレンジC、マスタ公開鍵MPKおよび識別子IDから、受理可能な通信履歴を計算できる。つまり、MPK,IDおよびC←Σibi−ch(MPK,ID)を満たすCを入力として、accept=Σibi−vrfy(MPK,ID,A,C,U)を満たす(検証結果DECが受理となる)コミットメントとレスポンス(A’,U’)を出力する確率的多項式時間アルゴリズム Σibi−sim(MPK,ID,C)を構成できる。ただし、(A’,U’)←Σibi−sim(MPK,ID,C)を、マスタ公開鍵MPKと識別子IDとチャレンジCからチャレンジCに対して検証結果DECが受理となるコミットメントA’とレスポンスU’を得るアルゴリズムとする。ここで、Σibi−chとΣibi−simの出力の確率分布は、実際のプロトコルの出力の分布と識別不可能である。 Special zero-knowledge: An acceptable communication history can be calculated from the challenge C, the master public key MPK, and the identifier ID. That is, C satisfying MPK, ID and C ← Σ ibi-ch (MPK, ID) is input and satisfying accept = Σ ibi-vrfy (MPK, ID, A, C, U) (verification result DEC is accepted) The probabilistic polynomial time algorithm Σ ibi-sim (MPK, ID, C) that outputs commitment and response (A ′, U ′) can be constructed. However, (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is changed from the master public key MPK, the identifier ID, and the challenge A to the commitment A ′ whose verification result DEC is accepted from the challenge C to the challenge C. An algorithm for obtaining the response U ′ is assumed. Here, the probability distribution of the outputs of Σ ibi-ch and Σ ibi-sim is indistinguishable from the output distribution of the actual protocol.

Special soundness:マスタ公開鍵MPKと識別子IDと2つの通信履歴(A,C,U)(A,C’’,U’’)(ただし、C≠C’’)から、識別子IDに対応する秘密鍵SKIDを計算できる。つまり、MPKとIDとaccept=Σibi−vrfy(MPK,ID,A,C,U)=Σibi−vrfy(MPK,ID,A,C’’,U’’)を満たす2つの通信履歴(A,C,U),(A,C’’,U’’)を入力とし、SKIDを出力する確率的多項式時間アルゴリズムSKID←Σibi−ext(MPK,(A,C,U),(A,C’’,U’’))を構成することができる。 Special soundness: Secret corresponding to the identifier ID from the master public key MPK, the identifier ID, and the two communication histories (A, C, U) (A, C ″, U ″) (where C ≠ C ″) Key SK ID can be calculated. That is, two communication histories (MPK, ID, A, C ″, U ″) satisfying MPK, ID, and accept = Σ ibi-vrfy (MPK, ID, A, C, U) = Σ ibi-vrfy (MPK, ID, A, C ″, U ″) a, C, U), ( a, C '', U ' and enter'), probabilistic polynomial time algorithm SK ID for outputting SK ID ← Σ ibi-ext ( MPK, (a, C, U), (A, C ″, U ″)) can be configured.

Special challenge:Σibi−chはマスタ公開鍵MPKのみに依存し(つまりIDには非依存)、その出力であるチャレンジC’はある集合G(例えば、可換群)の要素であって、出力の分布はG上の一様分布である。さらに、Gでの演算+は多項式時間で実行できる。つまり、MPKのみを入力とし、C’を出力する確率的多項式時間アルゴリズムC’←Σ ibi−ch(MPK)があって、その出力はG上の一様分布である。 Special challenge: Σ ibi-ch depends only on the master public key MPK (that is, independent of ID), and its output challenge C ′ is an element of a set G (for example, a commutative group) and is output Is a uniform distribution on G. Furthermore, the operation + on G can be performed in polynomial time. That is, there is a stochastic polynomial time algorithm C ′ ← Σ + ibi-ch (MPK) that takes only MPK as input and outputs C ′, and its output has a uniform distribution on G.

また、上記の Σ型の性質において、special challengeを以下のStrongly special challengeに置き換えたIBIプロトコルをΣ型IBIプロトコルと呼ぶ。
Strongly special challenge:Σ ibi−chはセキュリティパラメータ1κのみに依存し(つまりMPKとIDには非依存)、その出力であるチャレンジC’はある集合G(例えば、可換群)の要素であって、出力の分布はG上の一様分布である。さらに、Gでの演算+は多項式時間で実行できる。つまり、セキュリティパラメータ1κのみを入力とし、チャレンジC’を出力する確率的多項式時間アルゴリズムC’←Σ ibi−ch(1κ)があって、その出力はG上の一様分布である。
In addition, the IBI protocol in which the special challenge is replaced by the following Strongly special challenge in the above Σ + type property is referred to as a Σ * type IBI protocol.
Strongly special challenge: Σ * ibi-ch depends only on security parameter 1 κ (ie independent of MPK and ID), and its output challenge C ′ is an element of a certain set G (eg commutative group) The output distribution is a uniform distribution on G. Furthermore, the operation + on G can be performed in polynomial time. That is, there is a stochastic polynomial time algorithm C ′ ← Σ * ibi-ch (1 κ ) that takes only the security parameter 1 κ as an input and outputs a challenge C ′, and its output is a uniform distribution on G.

≪Σ型およびΣ型IBIプロトコルの具体例≫
上述のΣ型およびΣ型IBIプロトコルには多くの具体的な方式が存在し、それらの構成方法はよく知られている。
≪Specific examples of Σ + type and Σ * type IBI protocol≫
There are many specific methods for the above-mentioned Σ + type and Σ * type IBI protocols, and their configuration methods are well known.

例えば、Σ型IBIプロトコルの具体例として、参考文献1「Kaoru Kurosawa and Swee-Huay Heng, “Identity-based identification without random oracles,” In Osvaldo Gervasi, Marina L. Gavrilova, Vipin Kumar, Antonio Lagana, Heow Pueh Lee, Youngsong Mun, David Taniar, and Chih Jeng Kenneth Tan, editors, ICCSA 2005, Part II, volume 3481 of Lecture Notes in Computer Science, pages 603-613, Springer-Verlag, 2005.」に記載された方式がある。この方式では、Boneh-Boyenの方式(参考文献2「Dan Boneh and Xavier Boyen, “Short signatures without random oracles,” In Christian Cachin and Jan Camenisch, editors, EUROCRYPT, volume 3027 of Lecture Notes in Computer Science, pages 56-73, Springer, 2004.」参照)が、適応的選択文書攻撃に対して潜在的に偽造不可であれば、imp−ca安全であることが示されている。 For example, as a specific example of the Σ + type IBI protocol, Reference 1 “Kaoru Kurosawa and Swee-Huay Heng,“ Identity-based identification without random oracles, ”In Osvaldo Gervasi, Marina L. Gavrilova, Vipin Kumar, Antonio Lagana, Heow Pueh Lee, Youngsong Mun, David Taniar, and Chih Jeng Kenneth Tan, editors, ICCSA 2005, Part II, volume 3481 of Lecture Notes in Computer Science, pages 603-613, Springer-Verlag, 2005. '' is there. In this method, the Boneh-Boyen method (reference document 2 “Dan Boneh and Xavier Boyen,“ Short signatures without random oracles, ”In Christian Cachin and Jan Camenisch, editors, EUROCRYPT, volume 3027 of Lecture Notes in Computer Science, pages 56 -73, Springer, 2004.) has been shown to be imp-ca safe if it can potentially be counterfeit against an adaptive selected document attack.

Σ型IBIプロトコルの具体例として、参考文献3「Mihir Bellare, Chanathip Namprempre, and Gregory Neven, “Security proofs for identity-based identification and signature schemes,” Journal of Cryptology, 22(1):1-61, January 2009, Preliminary version in EURO-CRYPT 2004, 2004.」に記載された方式がある。参考文献3に記載された方式は、ShamirのIDベース署名(参考文献4「Adi Shamir, “Identity-based cryptosystems and signature schemes,” In George Robert Blakley and David Chaum, editors, CRYPTO '84, volume 196 of Lecture Notes in Computer Science, pages 47-53, Springer-Verlag, 1985.」等参照)をIDベース認証に変形したものである。 As a specific example of the Σ * type IBI protocol, Reference 3 “Mihir Bellare, Chanathip Namprempre, and Gregory Neven,“ Security proofs for identity-based identification and signature schemes, ”Journal of Cryptology, 22 (1): 1-61, January 2009, Preliminary version in EURO-CRYPT 2004, 2004. ”. The scheme described in Reference 3 is based on Shamir's ID-based signature (Reference 4 “Adi Shamir,“ Identity-based cryptosystems and signature schemes, ”In George Robert Blakley and David Chaum, editors, CRYPTO '84, volume 196 of Lecture Notes in Computer Science, pages 47-53, Springer-Verlag, 1985, etc.)).

以下にΣ型およびΣ型IBIプロトコルの具体例を示す。ただし、これらは本発明を限定するものではなく、本発明は様々なΣ型および/またはΣ型IBIプロトコルに汎用的に適用できる。 Specific examples of the Σ + type and Σ * type IBI protocols are shown below. However, these do not limit the present invention, and the present invention can be applied universally to various Σ + and / or Σ * type IBI protocols.

[参考文献1のΣ型IBIプロトコル]
参考文献1のΣ型IBIプロトコルを例示する。この例では(G,G)が素数位数pの双線形群であり、gが群Gの生成元であり、gが群Gの生成元である。eは双線形群(G,G)で定義された双線形写像である。
+ type IBI protocol of Reference 1]
The Σ + type IBI protocol of Reference 1 is illustrated. In this example, (G 1 , G 2 ) is a bilinear group with prime order p, g 1 is a generator of group G 1 , and g 2 is a generator of group G 2 . e is a bilinear map defined by the bilinear group (G 1 , G 2 ).

・SetUp:(MPK,MSK)←SetUp(1κ)の構成は以下の通りである。
1.セキュリティパラメータ1κを入力として、ランダムにx,y∈Z *を選択する。
2.w=g およびv=g を計算する。
3.衝突困難なハッシュ関数H:{0,1}*→Z *を選択する。
4.マスタ公開鍵MPK=(g,g,w,v,H)およびマスタ秘密鍵MSK=(x,y)とする。
SetUp: (MPK, MSK) <-SetUp (1 κ ) is configured as follows.
1. Security parameter 1 κ is input and x, yεZ p * is selected at random.
2. Calculate w = g 1 x and v = g 2 y .
3. A hash function H that is difficult to collide is selected: {0, 1} * → Z p * .
4). The master public key MPK = (g 1 , g 2 , w, v, H) and the master secret key MSK = (x, y).

・KG:SKID←KG(MSK,ID)の構成は以下の通りである。
1.MSK=(x,y)と識別子IDを入力として、ランダムにr∈Z *を選択する。
2.σ=g 1/(x+H(ID)+yr)∈Gを計算する。ただし、(x+H(ID)+yr)はpを法とした剰余演算(x+H(ID)+yr) mod pとして得られる。(x+H(ID)+yr)mod pが0 mod pとなる場合、KGは乱数rを選びなおして新たにσを得る。
3.秘密鍵をSKID=(σ,r)とする。
KG: SK ID ← The structure of KG (MSK, ID) is as follows.
1. With MSK = (x, y) and identifier ID as inputs, rεZ p * is selected at random.
2. σ = g 1 1 / (x + H (ID) + yr) εG 1 is calculated. However, (x + H (ID) + yr) is obtained as a remainder operation (x + H (ID) + yr) mod p modulo p. When (x + H (ID) + yr) mod p is 0 mod p, KG reselects the random number r and newly obtains σ.
3. Let the secret key be SK ID = (σ, r).

・P→V:(A,ST)←Σibi−com(MPK,ID,SKID)の構成は以下の通りである。
1.MPK=(g,g,w,v,H)、ID、およびSKID=(σ,r)を入力とし、ランダムにR∈Gを選択する。
2.X=e(R,w・g H(ID)・v)を計算する。
3.ST=Rとし、コミットメントA=(r,X)とする。コミットメントAをVに送信する。
P → V: (A, ST) ← Σ ibi-com (MPK, ID, SK ID ) is configured as follows.
1. MPK = (g 1 , g 2 , w, v, H), ID, and SK ID = (σ, r) are input, and RεG 1 is selected at random.
2. X = e (R, w · g 2 H (ID) · v r ) is calculated.
3. Let ST = R and commitment A = (r, X). Send commitment A to V.

・V→P:C← Σibi−ch(MPK,ID)の構成は以下の通りである。
1.MPKおよびIDを入力とし、ランダムにチャレンジC∈Zを選択する。
2.CをPに送信する。
The configuration of V → P: C ← Σ ibi-ch (MPK, ID) is as follows.
1. MPK and ID are input, and a challenge CεZ p is selected at random.
2. Send C to P.

・P→V:U←Σibi−res(MPK,ID,SKID,A,C,ST)の構成は以下の通りである。
1.MPK=(g,g,w,v,H),ID,SKID=(σ,r),A,CおよびST=Rを入力とし、S=R・σを計算する。
2.SをレスポンスUとしてVに送信する。
P → V: U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) has the following configuration.
1. MPK = (g 1 , g 2 , w, v, H), ID, SK ID = (σ, r), A, C and ST = R are input, and S = R · σ C is calculated.
2. S is sent to V as a response U.

・V:DEC←Σibi−vrfy(MPK,ID,A,C,U)の構成は以下の通りである。
MPK=(g,g,w,v,H),ID,A,C,Uを入力とし、e(U,w・g H(ID)・v)=X・e(g,gを満たす場合にDEC=acceptを出力し、それ以外の場合にDEC=rejectを出力する。
The configuration of V: DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is as follows.
MPK = (g 1 , g 2 , w, v, H), ID, A, C, U are input, and e (U, w · g 2 H (ID) · v r ) = X · e (g 1 , G 2 ) Output DEC = accept when C is satisfied, and output DEC = reject otherwise.

・Special zero-knowledge:(A’,U’)←Σibi−sim(MPK,ID,C)の構成は以下の通りである。
1.MPK,ID,Cを入力とし、S’∈Gをランダムに選択する。
2.X’=e(S’,w・g H(ID)・v)/e(g,gを計算する。
3.A’=(r,X’)およびU’=Sを出力する。
Special zero-knowledge: The configuration of (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is as follows.
1. MPK, ID, and C are input, and S′εG 1 is selected at random.
2. X ′ = e (S ′, w · g 2 H (ID) · v r ) / e (g 1 , g 2 ) C is calculated.
3. A ′ = (r, X ′) and U ′ = S are output.

・Special soundness:SKID←Σibi−ext(MPK,(A,C,U),(A,C’’,U’’)の構成は以下の通りである。
1.U=R・σおよびU’’=R・σC’’であることから、U/U’’=σC−C’’であり、ゆえにσ=(U/U’’)1/(C−C’’)を得ることができる。
2.A=(r,X)であることから、秘密鍵SKID=(σ,r)を得ることができる。
Special soundness: SK ID ← Σ ibi-ext (MPK, (A, C, U), (A, C ″, U ″)) is configured as follows.
1. Since U = R · σ C and U ″ = R · σ C ″ , U / U ″ = σ C−C ″ , and therefore σ = (U / U ″) 1 / ( CC ″) can be obtained.
2. Since A = (r, X), the secret key SK ID = (σ, r) can be obtained.

Special challenge: この例のC← Σibi−ch(MPK,ID)は、マスタ公開鍵MPKのみに依存し、その出力であるチャレンジCはある可換群G=Zの要素であって,出力の分布はG上の一様分布である。さらに、Gの群演算+は多項式時間で実行できることは明らかである。したがって、Σibi−ch(MPK,ID)をΣ ibi−ch(MPK)とできる。 Special challenge: C ← Σ ibi-ch (MPK, ID) in this example depends only on the master public key MPK, and the challenge C that is the output is an element of a certain commutative group G = Z p and is output Is a uniform distribution on G. Furthermore, it is clear that the group operation + of G can be performed in polynomial time. Therefore, Σ ibi-ch (MPK, ID) can be changed to Σ + ibi-ch (MPK).

[参考文献3のΣ型IBIプロトコル]
参考文献3のΣ型IBIプロトコルを例示する。
・SetUp:(MPK,MSK)←SetUp(1κ)の構成は以下の通りである。
1.(N,E,D)←Krsa(1κ)を素数べきRSA生成アルゴリズムの出力とする。つまり、Nは2つの素数の積であり、(E,D)はE・D≡1(mod λ(N))でE(>2L(κ))を素数とする。ここで、λ(N)はNのカーマイケル関数の値であり、N=p・q(p,qは素数)のとき、λ(N)=LCM(p−1,q−1)を満たす(LCMは最小公倍数)。またL(1κ)は、κを大きくすると |L(1κ)/lg κ|の値が無限大に発散するような関数であるである。
2.ハッシュ関数H:{0,1}→Z *を一つ定め、マスタ公開鍵MPK=(N,E,H)およびマスタ秘密鍵MSK=Dとする。
* type IBI protocol of Reference 3]
The Σ * type IBI protocol of Reference 3 is illustrated.
SetUp: (MPK, MSK) <-SetUp (1 κ ) is configured as follows.
1. Let (N, E, D) ← K rsa (1 κ ) be the output of the prime power RSA generation algorithm. That is, N is a product of two prime numbers, (E, D) is E · D≡1 (mod λ (N)), and E (> 2 L (κ) ) is a prime number. Here, λ (N) is a value of the Carmichael function of N, and when N = p · q (p and q are prime numbers), λ (N) = LCM (p−1, q−1) is satisfied. (LCM is the least common multiple). L (1 κ ) is a function such that the value of | L (1 κ ) / lg κ | diverges to infinity when κ is increased.
2. One hash function H: {0, 1} → Z N * is determined, and the master public key MPK = (N, E, H) and the master secret key MSK = D.

・KG:SKID←KG(MSK,ID)の構成は以下の通りである。
1.MSK=DおよびIDを入力とし、X=H(ID)(mod N)を計算する。
2.x=X(mod N)を計算する。
3.秘密鍵をSKID=xとする。
KG: SK ID ← The structure of KG (MSK, ID) is as follows.
1. MSK = D and ID are input, and X = H (ID) (mod N) is calculated.
2. Calculate x = X D (mod N).
3. The secret key is SK ID = x.

・P→V:(A,ST)←Σibi−com(MPK,ID,SKID)の構成は以下の通りである。
1.MPK=(N,E,H),ID,SKID=xを入力とし、ランダムにy∈Z *を選択する。
2.Y=y mod Nを計算する。
3.ST=yとし、A=Yとし、コミットメントAをVに送信する。
P → V: (A, ST) ← Σ ibi-com (MPK, ID, SK ID ) is configured as follows.
1. MPK = (N, E, H), ID, and SK ID = x are input, and yεZ N * is selected at random.
2. Y = y E mod N is calculated.
3. Set ST = y, set A = Y, and send commitment A to V.

・V→P:C←Σibi−ch(MPK,ID)の構成は以下の通りである。
1.MPK,IDを入力とし、{0,...,2L(κ)−1}からランダムにチャレンジCを選択し、チャレンジCをPに送信する。
The configuration of V → P: C ← Σ ibi-ch (MPK, ID) is as follows.
1. With MPK and ID as inputs, Challenge C is randomly selected from {0,..., 2 L (κ) −1}, and Challenge C is transmitted to P.

・P→V:U←Σibi−res(MPK,ID,SKID,A,C,ST)の構成は以下の通りである。
1.MPK,ID,SKID=x,A,C,ST=yを入力とし、C∈{0,...,2L(κ)−1}であるか判定する。
2.C∈{0,...,2L(κ)−1}でなければ処理を終了し、C∈{0,...,2L(κ)−1}であればレスポンスU=x・y mod Nを計算して、レスポンスUをVに送信する。
P → V: U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) has the following configuration.
1. MPK, ID, SK ID = x, A, C, ST = y are input, and it is determined whether Cε {0,..., 2 L (κ) −1}.
2. If C∈ {0,..., 2 L (κ) −1}, the process ends. If C∈ {0,..., 2 L (κ) −1}, the response U = x · Calculate y C mod N and send response U to V.

・V:DEC←Σibi−vrfy(MPK,ID,A,C,U)の構成は以下の通りである。
1.MPK=(N,E,H),ID,A,C,Uを入力とし、X=H(ID)(mod N)を計算する。
2.U≡X・A mod NかつA,U∈Z *であれば、DEC=acceptを出力し、そうでなければ、DEC=rejectを出力する。
The configuration of V: DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is as follows.
1. MPK = (N, E, H), ID, A, C, U are input, and X = H (ID) (mod N) is calculated.
2. U E ≡X · A C mod N and A, if U∈Z N *, outputs DEC = the accept, otherwise, outputs a DEC = reject.

・Special zero-knowledge:(A’,U’)←Σibi−sim(MPK,ID,C)の構成は以下の通りである。
1.MPK=(N,E,H),ID,Cを入力とし、ユークリッドの互除法によりa・C+b・E=1を満たすa,b∈Zを求める。
2.ランダムにy’∈Z を選択する。
3.X’=H(ID)およびY’=X’−a・y’ mod Nを計算する。
4.U’= X’・y’ mod Nを計算する。
5.(A’,U’)を出力する。
Special zero-knowledge: The configuration of (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is as follows.
1. With MPK = (N, E, H), ID, and C as inputs, a, bεZ satisfying a · C + b · E = 1 are obtained by the Euclidean algorithm.
2. Randomly select y′εZ N * .
3. Calculate X ′ = H (ID) and Y ′ = X′a · y ′ E mod N.
4). Calculate the U '= X' b · y 'C mod N.
5. (A ′, U ′) is output.

・Special soundness:SKID←Σibi−ext(MPK,(A,C,U),(A,C’’,U’’)の構成は以下の通りである。
1.ユークリッド互除法により、a(C−C’’)+b・E=1を満たすa,b∈Zを求める。
2.(U/U’’)=YC−C’’を満たす。ゆえに、Y=Ya(C−C’’)+b・E=((U/U’’)・Yとなるため、y=(U/U’’)・Yを計算できる。U=x・y mod Nからx=U・y−C mod Nであるため、SKID=xを計算することができる。
Special soundness: SK ID ← Σ ibi-ext (MPK, (A, C, U), (A, C ″, U ″)) is configured as follows.
1. A and bεZ satisfying a (C−C ″) + b · E = 1 are obtained by the Euclidean mutual division method.
2. (U / U ″) E = Y C−C ″ is satisfied. Therefore, since Y = Y a (C−C ″) + b · E = ((U / U ″) a · Y b ) E , y = (U / U ″) a · Y b is calculated. it can. Since U = x · y C mod N to x = U · y −C mod N, SK ID = x can be calculated.

Strongly special challenge:C←Σibi−ch(MPK,ID)はセキュリティパラメータ1κのみに依存し、その出力であるチャレンジCは可換群G=Z L(κ)の要素であって、出力の分布はG上の一様分布である。さらに、Gの群演算+は多項式時間で実行できることは明らかである。したがって、Σibi−ch(MPK,ID)をΣ ibi−ch(1κ)とできる。 Strongly special challenge: C ← Σ ibi-ch (MPK, ID) depends only on the security parameter 1 κ , and its output challenge C is an element of the commutative group G = Z 2 L (κ) and is output Is a uniform distribution on G. Furthermore, it is clear that the group operation + of G can be performed in polynomial time. Therefore, Σ ibi-ch (MPK, ID) can be set to Σ * ibi-ch (1 κ ).

<第1実施形態>
第1実施形態を説明する。第1実施形態では、Σ型、またはΣ型のIBIプロトコルIBI=(SetUp,KG,P,V)から、imp−ca安全性を持つIBIプロトコルを構成する。本形態では、検証者が「証明者がsk(id,0)またはsk(id,1)のいずれかを持っていること」を証明する(Dual-Identity Transformation)。
<First Embodiment>
A first embodiment will be described. In the first embodiment, an IBI protocol having imp-ca safety is configured from the Σ + type or Σ * type IBI protocol IBI = (SetUp, KG, P, V). In this embodiment, the verifier proves that “the prover has either sk (id, 0) or sk (id, 1) ” (Dual-Identity Transformation).

図1に例示するように、第1実施形態の認証システム1は、鍵発行局として機能する鍵生成装置11と、証明者として機能する証明装置12と、検証者として機能する検証装置13を有する。鍵生成装置11と証明装置12と検証装置13は、ネットワークを通じて通信可能に構成される。   As illustrated in FIG. 1, the authentication system 1 according to the first embodiment includes a key generation device 11 that functions as a key issuing authority, a certification device 12 that functions as a prover, and a verification device 13 that functions as a verifier. . The key generation device 11, the certification device 12, and the verification device 13 are configured to be able to communicate through a network.

鍵生成装置11は、マスタ鍵生成部111と、鍵生成部112と、制御部116と、記憶部117と、通信部118を有する。証明装置12は、演算部121〜125と、制御部126と、記憶部127と、通信部128(出力部および入力部)を有する。検証装置13は、演算部131,132と、判定部133と、制御部136と、記憶部137と、通信部138(出力部および入力部)を有する。鍵生成装置11、証明装置12、および検証装置13のそれぞれは、例えば、通信機能を備えた公知または専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。   The key generation device 11 includes a master key generation unit 111, a key generation unit 112, a control unit 116, a storage unit 117, and a communication unit 118. The proving device 12 includes calculation units 121 to 125, a control unit 126, a storage unit 127, and a communication unit 128 (output unit and input unit). The verification device 13 includes calculation units 131 and 132, a determination unit 133, a control unit 136, a storage unit 137, and a communication unit 138 (an output unit and an input unit). Each of the key generating device 11, the proving device 12, and the verification device 13 is a special device configured by, for example, reading a special program into a known or dedicated computer having a communication function.

鍵生成装置11、証明装置12、および検証装置13は、それぞれ、制御部116、制御部126、および制御部136の制御のもとで各処理を実行する。鍵生成装置11、証明装置12、および検証装置13への入力情報は、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。鍵生成装置11、証明装置12、および検証装置13で得られた情報も、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。記憶部117、記憶部127、および記憶部137に格納された情報は、必要に応じて読み出され、それぞれの処理に用いられる。   The key generation device 11, the certification device 12, and the verification device 13 execute each process under the control of the control unit 116, the control unit 126, and the control unit 136, respectively. Input information to the key generation device 11, the verification device 12, and the verification device 13 is stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively. Information obtained by the key generation device 11, the certification device 12, and the verification device 13 is also stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively. Information stored in the storage unit 117, the storage unit 127, and the storage unit 137 is read out as necessary and used for each process.

図2および図3を参照して、第1実施形態の認証処理を説明する。
≪SetUp’≫
鍵生成装置11のマスタ鍵生成部111は、記憶部117に格納しておいたセキュリティパラメータ1κを入力とし、(mpk,msk)←SetUp(1κ)を実行して、マスタ公開鍵とマスタ秘密鍵(mpk,msk)を得て出力する。マスタ公開鍵mpkとマスタ秘密鍵mskは記憶部117に格納される(ステップS101)。マスタ公開鍵mpkは通信部118から出力され、ネットワーク経由で証明装置12および検証装置13に送信される。マスタ公開鍵mpkは、それぞれ、証明装置12および検証装置13の通信部128および138に入力され、記憶部127および137に格納される(ステップS102,S103)。マスタ秘密鍵mskは公開されない。
The authentication process of the first embodiment will be described with reference to FIGS. 2 and 3.
≪SetUp'≫
The master key generation unit 111 of the key generation device 11 receives the security parameter 1 κ stored in the storage unit 117 and executes (mpk, msk) ← SetUp (1 κ ) to execute the master public key and the master Obtain and output a secret key (mpk, msk). The master public key mpk and the master secret key msk are stored in the storage unit 117 (step S101). The master public key mpk is output from the communication unit 118 and transmitted to the certification device 12 and the verification device 13 via the network. The master public key mpk is input to the communication units 128 and 138 of the proving device 12 and the verification device 13, respectively, and stored in the storage units 127 and 137 (steps S102 and S103). The master secret key msk is not disclosed.

≪KG’≫
鍵生成装置11の鍵生成部112は、記憶部117に格納しておいたマスタ秘密鍵mskと利用者識別子idを入力とし、0または1のb(id)∈{0,1}を選択する。鍵生成部112は、例えばランダムにb(id)を選択する(ステップS104)。なお、利用者識別子idは公開情報である。さらに鍵生成部112は、ID=M(id,b(id))とし、sk(id,b(id))←KG(msk,M(id,b(id)))によってsk(id,b(id))を生成する。ただし、M(α,β)はαとβに対応する値である。例えば、M(α,β)はαとβに対する関数値であり、衝突耐性のあるものである。M(α,β)の具体例は、αに対応するビット列とb(id)とのビット連結値である(ステップS105)。通信部118は、sk(id,b(id))およびb(id)に対応する秘密鍵sk’(id,b(id))=(sk(id,b(id)),b(id))を出力する。秘密鍵sk’(id,b(id))はネットワーク経由で証明装置12に送信され、証明装置12の通信部128に入力されて、記憶部127に格納される(ステップS107)。
≪KG'≫
The key generation unit 112 of the key generation device 11 receives the master secret key msk and the user identifier id stored in the storage unit 117, and selects b (id) ε {0, 1} of 0 or 1. . The key generation unit 112 selects b (id) at random, for example (step S104). The user identifier id is public information. Further key generation unit 112, ID = M and (id, b (id)) , sk (id, b (id)) ← KG (msk, M (id, b (id))) by sk (id, b (Id)) . However, M (α, β) is a value corresponding to α and β. For example, M (α, β) is a function value for α and β, and has collision resistance. A specific example of M (α, β) is a bit concatenation value of a bit string corresponding to α and b (id) (step S105). Communication unit 118, sk (id, b (id )) and b secret key sk corresponding to (id) '(id, b (id)) = (sk (id, b (id)), b (id) ) Is output. The secret key sk ′ (id, b (id)) is transmitted to the certification device 12 via the network, is input to the communication unit 128 of the certification device 12, and is stored in the storage unit 127 (step S107).

≪P’→V’≫
証明装置12の演算部121には、記憶部127に格納しておいたマスタ公開鍵mpkと利用者識別子idと秘密鍵sk’(id,b(id))が入力される。演算部121は、秘密鍵sk’(id,b(id))をパースし、sk(id,b(id))とb(id)を得て記憶部127に格納する(ステップS107)。演算部121は、マスタ公開鍵mpkと利用者識別子idとsk(id,b(id))とb(id)を用い、(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得て、記憶部127に格納する(ステップS108)。演算部122は、b(id)を入力としてrb(id)=1−b(id)∈{0,1}を得(ステップS109)、マスタ公開鍵mpkを入力としてcrb(id)←Σ+ ibi−ch(mpk)によってcrb(id)を得る(ステップS110)。rb(id)およびcrb(id)は記憶部127に格納される。演算部123は、マスタ公開鍵mpkと利用者識別子idとrb(id)とcrb(id)を入力とし、(arb(id),urb(id))←Σibi−sim(mpk,M(id,rb(id)),crb(id))によってarb(id)とurb(id)を得て、記憶部127に格納する(ステップS111)。通信部128は、aとaをコミットメント(a,a)として出力する。コミットメント(a,a)は、ネットワーク経由で検証装置13に送信される。コミットメント(a,a)は検証装置13の通信部138に入力され、記憶部137に格納される(ステップS112)。
≪P '→ V'≫
The master public key mpk, the user identifier id, and the secret key sk ′ (id, b (id)) stored in the storage unit 127 are input to the calculation unit 121 of the certification device 12. The computing unit 121 parses the secret key sk ′ (id, b (id) ), obtains sk (id, b (id)) and b (id), and stores them in the storage unit 127 (step S107). The calculation unit 121 uses the master public key mpk, the user identifier id, sk (id, b (id)), and b (id), and uses (a b (id) , st) ← Σ ibi-com (mpk, M (Id, b (id)), sk (id, b (id)) ) ab (id) and st are obtained and stored in the storage unit 127 (step S108). The calculation unit 122 receives b (id) as input and obtains rb (id) = 1−b (id) ε {0, 1} (step S109), and receives the master public key mpk as input, and crb (id) ← Σ c rb (id) is obtained by + ibi-ch (mpk) (step S110). rb (id) and crb (id) are stored in the storage unit 127. The calculation unit 123 receives the master public key mpk, the user identifier id, rb (id), and crb (id), and inputs (arb (id) , urb (id) ) ← Σ ibi-sim (mpk, A rb (id) and urb (id) are obtained from M (id, rb (id)), crb (id) ) and stored in the storage unit 127 (step S111). The communication unit 128 outputs a 0 and a 1 as commitment (a 0 , a 1 ). The commitment (a 0 , a 1 ) is transmitted to the verification device 13 via the network. The commitment (a 0 , a 1 ) is input to the communication unit 138 of the verification device 13 and stored in the storage unit 137 (step S112).

≪V’→P’≫
検証装置13の演算部131が、記憶部137に格納しておいたマスタ公開鍵mpkと利用者識別子idのうちマスタ公開鍵mpkを入力とし、c←Σ+ ibi−ch(mpk)によってチャレンジcを得て、記憶部137に格納する(ステップS113)。通信部138はチャレンジcを出力する。チャレンジcは、ネットワーク経由で証明装置12に送信される。チャレンジcは証明装置12の通信部128に入力され、記憶部127に格納される(ステップS114)。
≪V '→ P'≫
The arithmetic unit 131 of the verification device 13 receives the master public key mpk stored in the storage unit 137 and the master public key mpk among the user identifiers id, and challenges c by c ← Σ + ibi-ch (mpk). Is obtained and stored in the storage unit 137 (step S113). The communication unit 138 outputs a challenge c. The challenge c is transmitted to the certification device 12 via the network. The challenge c is input to the communication unit 128 of the certification device 12 and stored in the storage unit 127 (step S114).

≪P’→V’≫
証明装置12の演算部124が、チャレンジcを入力とし、cb(id)=c−crb(id)を得て、記憶部127に格納する(ステップS115)。さらに演算部125が、記憶部127に格納しておいた、マスタ公開鍵mpkと利用者識別子idとb(id)とsk(id,b(id))とab(id)とcb(id)と内部状態情報stを入力とし、ub(id)←Σibi−res(mpk,M(id,b(id)),sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得て記憶部127に格納する(ステップS116)。通信部128は、cとuとuをレスポンス(c,u,u)として出力する。レスポンス(c,u,u)は、ネットワーク経由で検証装置13に送信される。レスポンス(c,u,u)は検証装置13の通信部138に入力され、記憶部137に格納される(ステップS117)。
≪P '→ V'≫
The calculation unit 124 of the proving device 12 receives the challenge c, obtains c b (id) = c−c rb (id) , and stores it in the storage unit 127 (step S115). Further calculation unit 125, had been stored in the storage unit 127, a master public key mpk and user identifier id and b (id) and sk (id, b (id) ) and a b (id) and c b ( id) and internal state information st are input, and u b (id) ← Σ ibi-res (mpk, M (id, b (id)), sk (id, b (id)) , a b (id) , ub (id) is obtained by cb (id) , st) and stored in the storage unit 127 (step S116). The communication unit 128 outputs c 0 and u 0 and u 1 as a response (c 0, u 0, u 1). The response (c 0 , u 0 , u 1 ) is transmitted to the verification device 13 via the network. The response (c 0 , u 0 , u 1 ) is input to the communication unit 138 of the verification device 13 and stored in the storage unit 137 (step S117).

≪V’≫
検証装置13の演算部132は、記憶部137に格納しておいたcおよびcを入力とし、c=c−cを得て記憶部137に格納する(ステップS118)。判定部133は、マスタ公開鍵mpkと利用者識別子idとaとcとuとaとcとuを入力とし、dec←Σibi−vrfy(mpk,M(id,0),a,c,u)によって検証結果decを得、dec’←Σibi−vrfy(mpk,M(id,1),a,c,u)によって検証結果dec’を得る(ステップS119)。判定部133は、検証結果decおよびdecがともにaccept(受理)となるかを判定する(ステップS120)。判定部133は、検証結果decおよびdec’がともにacceptであった場合にacceptを出力し(ステップS121)、そうでない場合にrejectを出力する(ステップS122)。
≪V'≫
The calculation unit 132 of the verification device 13 receives c and c 0 stored in the storage unit 137, obtains c 1 = c−c 0 , and stores it in the storage unit 137 (step S118). The determination unit 133 receives the master public key mpk, the user identifier id, a 0 , c 0 , u 0 , a 1 , c 1, and u 1 and inputs dec ← Σ ibi-vrfy (mpk, M (id, 0 ), A 0 , c 0 , u 0 ) to obtain the verification result dec, and dec ′ ← Σ ibi-vrfy (mpk, M (id, 1), a 1 , c 1 , u 1 ) to obtain the verification result dec ′. Obtain (step S119). The determination unit 133 determines whether both of the verification results dec and dec are accept (acceptance) (step S120). The determination unit 133 outputs accept if the verification results dec and dec ′ are both accept (step S121), and outputs reject if not (step S122).

<第2実施形態>
第2実施形態を説明する。第2実施形態でも、Σ型、またはΣ型のIBIプロトコルIBI=(SetUp,KG,P,V)から、imp−ca安全性を持つIBIプロトコルを構成し、検証者が「証明者がsk(id,0)またはsk(id,1)のいずれかを持っていること」を証明する(Dual-Identity Transformation)。以下では、第1実施形態との相違点を中心に説明を行い、第1実施形態と共通する事項については同じ参照符号を用いて説明を省略する。
Second Embodiment
A second embodiment will be described. Also in the second embodiment, the IBI protocol having imp-ca security is configured from the IBI protocol IBI = (SetUp, KG, P, V) of the Σ + type or the Σ * type, It proves that it has either sk (id, 0) or sk (id, 1) (Dual-Identity Transformation). Below, it demonstrates centering around difference with 1st Embodiment, and abbreviate | omits description about the matter which is common in 1st Embodiment using the same referential mark.

図1に例示するように、第2実施形態の認証システム2は、鍵発行局として機能する鍵生成装置21と、証明者として機能する証明装置22と、検証者として機能する検証装置13を有する。鍵生成装置21と証明装置22と検証装置13は、ネットワークを通じて通信可能に構成される。   As illustrated in FIG. 1, the authentication system 2 according to the second embodiment includes a key generation device 21 that functions as a key issuing authority, a certification device 22 that functions as a prover, and a verification device 13 that functions as a verifier. . The key generation device 21, the certification device 22, and the verification device 13 are configured to be communicable through a network.

鍵生成装置21は、マスタ鍵生成部111と、鍵生成部212と、制御部116と、記憶部117と、通信部118を有する。証明装置22は、演算部221,122〜125と、制御部126と、記憶部127と、通信部128(出力部および入力部)を有する。鍵生成装置21、および証明装置22のそれぞれは、例えば、通信機能を備えた公知または専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。   The key generation device 21 includes a master key generation unit 111, a key generation unit 212, a control unit 116, a storage unit 117, and a communication unit 118. The proving device 22 includes calculation units 221, 122 to 125, a control unit 126, a storage unit 127, and a communication unit 128 (output unit and input unit). Each of the key generation device 21 and the certification device 22 is a special device configured by, for example, reading a special program into a known or dedicated computer having a communication function.

鍵生成装置21および証明装置22は、それぞれ、制御部116および制御部126の制御のもとで各処理を実行する。鍵生成装置21および証明装置22への入力情報は、それぞれ、記憶部117および記憶部127に格納される。鍵生成装置21および証明装置22で得られた情報も、それぞれ、記憶部117および記憶部127に格納される。   The key generation device 21 and the certification device 22 execute each process under the control of the control unit 116 and the control unit 126, respectively. Information input to the key generation device 21 and the certification device 22 is stored in the storage unit 117 and the storage unit 127, respectively. Information obtained by the key generation device 21 and the certification device 22 is also stored in the storage unit 117 and the storage unit 127, respectively.

図3および図4を参照して、第2実施形態の認証処理を説明する。
≪SetUp’≫
第1実施形態と同じであり、鍵生成装置21が前述のステップS101〜S103と同じ処理を実行する
With reference to FIG. 3 and FIG. 4, the authentication process of 2nd Embodiment is demonstrated.
≪SetUp'≫
It is the same as in the first embodiment, and the key generation device 21 executes the same processing as that in steps S101 to S103 described above.

≪KG’≫
鍵生成装置21の鍵生成部212は、記憶部117に格納しておいたマスタ秘密鍵mskと利用者識別子idを入力とし、b(id)=0およびb(id)=1のそれぞれについて、sk(id,b(id))←KG(msk,M(id,b(id)))によってsk(id,0)およびsk(id,1)を生成する(ステップS205)。通信部118が、秘密鍵sk’id=(sk(id,0),sk(id,1))を出力する。秘密鍵sk’idはネットワーク経由で証明装置22に送信され、証明装置22の通信部128に入力されて、記憶部127に格納される(ステップS206)。
≪KG'≫
The key generation unit 212 of the key generation device 21 receives the master secret key msk and the user identifier id stored in the storage unit 117, and for each of b (id) = 0 and b (id) = 1, Sk (id, 0) and sk (id, 1) are generated by sk (id, b (id)) ← KG (msk, M (id, b (id))) (step S205). The communication unit 118 outputs the secret key sk ′ id = (sk (id, 0) , sk (id, 1) ). The secret key sk ′ id is transmitted to the certification device 22 via the network, is input to the communication unit 128 of the certification device 22, and is stored in the storage unit 127 (step S206).

≪P’→V’≫
証明装置22の演算部221には、記憶部127に格納しておいたマスタ公開鍵mpkと利用者識別子idと秘密鍵sk’idが入力される。演算部221は、秘密鍵sk’idをパースし、sk(id,0)とsk(id,1)を得て記憶部127に格納する(ステップS207)。演算部221は、0または1のb(id)∈{0,1}を選択する。演算部221は、例えばランダムにb(id)を選択する(ステップS208)。演算部221は、マスタ公開鍵mpkと利用者識別子idと選択されたb(id)∈{0,1}とそれに対応するsk(id,b(id))を入力とし、(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得て、記憶部127に格納する(ステップS209)。その後、演算部221が、第1実施形態で説明したステップS109〜S112と同じ処理を実行する。ただし、b(id)はステップS208で選択されたb(id)である。
≪P '→ V'≫
The master public key mpk, the user identifier id, and the secret key sk ′ id stored in the storage unit 127 are input to the calculation unit 221 of the certification device 22. The calculation unit 221 parses the secret key sk ′ id , obtains sk (id, 0) and sk (id, 1) , and stores them in the storage unit 127 (step S207). The computing unit 221 selects 0 or 1 b (id) ε {0, 1}. The computing unit 221 selects b (id) at random, for example (step S208). The calculation unit 221 receives the master public key mpk, the user identifier id, the selected b (id) ε {0, 1} and the corresponding sk (id, b (id)), and inputs (a b (id ) , St) ← Σ ibi-com (mpk, M (id, b (id)), sk (id, b (id)) )) ab (id) and st are obtained and stored in the storage unit 127. (Step S209). Thereafter, the calculation unit 221 executes the same processing as steps S109 to S112 described in the first embodiment. However, b (id) is b (id) selected in step S208.

≪V’→P’≫
第1実施形態と同じであり、検証装置13が、証明装置12に代えて証明装置22に対し、前述のステップS111〜S113と同じ処理を実行する。
≪V '→ P'≫
As in the first embodiment, the verification device 13 executes the same processing as steps S111 to S113 described above on the certification device 22 instead of the certification device 12.

≪P’→V’≫
第1実施形態と同じであり、証明装置22が前述のステップS115〜S117と同じ処理を実行する。ただし、b(id)はステップS208で選択されたb(id)である。
≪P '→ V'≫
This is the same as in the first embodiment, and the proving device 22 executes the same processing as in steps S115 to S117 described above. However, b (id) is b (id) selected in step S208.

≪V’≫
第1実施形態と同じであり、検証装置13が前述のステップS118〜S122と同じ処理を実行する。
≪V'≫
This is the same as in the first embodiment, and the verification device 13 executes the same processing as in steps S118 to S122 described above.

<第3実施形態>
第3実施形態を説明する。第3実施形態では、Σ型、またはΣ型のIBIプロトコルIBI=(SetUp,KG,P,V)から、imp−ca安全性を持つIBIプロトコルを構成し、検証者が「証明者がskidまたはskidmasterのいずれかを持っていること」を証明する(Master-Identity Transformation)。以下では、第1実施形態との相違点を中心に説明を行い、第1実施形態と共通する事項については同じ参照符号を用いて説明を省略する。
<Third Embodiment>
A third embodiment will be described. In the third embodiment, the IBI protocol having imp-ca security is configured from the Σ + type or Σ * type IBI protocol IBI = (SetUp, KG, P, V), Prove that you have either sk id or sk idmaster (Master-Identity Transformation). Below, it demonstrates centering around difference with 1st Embodiment, and abbreviate | omits description about the matter which is common in 1st Embodiment using the same referential mark.

図1に例示するように、第3実施形態の認証システム2は、鍵発行局として機能する鍵生成装置31と、証明者として機能する証明装置32と、検証者として機能する検証装置33を有する。鍵生成装置31と証明装置32と検証装置33は、ネットワークを通じて通信可能に構成される。   As illustrated in FIG. 1, the authentication system 2 according to the third embodiment includes a key generation device 31 that functions as a key issuing authority, a proof device 32 that functions as a prover, and a verification device 33 that functions as a verifier. . The key generation device 31, the certification device 32, and the verification device 33 are configured to be able to communicate through a network.

鍵生成装置31は、マスタ鍵生成部311と、鍵生成部312と、制御部116と、記憶部117と、通信部118を有する。証明装置32は、演算部321〜325と、制御部126と、記憶部127と、通信部128(出力部および入力部)を有する。検証装置33は、演算部331および332と、判定部133と、制御部136と、記憶部137と、通信部138(出力部および入力部)を有する。鍵生成装置31、証明装置32、および検証装置33のそれぞれは、例えば、通信機能を備えた公知または専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。   The key generation device 31 includes a master key generation unit 311, a key generation unit 312, a control unit 116, a storage unit 117, and a communication unit 118. The proving device 32 includes calculation units 321 to 325, a control unit 126, a storage unit 127, and a communication unit 128 (output unit and input unit). The verification device 33 includes arithmetic units 331 and 332, a determination unit 133, a control unit 136, a storage unit 137, and a communication unit 138 (output unit and input unit). Each of the key generating device 31, the proving device 32, and the verification device 33 is a special device configured by, for example, reading a special program into a known or dedicated computer having a communication function.

鍵生成装置31、証明装置32、および検証装置33は、それぞれ、制御部116、制御部126、および制御部136の制御のもとで各処理を実行する。鍵生成装置31、証明装置32、および検証装置33への入力情報は、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。鍵生成装置31、証明装置32、および検証装置33への入力情報で得られた情報も、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。   The key generation device 31, the verification device 32, and the verification device 33 execute each process under the control of the control unit 116, the control unit 126, and the control unit 136, respectively. Information input to the key generation device 31, the verification device 32, and the verification device 33 is stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively. Information obtained as input information to the key generation device 31, the verification device 32, and the verification device 33 is also stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively.

図5および図6を参照して、第3実施形態の認証処理を説明する。
≪SetUp’≫
鍵生成装置31のマスタ鍵生成部311は、記憶部117に格納しておいたセキュリティパラメータ1κを入力とし、(mpk,msk)←SetUp(1κ)を実行して、マスタ公開鍵とマスタ秘密鍵(mpk,msk)を得て出力する。マスタ公開鍵mpkとマスタ秘密鍵mskは記憶部117に格納される(ステップS101)。マスタ鍵生成部311はマスタ識別子idmasterを選択して記憶部117に格納する。マスタ識別子idmasterは、例えばランダムに選択される(ステップS300)。マスタ鍵生成部311は公開鍵mpk’=(mpk,idmaster)とし、通信部118は公開鍵mpk’を出力する(ステップS301)。公開鍵mpk’は、ネットワーク経由で証明装置32および検証装置33に送信される。公開鍵mpk’は、それぞれ、証明装置32および検証装置33の通信部128および138に入力され、記憶部127および137に格納される(ステップS302,S303)。マスタ秘密鍵mskは公開されない。
With reference to FIG. 5 and FIG. 6, the authentication processing of the third embodiment will be described.
≪SetUp'≫
The master key generation unit 311 of the key generation device 31 receives the security parameter 1 κ stored in the storage unit 117 as an input, executes (mpk, msk) ← SetUp (1 κ ), and executes the master public key and the master Obtain and output a secret key (mpk, msk). The master public key mpk and the master secret key msk are stored in the storage unit 117 (step S101). The master key generation unit 311 selects the master identifier id master and stores it in the storage unit 117. The master identifier id master is selected at random, for example (step S300). The master key generation unit 311 sets the public key mpk ′ = (mpk, id master ), and the communication unit 118 outputs the public key mpk ′ (step S301). The public key mpk ′ is transmitted to the certification device 32 and the verification device 33 via the network. The public key mpk ′ is input to the communication units 128 and 138 of the proving device 32 and the verification device 33, respectively, and stored in the storage units 127 and 137 (steps S302 and S303). The master secret key msk is not disclosed.

≪KG’≫
鍵生成装置31の鍵生成部312は、記憶部117に格納しておいた利用者識別子idとマスタ識別子idmasterとが等しいかを判定する(ステップS304)。id=idmasterであれば、鍵生成部312は、⊥(エラー)を出力して(ステップS305)、認証処理を終える。id≠idmasterであれば、鍵生成部312は、記憶部117に格納しておいたマスタ秘密鍵mskと利用者識別子idを入力とし、skid←KG(msk,id)によって秘密鍵skidを生成する。通信部118は、秘密鍵skidを出力する。秘密鍵skidはネットワーク経由で証明装置32に送信され、証明装置32の通信部128に入力されて、記憶部127に格納される(ステップS306)。
≪KG'≫
The key generation unit 312 of the key generation device 31 determines whether the user identifier id stored in the storage unit 117 is equal to the master identifier id master (step S304). If id = id master , the key generation unit 312 outputs ⊥ (error) (step S305) and ends the authentication process. If id ≠ id master , the key generation unit 312 receives the master secret key msk and the user identifier id stored in the storage unit 117 and inputs the secret key sk id by sk id ← KG (msk, id). Is generated. The communication unit 118 outputs the secret key sk id . The secret key sk id is transmitted to the certification device 32 via the network, is input to the communication unit 128 of the certification device 32, and is stored in the storage unit 127 (step S306).

≪P’→V’≫
証明装置32の演算部321には、記憶部127に格納しておいた公開鍵mpk’と利用者識別子idと秘密鍵skidが入力される。演算部321は、公開鍵mpk’をパースし、マスタ公開鍵mpkとマスタ識別子idmasterを得て記憶部127に格納する(ステップS307)。演算部321は、マスタ公開鍵mpkと利用者識別子idと秘密鍵skidを用い、(a,st)←Σibi−com(mpk,id,skid)によってaとstを得て、記憶部127に格納する(ステップS308)。演算部322は、マスタ公開鍵mpkを入力としてc←Σ+ ibi−ch(mpk)によってcを得て、記憶部127に格納する(ステップS310)。演算部323は、マスタ公開鍵mpkとマスタ識別子idmasterとcを入力とし、(a,u)←Σibi−sim(mpk,idmaster,c)によってaとuを得て、記憶部127に格納する(ステップS311)。通信部128は、aとaをコミットメント(a,a)として出力する。コミットメント(a,a)は、ネットワーク経由で検証装置33に送信される。コミットメント(a,a)は検証装置33の通信部138に入力され、記憶部137に格納される(ステップS112)。
≪P '→ V'≫
The public key mpk ′, the user identifier id, and the secret key sk id stored in the storage unit 127 are input to the calculation unit 321 of the proving device 32. The computing unit 321 parses the public key mpk ′, obtains the master public key mpk and the master identifier id master , and stores them in the storage unit 127 (step S307). The calculation unit 321 uses the master public key mpk, the user identifier id, and the secret key sk id , obtains a 0 and st by (a 0 , st) ← Σ ibi-com (mpk, id, sk id ), The data is stored in the storage unit 127 (step S308). Calculation unit 322 obtains the c 1 a master public key mpk as input by c 1 ← Σ + ibi-ch (mpk), and stores it in the storage unit 127 (step S310). Calculation unit 323, a master public key mpk and the master identifier id master and c 1 as input, give a 1 and u 1 by (a 1, u 1) ← Σ ibi-sim (mpk, id master, c 1) And stored in the storage unit 127 (step S311). The communication unit 128 outputs a 0 and a 1 as commitment (a 0 , a 1 ). The commitment (a 0 , a 1 ) is transmitted to the verification device 33 via the network. The commitment (a 0 , a 1 ) is input to the communication unit 138 of the verification device 33 and stored in the storage unit 137 (step S112).

≪V’→P’≫
検証装置33の演算部331には、記憶部137に格納しておいた公開鍵mpk’と利用者識別子idとが入力される。演算部331は、公開鍵mpk’をパースし、マスタ公開鍵mpkとマスタ識別子idmasterを得て記憶部137に格納する(ステップS313)。演算部331は、マスタ公開鍵mpkを入力とし、c←Σ+ ibi−ch(mpk)によってチャレンジcを得て、記憶部137に格納する(ステップS113)。通信部138はチャレンジcを出力する。チャレンジcは、ネットワーク経由で証明装置32に送信される。チャレンジcは証明装置32の通信部128に入力され、記憶部127に格納される(ステップS114)。
≪V '→ P'≫
The public key mpk ′ and the user identifier id stored in the storage unit 137 are input to the calculation unit 331 of the verification device 33. The computing unit 331 parses the public key mpk ′, obtains the master public key mpk and the master identifier id master , and stores them in the storage unit 137 (step S313). The computing unit 331 receives the master public key mpk, obtains a challenge c by c ← Σ + ibi-ch (mpk), and stores it in the storage unit 137 (step S113). The communication unit 138 outputs a challenge c. The challenge c is transmitted to the certification device 32 via the network. The challenge c is input to the communication unit 128 of the proving device 32 and stored in the storage unit 127 (step S114).

≪P’→V’≫
証明装置32の演算部324が、チャレンジcを入力とし、c=c−cを得て、記憶部127に格納する(ステップS315)。さらに演算部325が、記憶部127に格納しておいた、マスタ公開鍵mpkと利用者識別子idと秘密鍵skidとaとcとstを入力とし、u←Σibi−res(mpk,id,skid,a,c,st)によってuを得て記憶部127に格納する(ステップS316)。通信部128は、cとuとuをレスポンス(c,u,u)として出力する。レスポンス(c,u,u)は、ネットワーク経由で検証装置33に送信される。レスポンス(c,u,u)は検証装置33の通信部138に入力され、記憶部137に格納される(ステップS117)。
≪P '→ V'≫
The computing unit 324 of the proving device 32 receives the challenge c, obtains c 0 = c−c 1 and stores it in the storage unit 127 (step S315). Further, the calculation unit 325 receives the master public key mpk, the user identifier id, the secret key sk id , a 0 , c 0 and st stored in the storage unit 127, and u 0 ← Σ ibi-res ( u 0 is obtained by mpk, id, sk id , a 0 , c 0 , st) and stored in the storage unit 127 (step S316). The communication unit 128 outputs c 0 and u 0 and u 1 as a response (c 0, u 0, u 1). The response (c 0 , u 0 , u 1 ) is transmitted to the verification device 33 via the network. The response (c 0 , u 0 , u 1 ) is input to the communication unit 138 of the verification device 33 and stored in the storage unit 137 (step S117).

≪V’≫
第1実施形態と同じであり、検証装置13に代えて検証装置33が前述のステップS118〜S122と同じ処理を実行する。
≪V'≫
This is the same as in the first embodiment, and instead of the verification device 13, the verification device 33 executes the same processing as steps S <b> 118 to S <b> 122 described above.

<第4実施形態>
第4実施形態を説明する。第4実施形態では、Σ型のIBIプロトコルIBI=(SetUp,KG,P,V)から、imp−ca安全性を持つIBIプロトコルを構成し、検証者が「証明者がsk(id,0)またはsk(id,1)のいずれかを持っていること」を証明する(Double-Parameter Transformation)。以下では、第1実施形態との相違点を中心に説明を行い、第1実施形態と共通する事項については同じ参照符号を用いて説明を省略する。
<Fourth embodiment>
A fourth embodiment will be described. In the fourth embodiment, an IBI protocol having imp-ca security is configured from the Σ * -type IBI protocol IBI = (SetUp, KG, P, V), and the verifier is “provider is sk (id, 0, ) Or sk (id, 1) ”(Double-Parameter Transformation). Below, it demonstrates centering around difference with 1st Embodiment, and abbreviate | omits description about the matter which is common in 1st Embodiment using the same referential mark.

図1に例示するように、第4実施形態の認証システム2は、鍵発行局として機能する鍵生成装置41と、証明者として機能する証明装置42と、検証者として機能する検証装置43を有する。鍵生成装置41と証明装置42と検証装置43は、ネットワークを通じて通信可能に構成される。   As illustrated in FIG. 1, the authentication system 2 of the fourth embodiment includes a key generation device 41 that functions as a key issuing authority, a proof device 42 that functions as a prover, and a verification device 43 that functions as a verifier. . The key generation device 41, the certification device 42, and the verification device 43 are configured to be communicable through a network.

鍵生成装置41は、マスタ鍵生成部411と、鍵生成部412と、制御部116と、記憶部117と、通信部118を有する。証明装置42は、演算部124,421〜423,425と、制御部126と、記憶部127と、通信部128(出力部および入力部)を有する。検証装置43は、演算部431および432と、判定部433と、制御部136と、記憶部137と、通信部138(出力部および入力部)を有する。鍵生成装置41、証明装置42、および検証装置43のそれぞれは、例えば、通信機能を備えた公知または専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。   The key generation device 41 includes a master key generation unit 411, a key generation unit 412, a control unit 116, a storage unit 117, and a communication unit 118. The proving device 42 includes calculation units 124, 421 to 423, 425, a control unit 126, a storage unit 127, and a communication unit 128 (output unit and input unit). The verification device 43 includes calculation units 431 and 432, a determination unit 433, a control unit 136, a storage unit 137, and a communication unit 138 (output unit and input unit). Each of the key generation device 41, the certification device 42, and the verification device 43 is a special device configured by, for example, reading a special program into a known or dedicated computer having a communication function.

鍵生成装置41、証明装置42、および検証装置43は、それぞれ、制御部116、制御部126、および制御部136の制御のもとで各処理を実行する。鍵生成装置41、証明装置42、および検証装置43への入力情報は、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。鍵生成装置41、証明装置42、および検証装置43への入力情報で得られた情報も、それぞれ、記憶部117、記憶部127、および記憶部137に格納される。   The key generation device 41, the proof device 42, and the verification device 43 execute each process under the control of the control unit 116, the control unit 126, and the control unit 136, respectively. Information input to the key generation device 41, the proof device 42, and the verification device 43 is stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively. Information obtained as input information to the key generation device 41, the proof device 42, and the verification device 43 is also stored in the storage unit 117, the storage unit 127, and the storage unit 137, respectively.

図7および図8を参照して、第4実施形態の認証処理を説明する。
≪SetUp’≫
鍵生成装置41のマスタ鍵生成部411は、記憶部117に格納しておいたセキュリティパラメータ1κを入力とし、(mpk,msk)←SetUp(1κ)および(mpk,msk)←SetUp(1κ)を実行して、(mpk,msk)および(mpk,msk)を得て出力する。(mpk,msk)および(mpk,msk)は記憶部117に格納される。mskおよびmskは例えばランダムに生成され、mpkおよびmpkはmskおよびmskに対応するため、通常、(mpk,msk)と(mpk,msk)は一致しない(ステップS400)。マスタ鍵生成部411は、マスタ公開鍵をmpk’=(1κ,mpk,mpk)とし、マスタ秘密鍵をmsk’=(msk,msk)とし、これらを記憶部117に格納する。マスタ公開鍵mpk’は通信部118から出力され、ネットワーク経由で証明装置42および検証装置43に送信される(ステップS401)。マスタ公開鍵mpk’は、それぞれ、証明装置42および検証装置43の通信部128および138に入力され、記憶部427および437に格納される(ステップS402,S403)。マスタ秘密鍵msk’は公開されない。
The authentication process of the fourth embodiment will be described with reference to FIGS.
≪SetUp'≫
The master key generation unit 411 of the key generation device 41 receives the security parameter 1 κ stored in the storage unit 117 as input, and (mpk 0 , msk 0 ) ← SetUp (1 κ ) and (mpk 1 , msk 1 ). ← SetUp (1 κ ) is executed to obtain and output (mpk 0 , msk 0 ) and (mpk 1 , msk 1 ). (Mpk 0 , msk 0 ) and (mpk 1 , msk 1 ) are stored in the storage unit 117. Since msk 0 and msk 1 are generated randomly, for example, and mpk 0 and mpk 1 correspond to msk 0 and msk 1 , (mpk 0 , msk 0 ) and (mpk 1 , msk 1 ) usually do not match (step S400). The master key generation unit 411 sets the master public key as mpk ′ = (1 κ , mpk 0 , mpk 1 ), sets the master secret key as msk ′ = (msk 0 , msk 1 ), and stores these in the storage unit 117. . The master public key mpk ′ is output from the communication unit 118 and transmitted to the certification device 42 and the verification device 43 via the network (step S401). The master public key mpk ′ is input to the communication units 128 and 138 of the proving device 42 and the verification device 43, respectively, and stored in the storage units 427 and 437 (steps S402 and S403). The master secret key msk ′ is not disclosed.

≪KG’≫
鍵生成装置41の鍵生成部412は、記憶部117に格納しておいたマスタ秘密鍵をmsk’と利用者識別子idを入力とし、マスタ秘密鍵msk’をパースして、mskとmskを得る。鍵生成部412は、0または1のb(id)∈{0,1}を例えばランダムに選択し、sk(id,b(id))←KG(mskb(id),id)によってsk(id,b(id))を生成する(ステップS405)。通信部118は、sk(id,b(id))およびb(id)に対応する秘密鍵sk’(id,b(id))=(sk(id,b(id)),b(id))を出力する。秘密鍵sk’(id,b(id))はネットワーク経由で証明装置42に送信され、証明装置42の通信部128に入力されて、記憶部127に格納される(ステップS406)。
≪KG'≫
The key generation unit 412 of the key generation device 41 receives the master secret key stored in the storage unit 117 as msk ′ and the user identifier id, parses the master secret key msk ′, and generates msk 0 and msk 1. Get. The key generation unit 412, 0 or 1 b (id) Select ∈ {0, 1} for example randomly, sk by (id, b (id)) ← KG (msk b (id), id) sk ( id, b (id)) is generated (step S405). Communication unit 118, sk (id, b (id )) and b secret key sk corresponding to (id) '(id, b (id)) = (sk (id, b (id)), b (id) ) Is output. The secret key sk ′ (id, b (id)) is transmitted to the certification device 42 via the network, is input to the communication unit 128 of the certification device 42, and is stored in the storage unit 127 (step S406).

≪P’→V’≫
証明装置42の演算部421には、記憶部127に格納しておいたマスタ公開鍵mpk’と利用者識別子idと秘密鍵sk’(id,b(id))が入力される。演算部421は、マスタ公開鍵mpk’をパースして1κとmpkとmpkを得、秘密鍵sk’(id,b(id))をパースしてsk(id,b(id))とb(id)を得て、これらを記憶部127に格納する(ステップS407)。演算部421は、mpkb(id)とidとsk(id,b(id))とb(id)を用い、(ab(id),st)←Σibi−com(mpkb(id),id,sk(id,b(id)))によってab(id)とstを得て、記憶部127に格納する(ステップS408)。演算部422は、b(id)を入力としてrb(id)=1−b(id)∈{0,1}を得(ステップS109)、セキュリティパラメータ1κを入力としてcrb(id)←Σ* ibi−ch(1κ)によってcrb(id)を得る(ステップS410)。rb(id)およびcrb(id)は記憶部127に格納される。演算部123は、mpkrb(id)とidとrb(id)とcrb(id)を入力とし、(arb(id),urb(id))←Σibi−sim(mpkrb(id),id,crb(id))によってarb(id)とurb(id)を得て、記憶部127に格納する(ステップS411)。通信部128は、aとaをコミットメント(a,a)として出力する。コミットメント(a,a)は、ネットワーク経由で検証装置43に送信される。コミットメント(a,a)は検証装置43の通信部138に入力され、記憶部137に格納される(ステップS112)。
≪P '→ V'≫
The master public key mpk ′, the user identifier id, and the secret key sk ′ (id, b (id)) stored in the storage unit 127 are input to the calculation unit 421 of the proving device 42. The calculation unit 421 parses the master public key mpk ′ to obtain 1 κ , mpk 0, and mpk 1 , and parses the secret key sk ′ (id, b (id)) to obtain sk (id, b (id)). And b (id) are obtained and stored in the storage unit 127 (step S407). The computing unit 421 uses mpk b (id) , id, sk (id, b (id)), and b (id), and (a b (id) , st) ← Σ ibi-com (mpk b (id) , Id, sk (id, b (id)) ), a b (id) and st are obtained and stored in the storage unit 127 (step S408). The calculation unit 422 obtains rb (id) = 1−b (id) ∈ {0, 1} by using b (id) as an input (step S109), and receives the security parameter 1 κ as crb (id) ← Σ * crb (id) is obtained by ibi-ch (1 κ ) (step S410). rb (id) and crb (id) are stored in the storage unit 127. Calculating section 123 receives as input mpk rb (id) and id and rb (id) and c rb (id), (a rb (id), u rb (id)) ← Σ ibi-sim (mpk rb (id ) , Id, crb (id) ), arb (id) and urb (id) are obtained and stored in the storage unit 127 (step S411). The communication unit 128 outputs a 0 and a 1 as commitment (a 0 , a 1 ). The commitment (a 0 , a 1 ) is transmitted to the verification device 43 via the network. The commitment (a 0 , a 1 ) is input to the communication unit 138 of the verification device 43 and stored in the storage unit 137 (step S112).

≪V’→P’≫
検証装置43の演算部431が、記憶部137に格納しておいたマスタ公開鍵mpk’と利用者識別子idのうちマスタ公開鍵mpk’を入力とし、マスタ公開鍵mpk’をパースして1κとmpkとmpkを得(ステップS412)、c←Σ* ibi−ch(1κ)によってチャレンジcを得て、記憶部137に格納する(ステップS413)。通信部138はチャレンジcを出力する。チャレンジcは、ネットワーク経由で証明装置42に送信される。チャレンジcは証明装置42の通信部128に入力され、記憶部127に格納される(ステップS114)。
≪V '→ P'≫
The calculation unit 431 of the verification device 43 receives the master public key mpk ′ out of the master public key mpk ′ and the user identifier id stored in the storage unit 137, parses the master public key mpk ′, and 1 κ And mpk 0 and mpk 1 are obtained (step S412), a challenge c is obtained by c ← Σ * ibi-ch (1 κ ), and stored in the storage unit 137 (step S413). The communication unit 138 outputs a challenge c. The challenge c is transmitted to the certification device 42 via the network. The challenge c is input to the communication unit 128 of the certification device 42 and stored in the storage unit 127 (step S114).

≪P’→V’≫
証明装置42の演算部124が、チャレンジcを入力とし、cb(id)=c−crb(id)を得て、記憶部127に格納する(ステップS115)。さらに演算部425が、記憶部127に格納しておいた、mpkb(id)とidとsk(id,b(id))とab(id)とcb(id)と内部状態情報stを入力とし、ub(id)←Σibi−res(mpkb(id),id,sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得て記憶部127に格納する(ステップS416)。通信部128は、cとuとuをレスポンス(c,u,u)として出力する。レスポンス(c,u,u)は、ネットワーク経由で検証装置43に送信される。レスポンス(c,u,u)は検証装置43の通信部138に入力され、記憶部137に格納される(ステップS117)。
≪P '→ V'≫
The computing unit 124 of the proving device 42 receives the challenge c, obtains c b (id) = c−c rb (id) , and stores it in the storage unit 127 (step S115). Further, the calculation unit 425 stores mpk b (id) , id, sk (id, b (id)) , a b (id) , c b (id), and internal state information st stored in the storage unit 127. was an input, u b (id) ← Σ ibi-res (mpk b (id), id, sk (id, b (id)), a b (id), c b (id), st) by u b (Id) is obtained and stored in the storage unit 127 (step S416). The communication unit 128 outputs c 0 and u 0 and u 1 as a response (c 0, u 0, u 1). The response (c 0 , u 0 , u 1 ) is transmitted to the verification device 43 via the network. The response (c 0 , u 0 , u 1 ) is input to the communication unit 138 of the verification device 43 and stored in the storage unit 137 (step S117).

≪V’≫
検証装置43の演算部432は、記憶部137に格納しておいたcおよびcを入力とし、c=c−cを得て記憶部137に格納する(ステップS118)。判定部433は、mpkとmpkとidとaとcとuとaとcとuを入力とし、dec←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,id,a,c,u)を得る(ステップS419)。その後、判定部433は、第1実施形態のステップS120〜S122と同じ処理を実行する。
≪V'≫
The calculation unit 432 of the verification device 43 receives c and c 0 stored in the storage unit 137 as input, obtains c 1 = c−c 0 and stores it in the storage unit 137 (step S118). The determination unit 433 receives mpk 0 , mpk 1 , id, a 0 , c 0 , u 0 , a 1 , c 1, and u 1 as input, and dec ← Σ ibi-vrfy (mpk 0 , id, a 0 , c 0 , u 0 ) and a verification result dec obtained by dec ′ ← Σ ibi-vrfy (mpk 1 , id, a 1 , c 1 , u 1 ) are obtained (step S419). Thereafter, the determination unit 433 performs the same process as steps S120 to S122 of the first embodiment.

<特徴>
各実施形態の構成は、Σ型、およびΣ型のあらゆるIBIプロトコルに汎用的に適用可能であり、IBIプロトコルの安全性を容易に強化することができる。
例えば、前述した参考文献3のΣ型IBIプロトコルの場合、攻撃者がチャレンジC=0を検証者Pに送付した場合、検証者はレスポンスとしてU=x・y mod N=xを出力するため、秘密鍵SKID=xが攻撃者に知られてしまう。この攻撃は、imp−pa安全性では許されていない攻撃であるが、imp−ca安全性では許されている攻撃である。このような攻撃は、上述した実施形態の方式によって防ぐことができる。実施形態の方式では、コミットメントを生成する時点で証明装置がcrb(id)を決定し、レスポンスでは検証装置からのチャレンジcを分割したc,c(cb(id)=c−crb(id))に対応するものを出力する。そのため、攻撃者は恣意的なチャレンジに対応するレスポンスを得ることができない。上記攻撃を成功させるためには、攻撃者はcrb(id)=cなるcを推測する必要がある。したがって、Gが十分大きければ、圧倒的な確率でこの攻撃を防ぐことができる。
<Features>
The configuration of each embodiment can be universally applied to all IBI protocols of the Σ + type and the Σ * type, and the safety of the IBI protocol can be easily enhanced.
For example, in the case of the Σ * type IBI protocol of Reference Document 3 described above, when the attacker sends a challenge C = 0 to the verifier P, the verifier outputs U = x · y C mod N = x as a response. Therefore, the secret key SK ID = x is known to the attacker. This attack is not allowed in the imp-pa security, but is allowed in the imp-ca security. Such an attack can be prevented by the method of the above-described embodiment. In the method of the embodiment, the proving device determines c rb (id) at the time of generating the commitment, and c 0 , c 1 (c b (id) = c−c obtained by dividing the challenge c from the verification device in the response. rb (id) ) is output. Therefore, the attacker cannot obtain a response corresponding to the arbitrary challenge. In order to make the attack successful, the attacker needs to guess c where c rb (id) = c. Therefore, if G is sufficiently large, this attack can be prevented with an overwhelming probability.

また、第1,3および4実施形態の構成において証明者の秘密鍵のデータ量は、非特許文献2の方式に比べて約1/2となり、証明装置で必要な記憶領域を削減することができる。また、第2実施形態の構成における秘密鍵のデータ量は非特許文献2の方式と同じであるが、鍵発行局の保持するマスタ秘密鍵やマスタ公開鍵のデータ量は非特許文献2の方式の1/2以下となるため、鍵生成装置で必要な記憶領域を削減することができる。   In the configurations of the first, third, and fourth embodiments, the data amount of the prover's private key is about ½ that of the method of Non-Patent Document 2, and the storage area necessary for the certification device can be reduced. it can. Further, the data amount of the secret key in the configuration of the second embodiment is the same as the method of Non-Patent Document 2, but the data amount of the master secret key and the master public key held by the key issuing authority is the method of Non-Patent Document 2. Therefore, the storage area required by the key generation device can be reduced.

<変形例等>
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述したアルゴリズムの少なくとも一部が関数として実装されてもよい。すなわち、「写像」とはアルゴリズムおよび関数を含む概念である。また「γと・・・とγからδを得る写像」とは、δがγと・・・とγのすべてに依存する場合のみ意味するものではない。すなわち、δがγと・・・とγの少なくとも一部に非依存であったとしても、γと・・・とγに対してδを得る写像であれば「γと・・・とγからδを得る写像」に含まれる。
<Modifications>
The present invention is not limited to the embodiment described above. For example, at least a part of the algorithm described above may be implemented as a function. That is, “mapping” is a concept including an algorithm and a function. The term "mapping to obtain δ from gamma 1 and ... and gamma I" does not mean only if δ is dependent on all the gamma 1 and ... and gamma I. That, [delta] is even a had been independent on at least a portion of the gamma 1 and ... and gamma I, gamma 1 and ... and gamma if mapping is to obtain a [delta] for the I "gamma 1 and &・ ・ And γ I to δ to obtain δ ”.

また上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capacity of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。   When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.

上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。   In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.

1〜4 認証システム
11,21,31,41 鍵生成装置
12,22,32,42 証明装置
13,33,43 検証装置
1-4 Authentication systems 11, 21, 31, 41 Key generation devices 12, 22, 32, 42 Proof devices 13, 33, 43 Verification devices

Claims (9)

SKID←KG(MSK,ID)がマスタ秘密鍵MSKと識別子IDから秘密鍵SKIDを得る写像であり、(A,ST)←Σibi−com(MPK,ID,SKID)がマスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDからコミットメントAと内部状態情報STを得る写像であり、C←Σibi−ch(MPK,ID)が前記マスタ公開鍵MPKと前記識別子IDからチャレンジCを得る写像であり、U←Σibi−res(MPK,ID,SKID,A,C,ST)が前記マスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDと前記コミットメントAと前記チャレンジCと前記内部状態情報STからレスポンスUを得る写像であり、DEC←Σibi−vrfy(MPK,ID,A,C,U)が前記マスタ公開鍵MPKと前記識別子IDと前記コミットメントAと前記チャレンジCと前記レスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)が前記マスタ公開鍵MPKからチャレンジC’を得る写像であり、(A’,U’)←Σibi−sim(MPK,ID,C)が前記マスタ公開鍵MPKと前記識別子IDと前記チャレンジCから前記チャレンジCに対して前記検証結果DECが受理となるコミットメントA’とレスポンスU’を得る写像であり、
前記マスタ公開鍵MPKがmpkであり、前記マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、M(α,β)がαとβに対応する値であり、sk(id,b(id))が何れかのb(id)∈{0,1}に対応するsk(id,b(id))←KG(msk,M(id,b(id)))によって得られる値であり、
(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得る第1演算部と、
rb(id)=1−b(id)であり、crb(id)←Σ+ ibi−ch(mpk)によってcrb(id)を得る第2演算部と、
(arb(id),urb(id))←Σibi−sim(mpk,M(id,rb(id)),crb(id))によってarb(id)とurb(id)を得る第3演算部と、
コミットメント(a,a)を出力する第1出力部と、
入力されたチャレンジcからcb(id)=c−crb(id)を得る第4演算部と、
b(id)←Σibi−res(mpk,M(id,b(id)),sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得る第5演算部と、
レスポンス(c,u,u)を出力する第2出力部と、
を有する証明装置。
SK ID ← KG (MSK, ID ) is a mapping to obtain the secret key SK ID from the master secret key MSK and the identifier ID, (A, ST) ← Σ ibi-com (MPK, ID, SK ID) is a master public key This is a mapping that obtains commitment A and internal state information ST from MPK, the identifier ID, and the secret key SK ID , and C ← Σ ibi-ch (MPK, ID) creates a challenge C from the master public key MPK and the identifier ID. U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is the master public key MPK, the identifier ID, the secret key SK ID , the commitment A, and the challenge C This is a mapping for obtaining a response U from the internal state information ST, and DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is the master public This is a mapping for obtaining a verification result DEC from the open key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ + ibi-ch (MPK) is a challenge C ′ from the master public key MPK. (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is the verification result DEC from the master public key MPK, the identifier ID, and the challenge C to the challenge C. Is a mapping to obtain the accepted commitment A 'and response U'
The master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, M (α, β) is a value corresponding to α and β, and sk (id, b (Id)) is a value obtained by sk (id, b (id)) ← KG (msk, M (id, b (id))) corresponding to any b (id) ε {0, 1} Yes,
(A b (id) , st) ← Σ ibi-com (mpk, M (id, b (id)), sk (id, b (id)) ) First operation for obtaining a b (id) and st And
rb (id) = 1−b (id), c rb (id) ← Σ + ibi−ch (mpk ) to obtain crb (id) , a second arithmetic unit;
(A rb (id) , u rb (id) ) ← Σ ibi-sim (mpk, M (id, rb (id)), crb (id) ) a rb (id) and u rb (id) A third computing unit to obtain;
A first output unit for outputting a commitment (a 0 , a 1 );
A fourth operation unit for obtaining c b (id) = c−c rb (id) from the input challenge c;
u b (id) ← Σ ibi -res (mpk, M (id, b (id)), sk (id, b (id)), a b (id), c b (id), st) by u b A fifth arithmetic unit for obtaining (id) ;
A second output unit for outputting a response (c 0 , u 0 , u 1 );
Proving device with.
SKID←KG(MSK,ID)がマスタ秘密鍵MSKと識別子IDから秘密鍵SKIDを得る写像であり、(A,ST)←Σibi−com(MPK,ID,SKID)がマスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDからコミットメントAと内部状態情報STを得る写像であり、C←Σibi−ch(MPK,ID)が前記マスタ公開鍵MPKと前記識別子IDからチャレンジCを得る写像であり、U←Σibi−res(MPK,ID,SKID,A,C,ST)が前記マスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDと前記コミットメントAと前記チャレンジCと前記内部状態情報STからレスポンスUを得る写像であり、DEC←Σibi−vrfy(MPK,ID,A,C,U)が前記マスタ公開鍵MPKと前記識別子IDと前記コミットメントAと前記チャレンジCと前記レスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)が前記マスタ公開鍵MPKからチャレンジC’を得る写像であり、(A’,U’)←Σibi−sim(MPK,ID,C)が前記マスタ公開鍵MPKと前記識別子IDと前記チャレンジCから前記チャレンジCに対して前記検証結果DECが受理となるコミットメントA’とレスポンスU’を得る写像であり、
前記マスタ公開鍵MPKがmpkであり、前記マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、M(α,β)がαとβに対応する値であり、b(id)∈{0,1}であり、sk(id,b(id))がsk(id,b(id))←KG(msk,M(id,b(id)))によって得られる値であり、
何れかのb(id)∈{0,1}に対応する(ab(id),st)←Σibi−com(mpk,M(id,b(id)),sk(id,b(id)))によってab(id)とstを得る第1演算部と、
rb(id)=1−b(id)であり、crb(id)←Σ+ ibi−ch(mpk)によってcrb(id)を得る第2演算部と、
(arb(id),urb(id))←Σibi−sim(mpk,M(id,rb(id)),crb(id))によってarb(id)とurb(id)を得る第3演算部と、
コミットメント(a,a)を出力する第1出力部と、
入力されたチャレンジcからcb(id)=c−crb(id)を得る第4演算部と、
b(id)←Σibi−res(mpk,M(id,b(id)),sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得る第5演算部と、
レスポンス(c,u,u)を出力する第2出力部と、
を有する証明装置。
SK ID ← KG (MSK, ID ) is a mapping to obtain the secret key SK ID from the master secret key MSK and the identifier ID, (A, ST) ← Σ ibi-com (MPK, ID, SK ID) is a master public key This is a mapping that obtains commitment A and internal state information ST from MPK, the identifier ID, and the secret key SK ID , and C ← Σ ibi-ch (MPK, ID) creates a challenge C from the master public key MPK and the identifier ID. U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is the master public key MPK, the identifier ID, the secret key SK ID , the commitment A, and the challenge C This is a mapping for obtaining a response U from the internal state information ST, and DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is the master public This is a mapping for obtaining a verification result DEC from the open key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ + ibi-ch (MPK) is a challenge C ′ from the master public key MPK. (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is the verification result DEC from the master public key MPK, the identifier ID, and the challenge C to the challenge C. Is a mapping to obtain the accepted commitment A 'and response U'
The master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, M (α, β) is a value corresponding to α and β, and b (id) ε {0, 1} and sk (id, b (id)) is a value obtained by sk (id, b (id)) ← KG (msk, M (id, b (id))),
(A b (id) , st) ← Σ ibi-com (mpk, M (id, b (id)), sk (id, b (id ) corresponding to any b (id) ε {0, 1} )) A first computing unit that obtains a b (id) and st by ) ,
rb (id) = 1−b (id), c rb (id) ← Σ + ibi−ch (mpk ) to obtain crb (id) , a second arithmetic unit;
(A rb (id) , u rb (id) ) ← Σ ibi-sim (mpk, M (id, rb (id)), crb (id) ) a rb (id) and u rb (id) A third computing unit to obtain;
A first output unit for outputting a commitment (a 0 , a 1 );
A fourth operation unit for obtaining c b (id) = c−c rb (id) from the input challenge c;
u b (id) ← Σ ibi -res (mpk, M (id, b (id)), sk (id, b (id)), a b (id), c b (id), st) by u b A fifth arithmetic unit for obtaining (id) ;
A second output unit for outputting a response (c 0 , u 0 , u 1 );
Proving device with.
DEC←Σibi−vrfy(MPK,ID,A,C,U)がマスタ公開鍵MPKと識別子IDとコミットメントAとチャレンジCとレスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)が前記マスタ公開鍵MPKからチャレンジC’を得る写像であり、
前記マスタ公開鍵MPKがmpkであり、idが利用者識別子であり、M(α,β)がαとβに対応する値であり、
コミットメント(a,a)の入力を受け付ける第1入力部と、
c←Σ+ ibi−ch(mpk)によってチャレンジcを得る第1演算部と、
前記チャレンジcを出力する出力部と、
レスポンス(c,u,u)の入力を受け付ける第2入力部と、
=c−cを得る第2演算部と、
dec←Σibi−vrfy(mpk,M(id,0),a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,M(id,1),a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する判定部と、
を有する検証装置。
DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is a mapping for obtaining the verification result DEC from the master public key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ + ibi -Ch (MPK) is a mapping to obtain a challenge C 'from the master public key MPK;
The master public key MPK is mpk, id is a user identifier, M (α, β) is a value corresponding to α and β,
A first input unit for receiving an input of a commitment (a 0 , a 1 );
a first arithmetic unit that obtains a challenge c by c ← Σ + ibi-ch (mpk);
An output unit for outputting the challenge c;
A second input unit for receiving an input of a response (c 0 , u 0 , u 1 );
a second computing unit for obtaining c 1 = c−c 0 ;
dec ← Σ ibi-vrfy (mpk, M (id, 0), a 0 , c 0 , u 0 ), the verification result dec, and dec ′ ← Σ ibi-vrfy (mpk, M (id, 1), a determination unit that determines whether the verification result dec ′ obtained by a 1 , c 1 , u 1 ) is acceptable;
A verification device having
SKID←KG(MSK,ID)がマスタ秘密鍵MSKと識別子IDから秘密鍵SKIDを得る写像であり、(A,ST)←Σibi−com(MPK,ID,SKID)がマスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDからコミットメントAと内部状態情報STを得る写像であり、C←Σibi−ch(MPK,ID)が前記マスタ公開鍵MPKと前記識別子IDからチャレンジCを得る写像であり、U←Σibi−res(MPK,ID,SKID,A,C,ST)が前記マスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDと前記コミットメントAと前記チャレンジCと前記内部状態情報STからレスポンスUを得る写像であり、DEC←Σibi−vrfy(MPK,ID,A,C,U)が前記マスタ公開鍵MPKと前記識別子IDと前記コミットメントAと前記チャレンジCと前記レスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)が前記マスタ公開鍵MPKからチャレンジC’を得る写像であり、(A’,U’)←Σibi−sim(MPK,ID,C)が前記マスタ公開鍵MPKと前記識別子IDと前記チャレンジCから前記チャレンジCに対して前記検証結果DECが受理となるコミットメントA’とレスポンスU’を得る写像であり、
前記マスタ公開鍵MPKがmpkであり、前記マスタ秘密鍵MSKがmskであり、idが利用者識別子であり、idmasterがマスタ識別子であり、id≠idmasterであり、skidがskid←KG(msk,id)によって得られる値であり、
(a,st)←Σibi−com(mpk,id,skid)によってaとstを得る第1演算部と、
←Σ+ ibi−ch(mpk)によってcを得る第2演算部と、
(a,u)←Σibi−sim(mpk,idmaster,c)によってaとuを得る第3演算部と、
コミットメント(a,a)を出力する第1出力部と、
入力されたチャレンジcからc=c−cを得る第4演算部と、
←Σibi−res(mpk,id,skid,a,c,st)によってuを得る第5演算部と、
レスポンス(c,u,u)を出力する第2出力部と、
を有する証明装置。
SK ID ← KG (MSK, ID ) is a mapping to obtain the secret key SK ID from the master secret key MSK and the identifier ID, (A, ST) ← Σ ibi-com (MPK, ID, SK ID) is a master public key This is a mapping that obtains commitment A and internal state information ST from MPK, the identifier ID, and the secret key SK ID , and C ← Σ ibi-ch (MPK, ID) creates a challenge C from the master public key MPK and the identifier ID. U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is the master public key MPK, the identifier ID, the secret key SK ID , the commitment A, and the challenge C This is a mapping for obtaining a response U from the internal state information ST, and DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is the master public This is a mapping for obtaining a verification result DEC from the open key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ + ibi-ch (MPK) is a challenge C ′ from the master public key MPK. (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is the verification result DEC from the master public key MPK, the identifier ID, and the challenge C to the challenge C. Is a mapping to obtain the accepted commitment A 'and response U'
The master public key MPK is mpk, the master secret key MSK is msk, id is a user identifier, id master is a master identifier, id ≠ id master , and sk id is sk id ← KG (Msk, id) is a value obtained by
A first arithmetic unit that obtains a 0 and st by (a 0 , st) ← Σ ibi-com (mpk, id, sk id );
a second arithmetic unit that obtains c 1 by c 1 ← Σ + ibi−ch (mpk);
A third arithmetic unit that obtains a 1 and u 1 by (a 1 , u 1 ) ← Σ ibi-sim (mpk, id master , c 1 );
A first output unit for outputting a commitment (a 0 , a 1 );
A fourth arithmetic unit for obtaining c 0 = c−c 1 from the input challenge c;
a fifth arithmetic unit that obtains u 0 by u 0 ← Σ ibi-res (mpk, id, sk id , a 0 , c 0 , st);
A second output unit for outputting a response (c 0 , u 0 , u 1 );
Proving device with.
DEC←Σibi−vrfy(MPK,ID,A,C,U)がマスタ公開鍵MPKと識別子IDとコミットメントAとチャレンジCとレスポンスUから検証結果DECを得る写像であり、C’←Σ+ ibi−ch(MPK)が前記マスタ公開鍵MPKからチャレンジC’を得る写像であり、
前記マスタ公開鍵MPKがmpkであり、idが利用者識別子であり、idmasterがマスタ識別子であり、id≠idmasterであり、
コミットメント(a,a)の入力を受け付ける第1入力部と、
c←Σ+ ibi−ch(mpk)によってチャレンジcを得る第1演算部と、
前記チャレンジcを出力する出力部と、
レスポンス(c,u,u)の入力を受け付ける第2入力部と、
=c−cを得る第2演算部と、
dec←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,idmaster,a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する判定部と、
を有する検証装置。
DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is a mapping for obtaining the verification result DEC from the master public key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ + ibi -Ch (MPK) is a mapping to obtain a challenge C 'from the master public key MPK;
The master public key MPK is mpk, id is a user identifier, id master is a master identifier, id ≠ id master ,
A first input unit for receiving an input of a commitment (a 0 , a 1 );
a first arithmetic unit that obtains a challenge c by c ← Σ + ibi-ch (mpk);
An output unit for outputting the challenge c;
A second input unit for receiving an input of a response (c 0 , u 0 , u 1 );
a second computing unit for obtaining c 1 = c−c 0 ;
dec ← Σ ibi-vrfy (mpk, id, a 0 , c 0 , u 0 ) and a verification result dec obtained by dec ′ ← Σ ibi-vrfy (mpk, id master , a 1 , c 1 , u 1 ) A determination unit that determines whether the verification result dec ′ obtained by
A verification device having
SKID←KG(MSK,ID)がマスタ秘密鍵MSKと識別子IDから秘密鍵SKIDを得る写像であり、(A,ST)←Σibi−com(MPK,ID,SKID)がマスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDからコミットメントAと内部状態情報STを得る写像であり、C←Σibi−ch(MPK,ID)が前記マスタ公開鍵MPKと前記識別子IDからチャレンジCを得る写像であり、U←Σibi−res(MPK,ID,SKID,A,C,ST)が前記マスタ公開鍵MPKと前記識別子IDと前記秘密鍵SKIDと前記コミットメントAと前記チャレンジCと前記内部状態情報STからレスポンスUを得る写像であり、DEC←Σibi−vrfy(MPK,ID,A,C,U)が前記マスタ公開鍵MPKと前記識別子IDと前記コミットメントAと前記チャレンジCと前記レスポンスUから検証結果DECを得る写像であり、C’←Σ* ibi−ch(1κ)がセキュリティパラメータ1κからチャレンジC’を得る写像であり、(A’,U’)←Σibi−sim(MPK,ID,C)が前記マスタ公開鍵MPKと前記識別子IDと前記チャレンジCから前記チャレンジCに対して前記検証結果DECが受理となるコミットメントA’とレスポンスU’を得る写像であり、
(mpk,msk)および(mpk,msk)のそれぞれがマスタ公開鍵とマスタ秘密鍵との鍵ペア(MPK,MSK)であり、idが利用者識別子であり、sk(id,b(id))が何れかのb(id)∈{0,1}に対応するsk(id,b(id))←KG(mskb(id),id)によって得られる値であり、
(ab(id),st)←Σibi−com(mpkb(id),id,sk(id,b(id)))によってab(id)とstを得る第1演算部と、
rb(id)=1−b(id)であり、crb(id)←Σ* ibi−ch(1κ)によってcrb(id)を得る第2演算部と、
(arb(id),urb(id))←Σibi−sim(mpkrb(id),id,crb(id))によってarb(id)とurb(id)を得る第3演算部と、
コミットメント(a,a)を出力する第1出力部と、
入力されたチャレンジcからcb(id)=c−crb(id)を得る第4演算部と、
b(id)←Σibi−res(mpkb(id),id,sk(id,b(id)),ab(id),cb(id),st)によってub(id)を得る第5演算部と、
レスポンス(c,u,u)を出力する第2出力部と、
を有する証明装置。
SK ID ← KG (MSK, ID ) is a mapping to obtain the secret key SK ID from the master secret key MSK and the identifier ID, (A, ST) ← Σ ibi-com (MPK, ID, SK ID) is a master public key This is a mapping that obtains commitment A and internal state information ST from MPK, the identifier ID, and the secret key SK ID , and C ← Σ ibi-ch (MPK, ID) creates a challenge C from the master public key MPK and the identifier ID. U ← Σ ibi-res (MPK, ID, SK ID , A, C, ST) is the master public key MPK, the identifier ID, the secret key SK ID , the commitment A, and the challenge C This is a mapping for obtaining a response U from the internal state information ST, and DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is the master public This is a mapping for obtaining a verification result DEC from the key-opening MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ * ibi-ch (1 κ ) is a challenge C ′ from the security parameter 1 κ. (A ′, U ′) ← Σ ibi-sim (MPK, ID, C) is the verification result DEC from the master public key MPK, the identifier ID, and the challenge C to the challenge C. Is a mapping to obtain the accepted commitment A 'and response U'
Each of (mpk 0 , msk 0 ) and (mpk 1 , msk 1 ) is a key pair (MPK, MSK) of a master public key and a master secret key, id is a user identifier, and sk (id, b (Id)) is a value obtained by sk (id, b (id)) ← KG (msk b (id) , id) corresponding to any b (id) ε {0, 1},
A first arithmetic unit that obtains a b (id) and st by (a b (id) , st) ← Σ ibi ibi-com (mpk b (id) , id, sk (id, b (id)) );
a rb (id) = 1-b (id), a second arithmetic unit for obtaining the c rb (id) by c rb (id) ← Σ * ibi-ch (1 κ),
(A rb (id) , u rb (id) ) ← Σ Ibi -sim (mpk rb (id) , id, crb (id) ) The third operation to obtain a rb (id) and u rb (id) And
A first output unit for outputting a commitment (a 0 , a 1 );
A fourth operation unit for obtaining c b (id) = c−c rb (id) from the input challenge c;
u b (id) ← Σ ibi -res (mpk b (id), id, sk (id, b (id)), a b (id), c b (id), st) and the u b (id) A fifth computing unit to obtain;
A second output unit for outputting a response (c 0 , u 0 , u 1 );
Proving device with.
DEC←Σibi−vrfy(MPK,ID,A,C,U)がマスタ公開鍵MPKと識別子IDとコミットメントAとチャレンジCとレスポンスUから検証結果DECを得る写像であり、C’←Σ* ibi−ch(1κ)がセキュリティパラメータ1κからチャレンジC’を得る写像であり、
mpkおよびmpkが前記マスタ公開鍵MPKであり、idが利用者識別子であり、
コミットメント(a,a)の入力を受け付ける第1入力部と、
c←Σ* ibi−ch(1κ)によってチャレンジcを得る第1演算部と、
前記チャレンジcを出力する出力部と、
レスポンス(c,u,u)の入力を受け付ける第2入力部と、
=c−cを得る第2演算部と、
dec←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果decと、dec’←Σibi−vrfy(mpk,id,a,c,u)によって得られる検証結果dec’とがともに受理となるかを判定する判定部と、
を有する検証装置。
DEC ← Σ ibi-vrfy (MPK, ID, A, C, U) is a mapping for obtaining the verification result DEC from the master public key MPK, the identifier ID, the commitment A, the challenge C, and the response U, and C ′ ← Σ * ibi -Ch (1 κ ) is a mapping to obtain the challenge C ′ from the security parameter 1 κ ,
mpk 0 and mpk 1 are the master public key MPK, id is a user identifier,
A first input unit for receiving an input of a commitment (a 0 , a 1 );
a first arithmetic unit that obtains a challenge c by c ← Σ * ibi-ch (1 κ );
An output unit for outputting the challenge c;
A second input unit for receiving an input of a response (c 0 , u 0 , u 1 );
a second computing unit for obtaining c 1 = c−c 0 ;
dec ← Σ ibi-vrfy (mpk 0 , id, a 0 , c 0 , u 0 ) and the verification result dec obtained by dec ′ ← Σ ibi-vrfy (mpk 1 , id, a 1 , c 1 , u 1 And a determination unit that determines whether the verification result dec ′ obtained by
A verification device having
請求項1、2、4および6の何れかの証明装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the certification device according to claim 1. 請求項3、5および7の何れかの検証装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the verification device according to claim 3.
JP2012133762A 2012-06-13 2012-06-13 Authentication system, certification device, verification device, and program Active JP5783956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012133762A JP5783956B2 (en) 2012-06-13 2012-06-13 Authentication system, certification device, verification device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012133762A JP5783956B2 (en) 2012-06-13 2012-06-13 Authentication system, certification device, verification device, and program

Publications (2)

Publication Number Publication Date
JP2013257456A true JP2013257456A (en) 2013-12-26
JP5783956B2 JP5783956B2 (en) 2015-09-24

Family

ID=49953938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012133762A Active JP5783956B2 (en) 2012-06-13 2012-06-13 Authentication system, certification device, verification device, and program

Country Status (1)

Country Link
JP (1) JP5783956B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128761A (en) * 2004-10-26 2006-05-18 Sony Corp Communication method and communication system employing encryption technology, and biological information verification apparatus
JP2006325072A (en) * 2005-05-20 2006-11-30 Kddi R & D Laboratories Inc System and method for attribute information exchange and communication terminal
JP2008193454A (en) * 2007-02-06 2008-08-21 Kddi R & D Laboratories Inc Attribute authentication system, and anonymity attribute authentication method and program in the system
JP2010002662A (en) * 2008-06-20 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> Recovery signature system, signature creating device, signature verification device, method for them and program
JP2010510744A (en) * 2006-11-21 2010-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Biometric fuzzy signature

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128761A (en) * 2004-10-26 2006-05-18 Sony Corp Communication method and communication system employing encryption technology, and biological information verification apparatus
JP2006325072A (en) * 2005-05-20 2006-11-30 Kddi R & D Laboratories Inc System and method for attribute information exchange and communication terminal
JP2010510744A (en) * 2006-11-21 2010-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Biometric fuzzy signature
JP2008193454A (en) * 2007-02-06 2008-08-21 Kddi R & D Laboratories Inc Attribute authentication system, and anonymity attribute authentication method and program in the system
JP2010002662A (en) * 2008-06-20 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> Recovery signature system, signature creating device, signature verification device, method for them and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015019553; G. Yang et al.: 'A new framework for the design and analysis of identity-based identification schemes' Theoretical Computer Science Volume 407,Issues 1-3, 2008, pp. 370-388, Elsevier *
JPN6015019554; 齋藤啓介,他: '新しいIDベース認証方式の提案' 電子情報通信学会技術研究報告 Vol. 108,No. 458, 20090224, pp. 237-241, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
JP5783956B2 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
Li et al. Certificate-based signature: security model and efficient construction
US8356181B2 (en) Apparatus and method for a direct anonymous attestation scheme from short-group signatures
US8225098B2 (en) Direct anonymous attestation using bilinear maps
Chen et al. Pairings in trusted computing
CN101965711B (en) Signature and verification method, signature generation device, and signature verification device
Tso et al. Efficient and short certificateless signatures secure against realistic adversaries
CN102420691B (en) Certificate-based forward security signature method and system thereof
US20060010079A1 (en) Apparatus and method for proving the denial of a direct proof signature
Yuen et al. How to construct identity-based signatures without the key escrow problem
Chen et al. DAA: Fixing the pairing based protocols
JP2004208263A (en) Apparatus and method of blind signature based on individual identification information employing bilinear pairing
JP2004208262A (en) Apparatus and method of ring signature based on id employing bilinear pairing
Tso et al. Efficient and short certificateless signature
Han et al. A certificateless verifiable strong designated verifier signature scheme
Ki et al. Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability
Li et al. A novel message authentication scheme with absolute privacy for the internet of things networks
Xiong et al. Strong security enabled certificateless aggregate signatures applicable to mobile computation
Tsai An improved cross-layer privacy-preserving authentication in WAVE-enabled VANETs
Chen et al. Certificateless signatures: structural extensions of security models and new provably secure schemes
Feng et al. A new certificate-based digital signature scheme in bilinear group
JP5314449B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
JP5783956B2 (en) Authentication system, certification device, verification device, and program
Fan et al. Strongly secure certificateless signature scheme supporting batch verification
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150721

R150 Certificate of patent or registration of utility model

Ref document number: 5783956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150