JP5449040B2 - Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program - Google Patents

Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program Download PDF

Info

Publication number
JP5449040B2
JP5449040B2 JP2010131130A JP2010131130A JP5449040B2 JP 5449040 B2 JP5449040 B2 JP 5449040B2 JP 2010131130 A JP2010131130 A JP 2010131130A JP 2010131130 A JP2010131130 A JP 2010131130A JP 5449040 B2 JP5449040 B2 JP 5449040B2
Authority
JP
Japan
Prior art keywords
node information
information
key
att
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010131130A
Other languages
Japanese (ja)
Other versions
JP2011259149A (en
Inventor
一樹 米山
幸太郎 鈴木
淳 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2010131130A priority Critical patent/JP5449040B2/en
Publication of JP2011259149A publication Critical patent/JP2011259149A/en
Application granted granted Critical
Publication of JP5449040B2 publication Critical patent/JP5449040B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の応用技術に関するものであり、特に、二者間で共通のセッション鍵を共有する鍵交換技術に関するものである。   The present invention relates to an application technology of information security technology, and particularly to a key exchange technology for sharing a common session key between two parties.

従来のID認証鍵交換方式の一つにSYL方式があった(例えば、非特許文献1参照)。以下にSYL方式の概要を説明する。   One of the conventional ID authentication key exchange methods is the SYL method (see, for example, Non-Patent Document 1). The outline of the SYL method is described below.

[パラメータ]
G, GTをκビットの素数位数pの巡回群、gをGの生成元、gT=e(g,g)をGTの生成元、e:G×G→GTをペアリングとする。H:{0,1}*→{0,1}κとし、H1:{0,1}*→Gをハッシュ関数とする。鍵生成者は、マスタ秘密鍵λ∈Zpをランダムに選び、マスタ公開鍵Λ=gλ∈Gを公開する。
[Parameter]
G, G T are cyclic groups of prime order p of κ bits, g is a generator of G, g T = e (g, g) is a generator of G T , and e: G × G → G T is paired And H: {0,1} * → {0,1} κ, and H 1 : {0,1} * → G as a hash function. Key generator randomly selects a master secret key λ∈Z p, to publish a master public key Λ = g λ ∈G.

[鍵生成]
鍵生成者は、ユーザA,Bの識別子IDA, IDB∈{0,1}*に対して、それぞれQA=H1(IDA)∈G, QB=H1(IDB)∈Gを計算し、マスタ秘密鍵λを用いて秘密鍵DA=QA λ∈G, DB=QB λ∈Gを生成する。
[Key generation]
For the identifiers ID A and ID B ∈ {0,1} * of the users A and B, the key generator generates Q A = H 1 (ID A ) ∈G and Q B = H 1 (ID B ) ∈, respectively. calculate the G, to generate the private key D a = Q a λ ∈G, a D B = Q B λ ∈G using the master secret key lambda.

[鍵交換]
識別子IDAと秘密鍵DA=QA λ∈GをもつユーザAと、識別子IDBと秘密鍵DB=QB λ∈GをもつユーザBは、以下のようにして認証鍵交換を行い、セッション鍵(共有鍵)Kを共有する。
[Key exchange]
User A with identifier ID A and secret key D A = Q A λ ∈ G and user B with identifier ID B and secret key D B = Q B λ ∈ G exchange authentication keys as follows: , Share the session key (shared key) K.

ユーザAは、ランダムに短期秘密鍵χAUZpを選び、短期公開鍵XA=gχAを計算し、(IDA,IDB,XA)をユーザBに送る。 User A randomly selects a short-term secret key χ AU Z p , calculates a short-term public key X A = g χ A , and sends (ID A , ID B , X A ) to user B.

ユーザBは、(IDA,IDB,XA)を受信し、ランダムに短期秘密鍵χBUZpを選び、短期公開鍵XB=gχBを計算し、(IDA,IDB,XA,XB)をユーザAに送る。ユーザBは、σ1=e(QA・XA, DB・ΛχB), σ2=XA χBを計算し、セッション鍵K=H(σ12,IDA,IDB,XA,XB)を計算する。 User B receives (ID A , ID B , X A ), randomly selects a short-term secret key χ BU Z p , calculates a short-term public key X B = g χB , and (ID A , ID B , X A , X B ) to user A. User B calculates σ 1 = e (Q A・ X A , D B・ Λ χB ), σ 2 = X A χB, and sets the session key K = H (σ 1 , σ 2 , ID A , ID B , X A , X B ) is calculated.

ユーザAは、(IDA,IDB,XA,XB)を受信し、σ1=e(DA・ΛχA,QB・XB),σ2=XB χAを計算し、セッション鍵K=H(σ12,IDA,IDB,XA,XB)を計算する。 User A receives (ID A , ID B , X A , X B ), calculates σ 1 = e (D A · Λ χA , Q B · X B ), σ 2 = X B χA , The key K = H (σ 1 , σ 2 , ID A , ID B , X A , X B ) is calculated.

σ1=gT λ(log(QA)+χA)・(log(QB)+χB), σ2=gχA・χBとなるので、両者で計算したセッション鍵Kは一致する。 Since σ 1 = g T λ (log (QA) + χA) · (log (QB) + χB) and σ 2 = gχA · χB , the session keys K calculated by both coincide.

L. Chen, Z. Cheng, Nigel P. Smart, "Identity-based key agreement protocols from pairings", Int. J. Inf. Sec. 6(4): 213-241 (2007).L. Chen, Z. Cheng, Nigel P. Smart, "Identity-based key agreement protocols from pairings", Int. J. Inf. Sec. 6 (4): 213-241 (2007).

しかし、SYL方式は、相手が指定したIDと自分のIDが一致した場合にのみセッション鍵を生成できるという単純な方式であり、セッション鍵を共有する相手を多様な条件で指定することができなかった。   However, the SYL method is a simple method in which a session key can be generated only when the ID specified by the other party and the user's ID match, and the other party sharing the session key cannot be specified under various conditions. It was.

本発明はこのような点に鑑みてなされたものであり、セッション鍵を共有する相手を多様な条件で指定することができる鍵交換技術を提供することを目的とする。   The present invention has been made in view of these points, and an object of the present invention is to provide a key exchange technique capable of designating a partner sharing a session key under various conditions.

本発明では、第1鍵交換装置と第2鍵交換装置とでセッション鍵を生成する。巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、マスタ公開鍵がΛ=gT λ∈GT及びT(j)=g2 t(j)∈G2である。UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データγAが第1鍵交換装置に対応し、ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、ノード情報N(uA)のそれぞれには情報q(uA, η(uA))が対応し、ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))がマスタ秘密鍵λであり、親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))であり、葉ノード情報N(uAL)にはそれぞれ属性情報att(uAL)∈ATTと秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1とが対応し、秘密値D(uAL)(uAL∈L(γA))の集合が第1鍵交換装置の長期秘密鍵DA={D(uAL)}uAL∈L(γA)である。UB(UB≧2)個のノード情報N(uB)(uB∈{1,...,UB})を含む木構造データγBが第2鍵交換装置に対応し、ノード情報N(uB)の一部が親ノード情報N(uBP)(uBP∈{1,...,UB})であり、親ノード情報N(uBP)にはc(uBP)個の子ノード情報N(uBC)(uBC∈{1,...,UB})が対応し、親ノード情報N(uBP)の何れか1つがルートノード情報N(uBR)(uBR∈{1,...,UB})であり、子ノード情報N(uBC)の少なくとも一部が葉ノード情報N(uBL)(uBL∈{1,...,UB})であり、葉ノード情報N(uBL)に対応するuBLの集合がL(γB)であり、親ノード情報N(uBP)のそれぞれには1≦k(uBP)≦c(uBP)を満たすしきい値k(uBP) が対応し、ノード情報N(uB)のそれぞれには情報q(uB, η(uB))が対応し、ルートノード情報N(uBR)に対応する情報q(uBR, η(uBR))がマスタ秘密鍵λであり、親ノード情報N(uBP)に対応する情報q(uBP, η(uBP))をk(uBP)-out-of-c(uBP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uBP)に対応する子ノード情報N(uBC)に対応する情報q(uBC, η(uBC))であり、葉ノード情報N(uBL)にはそれぞれ属性情報att(uBL)∈ATTと秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1とが対応し、秘密値D(uBL)(uBL∈L(γB))の集合が第2鍵交換装置の長期秘密鍵DB={D(uBL)}uBL∈L(γB)である。 In the present invention, a session key is generated by the first key exchange device and the second key exchange device. The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 a × G 2 → G T, is a set of attribute information j is ATT, is a master secret key is λ and t (j) (j∈ATT), master public key is λ = g T λ ∈G T and T (j) = g 2 t (j) ∈ G 2 . Tree structure data γ A including U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,..., U A }) corresponds to the first key exchange device, and Part of the information N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and the parent node information N (u AP ) includes c (u AP ) Child node information N (u AC ) (u AC ε {1,..., U A }), and any one of the parent node information N (u AP ) is root node information N (u AR ) (u AR ∈ {1, ..., U A }), and at least part of the child node information N (u AC ) is leaf node information N (u AL ) (u AL ∈ {1, ... , U A }), the set of u AL corresponding to the leaf node information N (u AL ) is L (γ A ), and each of the parent node information N (u AP ) has 1 ≦ k (u AP ) ≦ c (u AP ) corresponding to the threshold k (u AP ), each of the node information N (u A ) corresponds to the information q (u A , η (u A )), and the root node The information q (u AR , η (u AR )) corresponding to the information N (u AR ) is the master secret key λ, and the information q (u AP , corresponding to the parent node information N (u AP ) η (u AP )) is k (u AP ) -out-of-c (u AP ) threshold information, and the shared node information N is the child node information N corresponding to the parent node information N (u AP ) (u AC ) is information q (u AC , η (u AC )), and leaf node information N (u AL ) has attribute information att (u AL ) ∈ATT and secret value D (u AL ), respectively. = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈G 1 corresponds to the first set of secret values D (u AL ) (u AL ∈L (γ A )) The long-term secret key D A = {D (u AL )} uALεL (γA) of the key exchange device. Tree structure data γ B including U B (U B ≧ 2) pieces of node information N (u B ) (u B ε {1,..., U B }) corresponds to the second key exchange device, and Part of the information N (u B ) is parent node information N (u BP ) (u BP ∈ {1, ..., U B }), and the parent node information N (u BP ) includes c (u BP ) Child node information N (u BC ) (u BC ε {1,..., U B }), and any one of the parent node information N (u BP ) is root node information N (u BR ) (u BR ∈ {1, ..., U B }), and at least part of the child node information N (u BC ) is leaf node information N (u BL ) (u BL ∈ {1, ... , U B }), the set of u BL corresponding to the leaf node information N (u BL ) is L (γ B ), and each of the parent node information N (u BP ) has 1 ≦ k (u BP ) ≦ c (u BP ) corresponding to threshold k (u BP ), node information N (u B ) corresponds to information q (u B , η (u B )), and root node Information q (u BR , η (u BR )) corresponding to the information N (u BR ) is the master secret key λ, and information q (u BP , corresponding to the parent node information N (u BP ) η (u BP )) is k (u BP ) -out-of-c (u BP ) threshold information and the distributed information obtained from the distributed node information N corresponding to the parent node information N (u BP ) (u BC ) is information q (u BC , η (u BC )), and leaf node information N (u BL ) has attribute information att (u BL ) ∈ATT and secret value D (u BL ), respectively. = g 1 q (uBL, η (uBL)) / t (att (uBL)) ∈G 1 corresponds to the second set of secret values D (u BL ) (u BL ∈L (γ B )) The long-term secret key D B = {D (u BL )} uBLεL (γB) of the key exchange device.

第1鍵交換装置は、短期秘密鍵sAを任意に生成し、属性情報の集合ATTの部分集合である属性集合δA⊂ATTと長期秘密鍵DAと短期秘密鍵sAとを用い、長期秘密鍵DAと短期秘密鍵sAとを含む値の像χに対する元T(wA)χ∈G2 (wA∈δA)の集合であるTA={T(wA)χ}wA∈δAを含む第1短期公開鍵を生成し、属性集合δAと第1短期公開鍵とを第2鍵交換装置に対して出力する。 The first key exchange apparatus generates arbitrarily short secret key s A, using the attribute set δ A ⊂ATT and long secret key D A and short secret key s A is a subset of the set of attribute information ATT, T A = {T (w A ) χ which is a set of elements T (w A ) χ ∈ G 2 (w A ∈δ A ) for the image χ of values including the long-term secret key D A and the short-term secret key s A } A first short-term public key including wAεδA is generated, and the attribute set δ A and the first short-term public key are output to the second key exchange device.

第2鍵交換装置は、短期秘密鍵sBを任意に生成し、属性情報の集合ATTの部分集合である属性集合δB⊂ATTと長期秘密鍵DBと短期秘密鍵sBとを用い、長期秘密鍵DBと短期秘密鍵sBとを含む値の像υに対する元T(wB)υ∈G2 (wB∈δB)の集合であるTB={T(wB)υ}wB∈δBを含む第2短期公開鍵を生成し、属性集合δBと第2短期公開鍵とを第1鍵交換装置に対して出力する。 The second key exchange unit, short-term secret key s B optionally generate, using the attribute set δ B ⊂ATT and long secret key D B and short secret key s B is a subset of the set of attribute information ATT, T B = {T (w B ) υ which is a set of elements T (w B ) υ ∈ G 2 (w B ∈δ B ) for the image υ of the value including the long-term secret key D B and the short-term secret key s B } A second short-term public key including wBεδB is generated, and the attribute set δ B and the second short-term public key are output to the first key exchange device.

第1鍵交換装置は、属性集合δBと第2短期公開鍵との入力を受け付け、属性集合δBに属する属性情報att(uAL)∈δBに対応する葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1と第2短期公開鍵が含む元T(att(uAL))υ∈G2とに対し、双線形写像eを作用させ、葉ノード情報N(uAL)に対して復元値e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, η(uAL))∈GTを生成し、自らに対応する子ノード情報N(uAC)のうち復元値gT υ・q(uAC, η(uAC))∈GTが生成されたものの合計数が自らに対応するしきい値k(uAP)以上となる親ノード情報N(uAP)に対し、当該しきい値k(uAP)以上の復元値gT υ・q(uAC, η(uAC))∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT υ・q(uAP, η(uAP))∈GTを生成する。ここで、ルートノード情報N(uAR)に対する復元値gT υ・q(uAR, η(uAR))=gT υ・λ∈GTが生成された場合、第1鍵交換装置は、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとを含む値の像を第1セッション鍵として出力する。 The first key exchange device receives the input of the attribute set δ B and the second short-term public key, and the leaf node information N (u AL ) corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B Secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈ G 1 and element T (att (u AL )) included in the second short-term public key A bilinear map e is applied to υ ∈ G 2 and the restored value e (D (u AL ), T (att (u AL )) υ ) = g T for leaf node information N (u AL ) υ ・ q (uAL, η (uAL)) ∈G T is generated, and the restored value g T υ ・ q (uAC, η (uAC)) ∈G T among the child node information N (u AC ) corresponding to itself For the parent node information N (u AP ) for which the total number of generated is equal to or greater than the threshold k (u AP ) corresponding to itself, the restoration value g T υ greater than or equal to the threshold k (u AP ) Q (uAC, η (uAC)) ∈ G T is used as shared information of k (u AP ) -out-of-c (u AP ) threshold secret sharing method, and the restored value g corresponding to the shared information T υ · q (uAP, η (uAP)) ∈G T is generated. Here, when the restored value g T υ · q (uAR, η (uAR)) = g T υ · λ ∈G T for the root node information N (u AR ) is generated, the first key exchange device and it outputs the image of values including and χ = g T χ · λ ∈G T and g T υ · λ ∈G T as the first session key.

第2鍵交換装置は、属性集合δAと第1短期公開鍵との入力を受け、属性集合δAに属する属性情報att(uBL)∈δAに対応する葉ノード情報N(uBL)に対応する秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1と第1短期公開鍵が含む元T(att(uBL))χ∈G2とに対し、双線形写像eを作用させ、葉ノード情報N(uBL)に対して復元値e(D(uBL), T(att(uBL))χ)=gT χ・q(uBL, η(uBL))∈GTを生成し、自らに対応する子ノード情報N(uBC)のうち復元値gT χ・q(uBC, η(uBC))∈GTが生成されたものの合計数が自らに対応するしきい値k(uBP)以上となる親ノード情報N(uBP)に対し、当該しきい値k(uBP)以上の復元値gT χ・q(uBC, η(uBC))∈GTをk(uBP)-out-of-c(uBP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT χ・q(uBP, η(uBP))∈GTを生成する。ここで、ルートノード情報N(uBR)に対する復元値gT χ・q(uBR, η(uBR))=gT χ・λ∈GTが生成されたた場合、第2鍵交換装置は、gT χ・λ∈GTとΛυ=gT υ・λ∈GTとを含む値の像を第2セッション鍵として出力する。 The second key exchange apparatus receives the attribute set δ A and the first short-term public key and receives leaf node information N (u BL ) corresponding to the attribute information att (u BL ) ∈δ A belonging to the attribute set δ A. Secret value D (u BL ) = g 1 q (uBL, η (uBL)) / t (att (uBL)) ∈ G 1 and element T (att (u BL )) included in the first short-term public key A bilinear map e is applied to χ ∈ G 2 and the restored value e (D (u BL ), T (att (u BL )) χ ) = g T for leaf node information N (u BL ) χ ・ q (uBL, η (uBL)) ∈G T is generated, and the restored value g T χ ・ q (uBC, η (uBC)) ∈G T among the child node information N (u BC ) corresponding to itself For the parent node information N (u BP ) for which the total number of generated is equal to or greater than the threshold k (u BP ) corresponding to itself, the restored value g T χ that is greater than or equal to the threshold k (u BP ) Q (uBC, η (uBC)) ∈ G T is used as shared information of k (u BP ) -out-of-c (u BP ) threshold secret sharing method, and the restored value g corresponding to the shared information T χ · q (uBP, η (uBP)) ∈G T is generated. Here, reconstruction values g T χ · q (uBR, η (uBR)) for the root node information N (u BR) = If g T χ · λ ∈G T has been generated, the second key exchange unit, and it outputs the image values as a second session key and a g T χ · λ ∈G T and Λ υ = g T υ · λ ∈G T.

本発明の木構造データγABはそれぞれ特定の論理式に対応し、属性集合δAが木構造データγBに対応する論理式を真にし、属性集合δBが木構造データγAに対応する論理式を真にする場合に、第1鍵交換装置と第2鍵交換装置との間で同一のセッション鍵が生成される。そのため、本発明では、セッション鍵を共有する相手を多様な条件で指定することができる。 The tree structure data γ A and γ B of the present invention correspond to specific logical expressions, respectively, the attribute set δ A makes the logical expression corresponding to the tree structure data γ B true, and the attribute set δ B becomes the tree structure data γ A. When the logical expression corresponding to is made true, the same session key is generated between the first key exchange device and the second key exchange device. For this reason, in the present invention, it is possible to specify a partner who shares a session key under various conditions.

図1は、実施形態での鍵交換システムの全体構成を説明するための図である。FIG. 1 is a diagram for explaining the overall configuration of the key exchange system according to the embodiment. 図2は、実施形態での鍵交換装置の構成を説明するための図である。FIG. 2 is a diagram for explaining the configuration of the key exchange apparatus according to the embodiment. 図3は、実施形態での鍵交換装置の構成を説明するための図である。FIG. 3 is a diagram for explaining the configuration of the key exchange apparatus according to the embodiment. 図4は、実施形態での鍵抽出装置の構成を説明するための図である。FIG. 4 is a diagram for explaining the configuration of the key extraction apparatus according to the embodiment. 図5A及び図5Bは、実施形態での鍵抽出方法を説明するための図である。5A and 5B are diagrams for explaining a key extraction method according to the embodiment. 図6は、実施形態での鍵交換方法を説明するための図である。FIG. 6 is a diagram for explaining a key exchange method in the embodiment. 図7は、実施形態での鍵交換方法を説明するための図である。FIG. 7 is a diagram for explaining a key exchange method in the embodiment. 図8A及び図8Bは、木構造データを例示するための図である。8A and 8B are diagrams for illustrating tree structure data. 図9A及び図9Bは、木構造データを例示するための図である。9A and 9B are diagrams for illustrating tree structure data. 図10A及び図10Bは、木構造データを例示するための図である。10A and 10B are diagrams for illustrating the tree structure data. 図11A及び図11Bは、木構造データを例示するための図である。11A and 11B are diagrams for illustrating tree structure data.

以下、図面を参照して本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<定義>
本形態で使用する用語を定義する。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
:・は・の否定を表す。
Z:Zは整数集合を表す。
κ:κはセキュリティパラメータ(κ∈Z, κ>0)を表す。
Zp:Zpは位数p(p≧1)の環を表す。Zpの例はpを法とする剰余環である。また、pの例はκビットの素数である。ただし、これらの例は本発明を限定するものではない。
ξ∈UZp:ξ∈UZpは、Zpの任意の元ξを選択することを表す。
<Definition>
Terms used in this form are defined.
∧: ∧ represents a logical product.
∨: ∨ represents a logical sum.
: ・ Indicates negation of ・.
Z: Z represents an integer set.
κ: κ represents a security parameter (κ∈Z, κ> 0).
Z p : Z p represents a ring of order p (p ≧ 1). An example of Z p is a remainder ring modulo p. An example of p is a prime number of κ bits. However, these examples do not limit the present invention.
ξ∈ U Z p: ξ∈ U Z p represents the selection of any original ξ of Z p.

{0,1}*:{0,1}*は任意ビット長のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。ただし、{0,1}*は整数0及び1からなる系列に限定されない。{0,1}*は位数2の有限体又はその拡大体と同義である。 {0,1} * : {0,1} * represents a binary sequence having an arbitrary bit length. One example is a sequence consisting of integers 0 and 1. However, {0,1} * is not limited to a sequence consisting of integers 0 and 1. {0,1} * is synonymous with a finite field of order 2 or its extension.

{0,1}ζ:{0,1}ζはビット長ζ(ζ∈Z, ζ>0)のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}ζは整数0及び1からなる系列に限定されない。{0,1}ζは位数2の有限体(ζ=1の場合)又はそれをζ次拡大した拡大体(ζ>1の場合)と同義である。 {0,1} ζ : {0,1} ζ represents a binary sequence having a bit length ζ (ζ∈Z, ζ> 0). One example is a sequence consisting of integers 0 and 1. However, {0, 1} ζ is not limited to a sequence composed of integers 0 and 1. {0,1} ζ is synonymous with a finite field of order 2 (when ζ = 1) or an expanded field obtained by ζ-order expansion (when ζ> 1).

G1, G2, GT:G1, G2, GTのそれぞれは予め定められた巡回群を表し、g1, g2, gTのそれぞれは巡回群G1, G2, GTの生成元を表す。本形態の例では、G1, G2, GTがκビットの素数位数pの巡回群であるものとして説明する。なお、G1=G2であってもよいしG1≠G2であってもよい。巡回群G1, G2の具体例は、楕円曲線の等分点からなる有限集合やその部分群である。巡回群GTの具体例は、拡大体を構成する有限集合からなる群である。なお、本形態では、巡回群G1, G2, GT上で定義された演算が乗法的に表現される。すなわち、β∈Zp及びψ∈G1に対するψβ∈G1は、ψ∈G1に対して巡回群G1で定義された演算をβ回施すことを意味し、ψ1, ψ2∈G1に対するψ1・ψ2∈G1は、ψ1∈G1とψ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。巡回群G2, GTについても同様である。 G 1 , G 2 , G T : Each of G 1 , G 2 , G T represents a predetermined cyclic group, and each of g 1 , g 2 , g T represents a cyclic group G 1 , G 2 , G T Represents the origin of the. In the example of the present embodiment, it is assumed that G 1 , G 2 , and G T are cyclic groups having a prime order p of κ bits. Note that G 1 = G 2 or G 1 ≠ G 2 may be satisfied. A specific example of the cyclic groups G 1 and G 2 is a finite set consisting of equal points of elliptic curves and its subgroups. Specific examples of the cyclic group G T is a group consisting of a finite set constituting the extension field. In this embodiment, operations defined on the cyclic groups G 1 , G 2 , and G T are expressed in a multiplicative manner. That, [psi beta ∈G 1 for Beta∈Z p and Pusai∈G 1 means that applying operation defined in the cyclic group G 1 with respect ψ∈G 1 β times, ψ 1, ψ 2 ∈ ψ 1 · ψ 2 ∈G for G 1 1 is meant to carry out the operation defined in the cyclic group G 1 a and [psi 1 ∈G 1 and [psi 2 ∈G 1 as operand. The same applies to the cyclic groups G 2 and G T.

e:eは、直積空間G1×G2の元を巡回群GTに写す双線形写像G1×G2→GTを表し、e(g1, g2)=gTを満たす。双線形写像eは以下の性質を満たす。 e: e represents a bilinear mapping G 1 × G 2 → G T View daylight former direct product space G 1 × G 2 in the cyclic group G T, it satisfies the e (g 1, g 2) = g T. The bilinear map e satisfies the following properties.

[双線形性]すべてのψ1∈G1,ψ2∈G2及びε,ζ∈Zpについて以下の関係を満たす。
e(ψ1 ε2 ζ)=e(ψ1, ψ2)ε・ζ …(1)
[非退化性]すべての
ψ1∈G1,ψ2∈G2 …(2)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるψ1∈G1,ψ2∈G2についてe(ψ1, ψ2)を効率的に計算するアルゴリズムが存在する。
[Bilinearity] For all ψ 1 εG 1 , ψ 2 εG 2 and ε, ζεZ p , the following relationship is satisfied.
e (ψ 1 ε , ψ 2 ζ ) = e (ψ 1 , ψ 2 ) ε ・ ζ … (1)
[Non-degenerative] all
ψ 1 ∈G 1 , ψ 2 ∈G 2 (2)
Not a mapping which maps the identity element of the cyclic group G T a.
[Computability] There is an algorithm for efficiently calculating e (ψ 1 , ψ 2 ) for every ψ 1 εG 1 , ψ 2 εG 2 .

双線形写像eの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献1「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線の種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(ψ1,phi(ψ2))(ψ1∈G1,ψ2∈G2)を双線形写像eとして用いてもよい(例えば、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズムなどが存在し、ペアリング演算を効率的に行うための楕円曲線や巡回群G1, G2, GTの構成方法はよく知られている。 A specific example of the bilinear map e is a function for performing pairing operations such as Weil pairing and Tate pairing (for example, Reference 1 “Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS , ISBN0-7923-9368-6, pp. 61-81 etc.). Also, a modified pairing function e (ψ 1 , phi (ψ 2 )) (ψ 1 ∈G) that combines a function for performing pairing operations such as Tate pairing and a predetermined function phi according to the type of elliptic curve 1 , ψ 2 ∈G 2 ) may be used as the bilinear map e (for example, Reference 2 “RFC 5091: Identity-Based Cryptography Standard (IBCS) # 1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems”) reference). Also, as algorithms for performing pairing operations on a computer, there are well-known Miller's algorithms, etc., and elliptic curves and cyclic groups G 1 , G 2 , G T for efficiently performing pairing operations The construction method is well known.

属性情報:属性情報とは何らかの属性を表す値を意味する。属性情報j:{0,1}Φの集合をATTと表す。本形態の例では、属性情報jが1以上J以下の整数であり(Jは正整数)、ATT={1,...,J}であるものとする。ただし、これは本発明を限定するものではない。 Attribute information: Attribute information means a value representing some attribute. A set of attribute information j: {0,1} Φ is represented as ATT. In the example of the present embodiment, it is assumed that the attribute information j is an integer from 1 to J (J is a positive integer), and ATT = {1,..., J}. However, this does not limit the present invention.

Ω:Ωはプロトコル使用に対応した固有の識別子であるプロトコルIDを表す。   Ω: Ω represents a protocol ID, which is a unique identifier corresponding to the use of the protocol.

k-out-of-c しきい値秘密分散法:k-out-of-c しきい値秘密分散法は、任意の相違なるk個の分散情報SH(φ1),...,SH(φk)(1≦k≦c)が与えられれば秘密情報SKを復元できるが、任意のk-1個の分散情報SH(φ1),...,SH(φk-1)が与えられても秘密情報SKの情報はまったく得られない方式である(例えば、参考文献3「Adi Shamir, "How to share a secret", Communications of the ACM, Volume 22, No. 11, pp.612-613 (November 1979)」等参照)。以下にその一例を示す。 k-out-of-c threshold secret sharing method: k-out-of-c threshold secret sharing method is an arbitrarily different k pieces of distributed information SH (φ 1 ), ..., SH ( Secret information SK can be restored if φ k ) (1 ≦ k ≦ c) is given, but given k-1 pieces of shared information SH (φ 1 ), ..., SH (φ k-1 ) The secret information SK information is not obtained at all (for example, Reference 3 “Adi Shamir,“ How to share a secret ”, Communications of the ACM, Volume 22, No. 11, pp.612- 613 (November 1979) "). An example is shown below.

(1) q(η)=SK(ηは定数)を満たす不定元αについてのk-1次の多項式q(α)=ξ01・α+ξ2・α2+...+ξK-1・αk-1をランダムに選ぶ。すなわち、q(η)=SKとし、ξ1,..., ξK-1をランダムに選ぶ。なお、定数ηの例はη=0である。そして、分散情報をSH(ρ)=q(index(ρ))(ρ∈{1,...,c})とする。なお、index(ρ)は各ρに対応する互いに異なるインデックスであり、その例はindex(ρ)=ρである。 (1) k-1 order polynomial q (α) = ξ 0 + ξ 1・ α + ξ 2・ α 2 + ... + for indefinite element α satisfying q (η) = SK (η is a constant) Choose ξ K-1・ α k-1 at random. That is, q (η) = SK, and ξ 1 ,..., Ξ K-1 are selected at random. An example of the constant η is η = 0. Then, the distributed information is SH (ρ) = q (index (ρ)) (ρ∈ {1,..., C}). Note that index (ρ) is a different index corresponding to each ρ, and an example thereof is index (ρ) = ρ.

(2) 任意の相違なるk個の分散情報q(φ1),...,q(φk)(S={φ1,...,φk}⊂{index(1),...,index(c)})が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報SKを復元できる。 (2) Arbitrarily different k pieces of distributed information q (φ 1 ), ..., q (φ k ) (S = {φ 1 , ..., φ k } ⊂ {index (1), ... ., index (c)}) is obtained, for example, the Lagrange interpolation formula can be used to restore the secret information SK by the following restoration process.

SK=q(η)=Δ(φ1, q(η))・q(φ1)+...+Δ(φk, q(η))・q(φk) …(3)
ただし、Δ(ι, q(η))(ι∈S)は、以下に表すラグランジュ係数である。
SK = q (η) = Δ (φ 1 , q (η)) ・ q (φ 1 ) + ... + Δ (φ k , q (η)) ・ q (φ k )… (3)
Where Δ (ι, q (η)) (ι∈S) is a Lagrange coefficient expressed as follows.

Figure 0005449040
は先頭からι番目の被演算子〔分母の要素(φιι)、分子の要素(η-φι)〕が存在しないことを意味する。すなわち、式(4)の分母は、
ι1)・...・(φιι-1)・(φιι+1)・...・(φιk)
であり、式(4)の分子は
(η-φ1)・...・(η-φι-1)・(η-φι+1)・...・(η-φk)
である。
Figure 0005449040
Means that there is no ι-th operand from the top [element of denominator (φ ιι ), element of numerator (η-φ ι )]. That is, the denominator of equation (4) is
ι1 ) ・ ... ・ (φ ιι-1 ) ・ (φ ιι + 1 ) ・ ... ・ (φ ιk )
And the numerator of formula (4) is
(η-φ 1 ) ・ ・ ・ ・ ・ (η-φ ι-1 ) ・ (η-φ ι + 1 ) ・ ... ・ (η-φ k )
It is.

H:Hは{0,1}*を{0,1}kに移すハッシュ関数H:{0,1}* →{0,1}κを表す。
H':H'は{0,1}*をZpに移すハッシュ関数H:{0,1}* →Zpを表す。
H: H represents a hash function H: {0,1} * → {0,1} κ that moves {0,1} * to {0,1} k .
H ': H' is a hash function H moves the {0,1} * to Z p: represents the {0, 1} * → Z p.

<原理>
次に、本形態の原理を説明する。本形態では、第1鍵交換装置と第2鍵交換装置との間でセッション鍵を生成する。第1,2鍵交換装置には、それぞれ、属性情報についての論理式を表す木構造データγABが対応付けられている。第1鍵交換装置は、属性情報の集合ATTの部分集合である属性集合δA⊂ATTを設定して第2鍵交換装置に対して出力し、第2鍵交換装置は、属性情報jの集合ATTの部分集合である属性集合δB⊂ATTを設定して第1鍵交換装置に対して出力する。ここで、属性集合δAが木構造データγBに対応する論理式を真にし、属性集合δBが木構造データγAに対応する論理式を真にする場合に、第1鍵交換装置と第2鍵交換装置との間で同一のセッション鍵が生成される。まず、木構造データの基本構成を説明する。
<Principle>
Next, the principle of this embodiment will be described. In this embodiment, a session key is generated between the first key exchange device and the second key exchange device. Each of the first and second key exchange apparatuses is associated with tree structure data γ A and γ B representing a logical expression for attribute information. The first key exchange device sets an attribute set δ A ⊂ATT, which is a subset of the attribute information set ATT, and outputs the set to the second key exchange device. The second key exchange device sets the attribute information j An attribute set δ B ⊂ATT, which is a subset of ATT, is set and output to the first key exchange device. Here, when the attribute set δ A makes the logical expression corresponding to the tree structure data γ B true and the attribute set δ B makes the logical expression corresponding to the tree structure data γ A true, the first key exchange device The same session key is generated with the second key exchange device. First, the basic configuration of the tree structure data will be described.

[木構造データγA
第1鍵交換装置に対応する木構造データγAは、根付き木構造のデータであり、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む。ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、親ノード情報N(uAP)にはc(uAP)(c(uAP)≧1)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応する。親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、葉ノード情報N(uAL)に対応するuALの集合がL(γA)である。親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応する。ノード情報N(uA)のそれぞれには情報q(uA, η(uA))が対応する。ルートノード情報N(uAR)に対応する情報q(uAR, 0)はマスタ秘密鍵λである。また、親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))である。葉ノード情報N(uAL)にはそれぞれ1つの属性情報att(uAL)∈ATTと秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1とが対応し、秘密値D(uAL)(uAL∈L(γA))の集合が第1鍵交換装置の長期秘密鍵DA={D(uAL)}uAL∈L(γA)である。なお、t(j)(j∈ATT)はマスタ秘密鍵である。なお、添字のuAはuAを表す。
[Tree structure data γ A ]
The tree structure data γ A corresponding to the first key exchange device is data of a rooted tree structure, and U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,. , U A }). Part of the node information N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and the parent node information N (u AP ) includes c (u AP ) (c (u AP ) ≧ 1) pieces of child node information N (u AC ) (u AC ε {1,..., U A }) correspond. Any one of the parent node information N (u AP ) is the root node information N (u AR ) (u AR ∈ {1,..., U A }), and at least one of the child node information N (u AC ). Part is leaf node information N (u AL ) (u AL ∈ {1, ..., U A }), and the set of u AL corresponding to leaf node information N (u AL ) is L (γ A ) is there. Each of the parent node information N (u AP ) corresponds to a threshold value k (u AP ) that satisfies 1 ≦ k (u AP ) ≦ c (u AP ). Information q (u A , η (u A )) corresponds to each node information N (u A ). Information q (u AR , 0) corresponding to the root node information N (u AR ) is the master secret key λ. Also, the information q (u AP , η (u AP )) corresponding to the parent node information N (u AP ) is obtained by k (u AP ) -out-of-c (u AP ) threshold secret sharing. The distributed information is information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ). The leaf node information N (u AL ) has one attribute information att (u AL ) ∈ATT and a secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈ G 1 corresponds, and the set of secret values D (u AL ) (u AL ∈L (γ A )) is the long-term secret key D A = {D (u AL )} uAL∈L of the first key exchange device (γA) . Note that t (j) (j∈ATT) is a master secret key. Incidentally, uA subscript represents u A.

なお、例えば、しきい値秘密分散法として参考文献3に記載された方法が用いられる場合には、子ノード情報N(uAC)のそれぞれには識別子index(uAC)が対応し、葉ノード情報N(uAL)にはしきい値k(uAL)=1が対応し、ノード情報N(uA)のそれぞれには不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応する。ここで、η(uA)はノード情報N(uA)に対応する定数である。また、情報q(uA, η(uA))が多項式q(uA, α)に定数η(uA)を代入して得られる値であり、子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))が当該子ノード情報N(uAC)に対応する親ノード情報N(uAP)に対応する多項式q(uAP, α)に当該子ノード情報N(uAC)に対応する識別子index(uAC)を代入して得られるq(uAP, index(uAC))である。 For example, when the method described in Reference 3 is used as the threshold secret sharing method, each child node information N (u AC ) corresponds to an identifier index (u AC ), and the leaf node information N (u AL) to the threshold k (u AL) = 1 corresponds, degree d (u a) of indeterminate α each node information N (u a) = k ( u a) Corresponds to the polynomial q (u A , α) of -1. Here, η (u A ) is a constant corresponding to the node information N (u A ). The information q (u A , η (u A )) is a value obtained by substituting the constant η (u A ) into the polynomial q (u A , α) and corresponds to the child node information N (u AC ) Information q (u AC , η (u AC )) is the child node information in the polynomial q (u AP , α) corresponding to the parent node information N (u AP ) corresponding to the child node information N (u AC ) Q (u AP , index (u AC )) obtained by substituting the identifier index (u AC ) corresponding to N (u AC ).

[木構造データγB
第2鍵交換装置に対応する木構造データγBも木構造データγAと同様に構成される。すなわち、木構造データγBは、根付き木構造のデータであり、UB(UB≧2)個のノード情報N(uB)(uB∈{1,...,UB})を含む。ノード情報N(uB)の一部が親ノード情報N(uBP)(uBP∈{1,...,UB})であり、親ノード情報N(uBP)にはc(uBP)(c(uBP)≧1)個の子ノード情報N(uBC)(uBC∈{1,...,UB})が対応する。親ノード情報N(uBP)の何れか1つがルートノード情報N(uBR)(uBR∈{1,...,UB})であり、子ノード情報N(uBC)の少なくとも一部が葉ノード情報N(uBL)(uBL∈{1,...,UB})であり、葉ノード情報N(uBL)に対応するuBLの集合がL(γB)である。親ノード情報N(uBP)のそれぞれには1≦k(uBP)≦c(uBP)を満たすしきい値k(uBP) が対応する。ノード情報N(uB)のそれぞれには情報q(uB, η(uB))が対応する。ルートノード情報N(uBR)に対応する情報q(uBR, η(uBR))はマスタ秘密鍵λである。また、親ノード情報N(uBP)に対応する情報q(uBP, η(uBP))をk(uBP)-out-of-c(uBP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uBP)に対応する子ノード情報N(uBC)に対応する情報q(uBC, η(uBC))である。葉ノード情報N(uBL)にはそれぞれ1つの属性情報att(uBL)∈ATTと秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1とが対応し、秘密値D(uBL)(uBL∈L(γB))の集合が第2鍵交換装置の長期秘密鍵DB={D(uBL)}uBL∈L(γB)である。なお、添字のuBはuBを表す。
[Tree structure data γ B ]
The tree structure data γ B corresponding to the second key exchange device is configured in the same manner as the tree structure data γ A. That is, the tree structure data γ B is data of a rooted tree structure, and U B (U B ≧ 2) pieces of node information N (u B ) (u B ∈ {1, ..., U B }) Including. Part of the node information N (u B ) is parent node information N (u BP ) (u BP ∈ {1, ..., U B }), and the parent node information N (u BP ) includes c (u BP ) (c (u BP ) ≧ 1) pieces of child node information N (u BC ) (u BC ε {1,..., U B }) correspond to each other. Any one of the parent node information N (u BP ) is the root node information N (u BR ) (u BR ε {1,..., U B }), and at least one of the child node information N (u BC ). Part is leaf node information N (u BL ) (u BL ∈ {1, ..., U B }), and the set of u BL corresponding to leaf node information N (u BL ) is L (γ B ) is there. Each of the parent node information N (u BP ) corresponds to a threshold value k (u BP ) that satisfies 1 ≦ k (u BP ) ≦ c (u BP ). Information q (u B , η (u B )) corresponds to each node information N (u B ). Information q (u BR , η (u BR )) corresponding to the root node information N (u BR ) is the master secret key λ. Also, information q (u BP , η (u BP )) corresponding to parent node information N (u BP ) is obtained by k (u BP ) -out-of-c (u BP ) threshold secret sharing The distributed information is information q (u BC , η (u BC )) corresponding to the child node information N (u BC ) corresponding to the parent node information N (u BP ). The leaf node information N (u BL ) has one attribute information att (u BL ) ∈ATT and secret value D (u BL ) = g 1 q (uBL, η (uBL)) / t (att (uBL)) ∈ G 1 corresponds, and the set of secret values D (u BL ) (u BL ∈L (γ B )) is the long-term secret key D B = {D (u BL )} uBL∈L of the second key exchange device (γB) . Incidentally, uB subscript represents the u B.

なお、例えば、しきい値秘密分散法として参考文献3に記載された方法が用いられる場合には、子ノード情報N(uBC)のそれぞれには識別子index(uBC)が対応し、葉ノード情報N(uBL)にはしきい値k(uBL)=1が対応し、ノード情報N(uB)のそれぞれには不定元αについての次数d(uB)=k(uB)-1の多項式q(uB, α)が対応する。ここで、η(uB)はノード情報N(uB)に対応する定数である。また、情報q(uB, η(uB))が多項式q(uB, α)に定数η(uB)を代入して得られる値であり、子ノード情報N(uBC)に対応する情報q(uBC, η(uBC))が当該子ノード情報N(uBC)に対応する親ノード情報N(uBP)に対応する多項式q(uBP, α)に当該子ノード情報N(uBC)に対応する識別子index(uBC)を代入して得られるq(uBP, index(uBC))である。 For example, when the method described in Reference 3 is used as the threshold secret sharing method, each child node information N (u BC ) corresponds to an identifier index (u BC ), and the leaf node information N (u BL) to the threshold k (u BL) = 1 corresponds, degree d (u B) of indeterminate α each node information N (u B) = k ( u B) Corresponds to the polynomial q (u B , α) of -1. Here, η (u B ) is a constant corresponding to the node information N (u B ). Also, information q (u B , η (u B )) is a value obtained by substituting constant η (u B ) into polynomial q (u B , α) and corresponds to child node information N (u BC ) Information q (u BC , η (u BC )) is the child node information in the polynomial q (u BP , α) corresponding to the parent node information N (u BP ) corresponding to the child node information N (u BC ) Q (u BP , index (u BC )) obtained by substituting the identifier index (u BC ) corresponding to N (u BC ).

[鍵交換]
木構造データγAに対応する第1鍵交換装置と木構造データγBに対応する第2鍵交換装置とは、以下の処理によってセッション鍵の生成を行う。
[Key exchange]
The first key exchange device corresponding to the tree structure data γ A and the second key exchange device corresponding to the tree structure data γ B generate a session key by the following processing.

第1鍵交換装置は、短期秘密鍵sAを任意に生成し、属性情報の集合ATTの部分集合である属性集合δA⊂ATTと長期秘密鍵DAと短期秘密鍵sAとを用い、長期秘密鍵DAと短期秘密鍵sAとを含む値の像χに対する元T(wA)χ∈G2 (wA∈δA)の集合であるTA={T(wA)χ}wA∈δAを含む第1短期公開鍵を生成し、属性集合δAと第1短期公開鍵とを第2鍵交換装置に対して出力する。なお、T(j)=g2 t(j)∈G2はマスタ公開鍵である。また、添字のwA,δAは、それぞれwAAを表す。 The first key exchange apparatus generates arbitrarily short secret key s A, using the attribute set δ A ⊂ATT and long secret key D A and short secret key s A is a subset of the set of attribute information ATT, T A = {T (w A ) χ which is a set of elements T (w A ) χ ∈ G 2 (w A ∈δ A ) for the image χ of values including the long-term secret key D A and the short-term secret key s A } A first short-term public key including wAεδA is generated, and the attribute set δ A and the first short-term public key are output to the second key exchange device. Note that T (j) = g 2 t (j) ∈ G 2 is a master public key. Also, subscripts wA, .delta.A each represent w A, [delta] A.

第2鍵交換装置は、短期秘密鍵sBを任意に生成し、属性情報の集合ATTの部分集合である属性集合δB⊂ATTと長期秘密鍵DBと短期秘密鍵sBとを用い、長期秘密鍵DBと短期秘密鍵sBとを含む値の像υに対する元T(wB)υ∈G2 (wB∈δB)の集合であるTB={T(wB)υ}wB∈δBを含む第2短期公開鍵を生成し、属性集合δBと第2短期公開鍵とを第1鍵交換装置に対して出力する。なお、添字のwB,δBは、それぞれwBBを表す。 The second key exchange unit, short-term secret key s B optionally generate, using the attribute set δ B ⊂ATT and long secret key D B and short secret key s B is a subset of the set of attribute information ATT, T B = {T (w B ) υ which is a set of elements T (w B ) υ ∈ G 2 (w B ∈δ B ) for the image υ of the value including the long-term secret key D B and the short-term secret key s B } A second short-term public key including wBεδB is generated, and the attribute set δ B and the second short-term public key are output to the first key exchange device. Note that subscripts wB, .delta.B each represent w B, [delta] B.

第1鍵交換装置は、属性集合δBと第2短期公開鍵との入力を受け付け、属性集合δBに属する属性情報att(uAL)∈δBに対応する葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1と第2短期公開鍵が含む元T(att(uAL))υ∈G2とに対し、双線形写像eを作用させ、葉ノード情報N(uAL)に対して復元値e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, η(uAL))∈GTを生成する。また、第1鍵交換装置は、自らに対応する子ノード情報N(uAC)のうち復元値gT υ・q(uAC, η(uAC))∈GTが生成されたものの合計数が自らに対応するしきい値k(uAP)以上となる親ノード情報N(uAP)に対し、当該しきい値k(uAP)以上の復元値gT υ・q(uAC, η(uAC))∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT υ・q(uAP, η(uAP))∈GTを生成する。ここで、ルートノード情報N(uAR)に対する復元値gT υ・q(uAR, η(uAR))=gT υ・λ∈GTが生成された場合、第2鍵交換装置は、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとを含む値の像を第1セッション鍵として出力する。なお、Λ=gT λ∈GTはマスタ公開鍵を表す。 The first key exchange device receives the input of the attribute set δ B and the second short-term public key, and the leaf node information N (u AL ) corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B Secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈ G 1 and element T (att (u AL )) included in the second short-term public key A bilinear map e is applied to υ ∈ G 2 and the restored value e (D (u AL ), T (att (u AL )) υ ) = g T for leaf node information N (u AL ) υ · q (uAL, η ( uAL)) to generate a ∈G T. The first key exchange apparatus, reconstruction value g T υ · q of themselves to the corresponding child node information N (u AC) (uAC, η (uAC)) Total number itself but ∈G T is generated parent node information becomes corresponding threshold k (u AP) or more with respect to N (u AP), the threshold k (u AP) or reconstruction values g T υ · q (uAC, η (uAC) ) ∈ G T is used as shared information of k (u AP ) -out-of-c (u AP ) threshold secret sharing scheme, and the restored value g T υ ・ q (uAP, η ( uAP)) to generate a ∈G T. Here, when the restored value g T υ · q (uAR, η (uAR)) = g T υ · λ ∈G T for the root node information N (u AR ) is generated, the second key exchange apparatus and it outputs the image of values including and χ = g T χ · λ ∈G T and g T υ · λ ∈G T as the first session key. It should be noted, Λ = g T λ ∈G T represents the master public key.

第2鍵交換装置は、属性集合δAと第1短期公開鍵との入力を受け付け、属性集合δAに属する属性情報att(uBL)∈δAに対応する葉ノード情報N(uBL)に対応する秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1と第1短期公開鍵が含む元T(att(uBL))χ∈G2とに対し、双線形写像eを作用させ、葉ノード情報N(uBL)に対して復元値e(D(uBL), T(att(uBL))χ)=gT χ・q(uBL, η(uBL))∈GTを生成する。また、第2鍵交換装置は、自らに対応する子ノード情報N(uBC)のうち復元値gT χ・q(uBC, η(uBC))∈GTが生成されたものの合計数が自らに対応するしきい値k(uBP)以上となる親ノード情報N(uBP)に対し、当該しきい値k(uBP)以上の復元値gT χ・q(uBC, η(uBC))∈GTをk(uBP)-out-of-c(uBP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT χ・q(uBP, η(uBP))∈GTを生成する。ここで、ルートノード情報N(uBR)に対する復元値gT χ・q(uBR, η(uBR))=gT χ・λ∈GTが生成された場合、第2鍵交換装置は、gT χ・λ∈GTとΛυ=gT υ・λ∈GTとを含む値の像を第2セッション鍵として出力する。 The second key exchange device receives the input of the attribute set δ A and the first short-term public key, and the leaf node information N (u BL ) corresponding to the attribute information att (u BL ) ∈δ A belonging to the attribute set δ A Secret value D (u BL ) = g 1 q (uBL, η (uBL)) / t (att (uBL)) ∈ G 1 and element T (att (u BL )) included in the first short-term public key A bilinear map e is applied to χ ∈ G 2 and the restored value e (D (u BL ), T (att (u BL )) χ ) = g T for leaf node information N (u BL ) χ · q (uBL, η (uBL)) ∈G T is generated. In addition, the second key exchange device has its own total number of the child node information N (u BC ) corresponding to itself for which the restoration value g T χ · q (uBC, η (uBC)) ∈G T is generated. parent node information becomes corresponding threshold k (u BP) above with respect to N (u BP), the threshold k (u BP) or reconstruction values g T χ · q (uBC, η (uBC) ) ∈ G T is used as shared information of k (u BP ) -out-of-c (u BP ) threshold secret sharing method, and the restored value g T χ ・ q (uBP, η ( uBP)) ∈ G T is generated. Here, if the restored value g T χ · q (uBR, η (uBR)) for the root node information N (u BR) = g T χ · λ ∈G T is generated, the second key exchange unit, g and it outputs the image of the values, including the T χ · λ ∈G T and Λ υ = g T υ · λ ∈G T as the second session key.

[特徴]
本形態の木構造データγAは各葉ノード情報N(uAL)に対応する属性情報att(uAL)⊂δBについての論理式を表し、第1鍵交換装置は、与えられた属性集合δBが木構造データγAに表される論理式を真にする場合に第1セッション鍵を生成する。言い換えると、与えられた属性集合δBに葉ノード情報N(uAL)に対応する属性情報att(uAL)が含まれた場合(「uALが満たされる」と呼ぶ)、当該属性情報att(uAL)⊂δBに対応する葉ノード情報N(uAL)に対応する情報q(uAL, η(uAL))に対応する復元値gT υ・q(uAL, η(uAL))が復元される。また、子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))に対応する情報が、それらの親ノード情報N(uAP)に対応するしきい値k(uAP)以上得られた場合(「uAPが満たされる」と呼ぶ)、親ノード情報N(uAP)に対応する復元値gT υ・q(uAP, η(uAP))が得られる。そして、ルートノード情報N(uAR)の子ノード情報N(uAC)に対応する復元値gT υ・q(uAC, η(uAC))が、ルートノード情報N(uAR)に対応するしきい値k(uAR)以上得られ(「木構造データγAが満たされる」と呼ぶ)、ルートノード情報N(uAR)に対応する復元値gT υ・q(uAR, η(uAR))=gT υ・λが得られた場合、得られたgT υ・λ2とマスタ公開鍵Λから生成されるΛχ=gT χ・λ1とに対応する第1セッション鍵が生成される。
[Feature]
The tree structure data γ A in this embodiment represents a logical expression for the attribute information att (u AL ) ⊂δ B corresponding to each leaf node information N (u AL ), and the first key exchange device uses the given attribute set. [delta] B generates a first session key when a true logical expression represented in the tree structure data gamma a. In other words, (referred to as "u AL is satisfied") when the attribute information corresponding to a given attribute set [delta] B in the leaf node information N (u AL) att (u AL) were included, the attribute information att (u AL ) ⊂δ B Restored value g T υ · q (uAL, η (uAL) corresponding to information q (u AL , η (u AL )) corresponding to leaf node information N (u AL ) corresponding to B ) Is restored. The information corresponding to the information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) is the threshold value k (u corresponding to the parent node information N (u AP ). If obtained AP) or more (referred to as "u AP is satisfied"), the restored value g T υ · q (uAP corresponding to the parent node information N (u AP), eta (UAP)) is obtained. Then, the restored value g T υ · q (uAC, η (uAC)) corresponding to the child node information N (u AC) of the root node information N (u AR) corresponds to the root node information N (u AR) A restoration value g T υ · q (uAR, η (uAR ) corresponding to the root node information N (u AR ) obtained by obtaining a threshold value k (u AR ) or more (referred to as “the tree structure data γ A is satisfied”). )) = g T υ · λ is obtained, the second one corresponding to the obtained g T υ · λ = σ 2 and Λ χ = g T χ · λ = σ 1 generated from the master public key Λ One session key is generated.

同様に、本形態の木構造データγBは各葉ノード情報N(uBL)に対応する属性情報att(uBL)⊂δBについての論理式を表し、第2鍵交換装置は、与えられた属性集合δAが木構造データγBに表される論理式を真にする場合に第2セッション鍵を生成する。言い換えると、与えられた属性集合δAに葉ノード情報N(uBL)に対応する属性情報att(uBL)が含まれた場合(「uBLが満たされる」と呼ぶ)、当該属性情報att(uBL)⊂δAに対応する葉ノード情報N(uBL)に対応する復元値gT χ・q(uBL, η(uBL))が復元される。また、子ノード情報N(uBC)に対応する情報q(uBC, η(uBC))に対応する復元値gT χ・q(uBC, η(uBC))が、それらの親ノード情報N(uBP)に対応するしきい値k(uBP)以上得られた場合(「uBPが満たされる」と呼ぶ)、親ノード情報N(uBP)に対応する復元値gT χ・q(uBP, η(uBP))が得られる。そして、ルートノード情報N(uBR)の子ノード情報N(uBC)に対応する復元値gT χ・q(uBC, η(uBC))が、ルートノード情報N(uBR)に対応するしきい値k(uBR)以上得られ(「γBが満たされる」と呼ぶ)、ルートノード情報N(uBR)に対応する復元値gT χ・q(uBR, η(uBR))=gT χ・λが得られた場合、得られたgT χ・λ1∈GTとマスタ公開鍵Λから生成されるΛυ=gT υ・λ2∈GTとに対応する第2セッション鍵が生成される。 Similarly, the tree structure data γ B of this embodiment represents a logical expression for the attribute information att (u BL ) ⊂δ B corresponding to each leaf node information N (u BL ), and the second key exchange device is given. The second session key is generated when the attribute set δ A makes the logical expression represented by the tree structure data γ B true. In other words, (referred to as "u BL is satisfied") when the attribute information corresponding to a given attribute set [delta] A leaf node information N (u BL) att (u BL) were included, the attribute information att A restored value g T χ · q (uBL, η (uBL)) corresponding to leaf node information N (u BL ) corresponding to (u BL ) ⊂δ A is restored. Also, the restored value g T χ · q (uBC, η (uBC)) corresponding to the information q (u BC , η (u BC )) corresponding to the child node information N (u BC ) is the parent node information thereof. When the threshold value k (u BP ) or more corresponding to N (u BP ) is obtained (referred to as “u BP is satisfied”), the restored value g T χ · corresponding to the parent node information N (u BP ) q (uBP, η (uBP)) is obtained. Then, the restored value g T χ · q (uBC, η (uBC)) corresponding to the child node information N (u BC) of the root node information N (u BR) corresponds to the root node information N (u BR) The threshold value k (u BR ) or more is obtained (referred to as “γ B is satisfied”), and the restored value g T χ · q (uBR, η (uBR)) corresponding to the root node information N (u BR ) = When g T χ · λ is obtained, the obtained g T χ · λ = σ 1 ∈G T and Λ υ = g T υ ・ λ = σ 2 ∈G T generated from the master public key Λ A corresponding second session key is generated.

ここで、第1鍵交換装置が生成するΛχ=gT χ・λ1は第2鍵交換装置が生成するgT χ・λ1と等しく、第1鍵交換装置が生成するgT υ・λ2は第2鍵交換装置が生成するΛυ=gT υ・λ2と等しい。よって、第1、2鍵交換装置は同一のセッション鍵を共有できる。すなわち、本形態では、属性集合δBに対してγAが満たされ、属性集合δAに対してγBが満たされた場合に、第1、2鍵交換装置で同一のセッション鍵を共有できる。このことを「属性集合が木構造データを満たす」という命題を表す述語
P:{0,1}Φ×{0,1}Φ→{0,1} …(5)
を用いて表現すると、「P(δB, γA)=1かつP(δA, γB)=1の場合に第1、2鍵交換装置が同一のセッション鍵を共有できる」となる。なお、P(δ, γ)=1とは「属性集合δが木構造データγを満たす」という命題を表す述語が真であることを表し、P(δ, γ)=0とは「属性集合δが木構造データγを満たす」という命題を表す述語が偽であることを表す。
Here, Λ χ = g T χ · λ = σ 1 generated by the first key exchange device is equal to g T χ · λ = σ 1 generated by the second key exchange device, and is generated by the first key exchange device. g T υ · λ = σ 2 is equal to Λ υ = g T υ · λ = σ 2 generated by the second key exchange apparatus. Therefore, the first and second key exchange devices can share the same session key. In other words, in this embodiment, gamma A is satisfied for the attribute set [delta] B, when the gamma B are satisfied for the attribute set [delta] A, can share the same session key in the first and second key exchange unit . This predicate expresses the proposition that "the attribute set satisfies the tree structure data"
P: {0,1} Φ × {0,1} Φ → {0,1}… (5)
In other words, when P (δ B , γ A ) = 1 and P (δ A , γ B ) = 1, the first and second key exchange devices can share the same session key. Note that P (δ, γ) = 1 means that the predicate representing the proposition that “attribute set δ satisfies the tree structure data γ” is true, and P (δ, γ) = 0 means “attribute set It represents that the predicate representing the proposition “δ satisfies the tree structure data γ” is false.

また、第1鍵交換装置がさらに元X=g1 χ∈G1を生成し、第1短期公開鍵がさらに元X=g1 χ∈G1を含み、第2鍵交換装置がさらに元Y=g1 υ∈G1を生成し、第2短期公開鍵がさらに元Y=g1 υ∈G1を含み、P(δB, γA)=1の場合に第1鍵交換装置がσ1χ=gT χ・λ∈GTとσ2=gT υ・λ∈GTとσ3=Yχ∈G1とを含む値の像を第1セッション鍵として出力し、P(δA, γB)=1の場合に第2鍵生成装置がσ1=gT χ・λ∈GTとσ2υ=gT υ・λ∈GTとσ3=Xυ∈G1とを含む値の像を第2セッション鍵として出力してもよい。この場合(「限定形態」と呼ぶ)、短期秘密鍵が第三者に漏洩したことを考慮したeCKと呼ばれるモデルでの安全性が確保される。 The first key exchange apparatus further generates the original X = g 1 chi ∈G 1, first short public key comprises further a source X = g 1 chi ∈G 1, second key exchange apparatus further element Y = generates a g 1 upsilon ∈G 1, second comprise short-term public key is further based on Y = g 1 υ ∈G 1, P (δ B, γ a) = 1 first key exchange apparatus in the case of the σ 1 = Λ χ = g T χ · λ ∈G T and σ 2 = g T υ · λ ∈G T and σ 3 = Y χ ∈G 1 are output as the first session key. When (δ A , γ B ) = 1, the second key generator is σ 1 = g T χ · λ ∈G T and σ 2 = Λ υ = g T υ · λ ∈G T and σ 3 = X υ An image of a value including εG 1 may be output as the second session key. In this case (referred to as “limited form”), security is secured in a model called eCK that takes into account that the short-term secret key has been leaked to a third party.

例えば、従来のSYL方式では、短期秘密鍵が攻撃者に漏洩した場合、攻撃者は次のような攻撃を行うことで正規のユーザBに成り済ますことができる。   For example, in the conventional SYL method, when a short-term secret key is leaked to an attacker, the attacker can impersonate a legitimate user B by performing the following attack.

(1) 攻撃者は、ユーザAの短期秘密鍵χAを得る。
(2) 攻撃者は、ユーザAから(IDA,IDB,XA)を受信したら、IDBからQB=H1(IDB)を計算し、χB=QB (-1)とし、(IDA,IDB,XA,XB)をユーザAに送る。このとき、ユーザAが計算するσ1はσ1=e(DA・ΛχA,QB・QB (-1))=e(DA・ΛχA,QB)0=1∈GTとなるので、攻撃者は他の値を知らなくてもσ1の値を知ることができる。また、攻撃者は短期秘密鍵χAを用いてσ2=XB χAも計算することができる。よって、攻撃者はセッション鍵Kを計算し、ユーザBに成り済ますことができる。
(1) The attacker obtains user A's short-term secret key χ A.
(2) the attacker, upon receiving the (ID A, ID B, X A) from the user A, and calculates the Q B = H 1 from ID B (ID B), and χ B = Q B (-1) , (ID A , ID B , X A , X B ) are sent to user A. In this case, sigma 1 user A calculation σ 1 = e (D A · Λ χA, Q B · Q B (-1)) = e (D A · Λ χA, Q B) 0 = 1∈G T Therefore, the attacker can know the value of σ 1 without knowing other values. The attacker can also calculate σ 2 = X B χA using the short-term secret key χ A. Thus, the attacker can calculate the session key K and impersonate user B.

一方、上記の限定形態の場合、短期秘密鍵が攻撃者に漏洩しても、攻撃者はセッション鍵の情報を入手することはできない。なぜなら、υやχは短期秘密鍵と長期秘密鍵とを用いて計算されるため、短期秘密鍵のみが攻撃者に漏洩しても、攻撃者はυやχを知ることができず、σ3=Xυやσ3=Yχを計算することができないからである。 On the other hand, in the case of the above limited form, even if the short-term secret key is leaked to the attacker, the attacker cannot obtain the session key information. Because υ and χ are calculated using the short-term secret key and the long-term secret key, even if only the short-term secret key is leaked to the attacker, the attacker cannot know υ and χ, and σ 3 This is because = X υ and σ 3 = Y χ cannot be calculated.

〔実施形態〕
次に、本発明の実施形態を説明する。なお、以下では、しきい値秘密分散法として参考文献3に記載された方法が用いられ、ノード情報N(uA)に対応する定数η(uA)が0であり、ノード情報N(uB)に対応する定数η(uB)が0である場合を例にとって説明する。ただし、これは本発明を限定するものではない。
Embodiment
Next, an embodiment of the present invention will be described. In the following, the method described in reference 3 is used as a threshold secret sharing scheme, the constant η (u A) corresponding to the node information N (u A) is 0, the node information N (u A case where the constant η (u B ) corresponding to B ) is 0 will be described as an example. However, this does not limit the present invention.

<構成>
図1に例示するように、実施形態の鍵交換システム1は、鍵交換装置110、120と鍵生成装置130と鍵抽出装置140とを有し、ネットワークや可搬型記録媒体(以下「ネットワーク等」)を経由して装置間の情報伝達を行う。鍵交換装置110、120、鍵生成装置130、及び鍵抽出装置140は、それぞれ、CPU(central processing unit)やRAM(random-access memory)などを備えた公知又は専用のコンピュータと特別なプログラムとによって構成され、特別なプログラムが読み込まれたCPUが当該特別なプログラムに従った処理を実行することで各機能が実現される。なお、特別なプログラムは、単一のプログラム列によって構成されてもよいし、他のプログラムやライブラリを読み出して目的の機能を達成するプログラムであってもよい。また、処理部の少なくとも一部が集積回路によって構成されていてもよい。
<Configuration>
As illustrated in FIG. 1, the key exchange system 1 according to the embodiment includes key exchange devices 110 and 120, a key generation device 130, and a key extraction device 140, and a network or a portable recording medium (hereinafter “network or the like”). ) To communicate information between devices. Each of the key exchange devices 110 and 120, the key generation device 130, and the key extraction device 140 is a known or dedicated computer having a CPU (central processing unit), a RAM (random-access memory), and the like, and a special program. Each function is realized by the CPU configured and executing the processing according to the special program when the special program is read. The special program may be configured by a single program sequence, or may be a program that reads out another program or library and achieves a target function. Further, at least a part of the processing unit may be configured by an integrated circuit.

[鍵交換装置110]
図2に例示するように、実施形態の鍵交換装置110は、入力部111aと、出力部111bと、記憶部112と、制御部113と、判定部114と、短期秘密鍵生成部115aと、ハッシュ演算部115bと、短期公開鍵生成部115c,115dと、葉ノード復元値生成部116と、親ノード復元値生成部117と、演算部118と、鍵生成部119とを有する。入力部111aや出力部111bは、例えば、通信装置、入出力インタフェース、入出力ポートなどである。記憶部112は、例えば、RAM、レジスタ、キャッシュメモリ、ハードディスクなどから構成される記憶領域である。制御部113、判定部114、短期秘密鍵生成部115a、ハッシュ演算部115b、短期公開鍵生成部115c,115d、葉ノード復元値生成部116、親ノード復元値生成部117、演算部118、及び鍵生成部119は、特別なプログラムが読み込まれたCPUや集積回路である。なお、鍵交換装置110は、記憶部112の制御のもとで各処理を実行する。
[Key exchange device 110]
As illustrated in FIG. 2, the key exchange device 110 according to the embodiment includes an input unit 111a, an output unit 111b, a storage unit 112, a control unit 113, a determination unit 114, a short-term secret key generation unit 115a, The hash calculation unit 115b, the short-term public key generation units 115c and 115d, the leaf node restoration value generation unit 116, the parent node restoration value generation unit 117, the calculation unit 118, and the key generation unit 119 are included. The input unit 111a and the output unit 111b are, for example, a communication device, an input / output interface, an input / output port, and the like. The storage unit 112 is a storage area including, for example, a RAM, a register, a cache memory, a hard disk, and the like. A control unit 113, a determination unit 114, a short-term secret key generation unit 115a, a hash calculation unit 115b, short-term public key generation units 115c and 115d, a leaf node restoration value generation unit 116, a parent node restoration value generation unit 117, a calculation unit 118, and The key generation unit 119 is a CPU or an integrated circuit in which a special program is read. Note that the key exchange device 110 executes each process under the control of the storage unit 112.

[鍵交換装置120]
図3に例示するように、実施形態の鍵交換装置120は、入力部121aと、出力部121bと、記憶部122と、制御部123と、判定部124と、短期秘密鍵生成部125aと、ハッシュ演算部125bと、短期公開鍵生成部125c,125dと、葉ノード復元値生成部126と、親ノード復元値生成部127と、演算部128と、鍵生成部129とを有する。入力部121aや出力部121bは、例えば、通信装置、入出力インタフェース、入出力ポートなどである。記憶部122は、例えば、RAM、レジスタ、キャッシュメモリ、ハードディスクなどから構成される記憶領域である。制御部123、判定部124、短期秘密鍵生成部125a、ハッシュ演算部125b、短期公開鍵生成部125c,125d、葉ノード復元値生成部126、親ノード復元値生成部127、演算部128、及び鍵生成部129は、特別なプログラムが読み込まれたCPUや集積回路である。なお、鍵交換装置120は、記憶部122の制御のもとで各処理を実行する。
[Key exchange device 120]
As illustrated in FIG. 3, the key exchange device 120 according to the embodiment includes an input unit 121a, an output unit 121b, a storage unit 122, a control unit 123, a determination unit 124, a short-term secret key generation unit 125a, The hash calculation unit 125b, the short-term public key generation units 125c and 125d, the leaf node restoration value generation unit 126, the parent node restoration value generation unit 127, the calculation unit 128, and the key generation unit 129 are included. The input unit 121a and the output unit 121b are, for example, a communication device, an input / output interface, an input / output port, and the like. The storage unit 122 is a storage area including, for example, a RAM, a register, a cache memory, a hard disk, and the like. A control unit 123, a determination unit 124, a short-term secret key generation unit 125a, a hash calculation unit 125b, short-term public key generation units 125c and 125d, a leaf node restoration value generation unit 126, a parent node restoration value generation unit 127, a calculation unit 128, and The key generation unit 129 is a CPU or an integrated circuit in which a special program is read. Note that the key exchange device 120 executes each process under the control of the storage unit 122.

[鍵抽出装置140]
図4に例示するように、鍵抽出装置140は、入力部141と、出力部142と、記憶部143と、制御部144と、設定部145、146と、秘密値生成部147とを有する。設定部145は、情報設定部145aと多項式設定部145bとを含む。また、設定部146は、情報設定部146aと多項式設定部146bとを含む。入力部141や出力部142は、例えば、通信装置、入出力インタフェース、入出力ポートなどである。記憶部143は、例えば、RAM、レジスタ、キャッシュメモリ、ハードディスクなどから構成される記憶領域である。制御部144、設定部145、146、及び秘密値生成部147は、特別なプログラムが読み込まれたCPUや集積回路である。なお、鍵抽出装置140は、記憶部143の制御のもとで各処理を実行する。
[Key Extractor 140]
As illustrated in FIG. 4, the key extraction device 140 includes an input unit 141, an output unit 142, a storage unit 143, a control unit 144, setting units 145 and 146, and a secret value generation unit 147. The setting unit 145 includes an information setting unit 145a and a polynomial setting unit 145b. The setting unit 146 includes an information setting unit 146a and a polynomial setting unit 146b. The input unit 141 and the output unit 142 are, for example, a communication device, an input / output interface, an input / output port, and the like. The storage unit 143 is a storage area including, for example, a RAM, a register, a cache memory, a hard disk, and the like. The control unit 144, the setting units 145 and 146, and the secret value generation unit 147 are a CPU or an integrated circuit in which a special program is read. The key extraction device 140 executes each process under the control of the storage unit 143.

<公開パラメータ設定処理>
事前処理として、プロトコルIDであるΩ、セキュリティパラメータκ、巡回群G1, G2, GT、生成元g1, g2, gT、ハッシュ関数H, H'、Zp、「属性集合が木構造データを満たす」という命題を表す述語P、属性情報の集合ATT={1,...,J}などの公開パラメータが鍵交換装置110、120、鍵生成装置130、鍵抽出装置140に共有され、各装置で利用可能な状態とされる。
<Public parameter setting process>
As pre-processing, the protocol ID Ω, security parameter κ, cyclic group G 1 , G 2 , G T , generators g 1 , g 2 , g T , hash functions H, H ′, Z p , “attribute set is Public parameters such as a predicate P representing a proposition “satisfying tree structure data” and a set of attribute information ATT = {1,..., J} are transmitted to the key exchange devices 110 and 120, the key generation device 130, and the key extraction device 140. Shared and available for use by each device.

<鍵生成処理>
鍵生成装置130(図1)は、ランダムにマスタ秘密鍵λ∈UZpを選択し、さらに、ランダムにt(j)∈UZpをすべての属性情報j∈ATTについて選択し、すべての属性情報j∈ATTについてのt(j)の集合をマスタ秘密鍵{t(j)}j∈ATTとする。また、鍵生成装置130は、マスタ公開鍵Λ=gT λ∈GTを生成し、さらに、すべての属性情報j∈ATTについてT(j)=g2 t(j)∈G2を生成し、すべての属性情報j∈ATTについてのT(j)の集合をマスタ公開鍵{T(j)}j∈ATTとする。マスタ秘密鍵λ, {t(j)}j∈ATTは、鍵抽出装置140(図4)に安全に送られ、入力部141に入力され、記憶部143に格納される。一方、マスタ公開鍵Λ, {T(j)}j∈ATTは、鍵交換装置110,120(図2,3)に送られ、それぞれ、入力部111a,121aに入力されて記憶部112,122に格納される。
<Key generation process>
The key generation device 130 (FIG. 1) randomly selects the master secret key λε U Z p , and randomly selects t (j) ε U Z p for all the attribute information jεATT, A set of t (j) for the attribute information j∈ATT is a master secret key {t (j)} j∈ATT . Further, the key generation device 130 generates a master public key Λ = g T λ ∈G T, further generates a T (j) = g 2 t (j) ∈G 2 for all of the attribute information j∈ATT A set of T (j) for all attribute information j∈ATT is a master public key {T (j)} j∈ATT . The master secret key λ, {t (j)} jεATT is securely sent to the key extraction device 140 (FIG. 4), input to the input unit 141, and stored in the storage unit 143. On the other hand, the master public key Λ, {T (j)} j∈ATT is sent to the key exchange devices 110 and 120 (FIGS. 2 and 3), and is input to the input units 111a and 121a, respectively, and the storage units 112 and 122. Stored in

<鍵抽出処理>
事前処理として、選択された属性情報att(uAL)∈ATTについての論理式を表す木構造データγAが鍵交換装置110の記憶部112に格納され、選択された属性情報att(uBL)∈ATTについての論理式を表す木構造データγBが鍵交換装置120の記憶部122に格納される。これらの論理式は事前に定められる。また、木構造データγABにはそれぞれに対応する論理式を特定する情報が付される。
<Key extraction process>
As pre-processing, tree structure data γ A representing a logical expression for the selected attribute information att (u AL ) εATT is stored in the storage unit 112 of the key exchange apparatus 110, and the selected attribute information att (u BL ) Tree-structured data γ B representing a logical expression for εATT is stored in the storage unit 122 of the key exchange device 120. These logical expressions are determined in advance. Also, the tree structure data γ A and γ B are attached with information for specifying the corresponding logical expressions.

本形態の木構造データγAは、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含み、ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、子ノード情報N(uAC)のそれぞれには識別子index(uAC)が対応する。親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、葉ノード情報N(uAL)に対応するuALの集合がL(γA)である。親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、葉ノード情報N(uAL)にはしきい値k(uAL)=1が対応する。また、葉ノード情報N(uAL)にはそれぞれ1つの属性情報att(uAL)∈ATTが対応する。本形態の木構造データγAは、このようにノード情報N(uA)としきい値k(uA)と識別子index(uAC)と属性情報att(uAL)とが対応付けられたデータである。 The tree structure data γ A in this embodiment includes U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,..., U A }), and node information N (u A ) is part of the parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and the parent node information N (u AP ) has c (u AP ) children. Node information N (u AC ) (u AC ε {1,..., U A }) corresponds, and each child node information N (u AC ) corresponds to an identifier index (u AC ). Any one of the parent node information N (u AP ) is the root node information N (u AR ) (u AR ∈ {1,..., U A }), and at least one of the child node information N (u AC ). Part is leaf node information N (u AL ) (u AL ∈ {1, ..., U A }), and the set of u AL corresponding to leaf node information N (u AL ) is L (γ A ) is there. Each of the parent node information N (u AP ) corresponds to a threshold value k (u AP ) that satisfies 1 ≦ k (u AP ) ≦ c (u AP ), and the leaf node information N (u AL ) The threshold value k (u AL ) = 1 corresponds. Each piece of leaf node information N (u AL ) corresponds to one piece of attribute information att (u AL ) ∈ATT. In this way, the tree structure data γ A is data in which node information N (u A ), threshold value k (u A ), identifier index (u AC ), and attribute information att (u AL ) are associated with each other. It is.

本形態の木構造データγBは、UB(UB≧2)個のノード情報N(uB)(uB∈{1,...,UB})を含み、ノード情報N(uB)の一部が親ノード情報N(uBP)(uBP∈{1,...,UB})であり、親ノード情報N(uBP)にはc(uBP)個の子ノード情報N(uBC)(uBC∈{1,...,UB})が対応し、子ノード情報N(uBC)のそれぞれには識別子index(uBC)が対応する。親ノード情報N(uBP)の何れか1つがルートノード情報N(uBR)(uBR∈{1,...,UB})であり、子ノード情報N(uBC)の少なくとも一部が葉ノード情報N(uBL)(uBL∈{1,...,UB})であり、葉ノード情報N(uBL)に対応するuBLの集合がL(γB)である。親ノード情報N(uBP)のそれぞれには1≦k(uBP)≦c(uBP)を満たすしきい値k(uBP)が対応し、葉ノード情報N(uBL)にはしきい値k(uBL)=1が対応する。また、葉ノード情報N(uBL)にはそれぞれ1つの属性情報att(uBL)∈ATTが対応する。本形態の木構造データγBは、このようにノード情報N(uB)としきい値k(uB)と識別子index(uBC)と属性情報att(uBL)とが対応付けられたデータである。 The tree structure data γ B in this embodiment includes U B (U B ≧ 2) pieces of node information N (u B ) (u B ∈ {1, ..., U B }), and the node information N (u B ) is part of parent node information N (u BP ) (u BP ∈ {1, ..., U B }), and the parent node information N (u BP ) has c (u BP ) children. Node information N (u BC ) (u BC ε {1,..., U B }) corresponds, and each child node information N (u BC ) corresponds to an identifier index (u BC ). Any one of the parent node information N (u BP ) is the root node information N (u BR ) (u BR ε {1,..., U B }), and at least one of the child node information N (u BC ). Part is leaf node information N (u BL ) (u BL ∈ {1, ..., U B }), and the set of u BL corresponding to leaf node information N (u BL ) is L (γ B ) is there. Each of the parent node information N (u BP ) corresponds to a threshold value k (u BP ) that satisfies 1 ≦ k (u BP ) ≦ c (u BP ), and the leaf node information N (u BL ) The threshold value k (u BL ) = 1 corresponds. Each piece of leaf node information N (u BL ) corresponds to one piece of attribute information att (u BL ) εATT. In this way, the tree structure data γ B is data in which the node information N (u B ), threshold value k (u B ), identifier index (u BC ), and attribute information att (u BL ) are associated with each other. It is.

[木構造データの具体例]
以下に、木構造データγAを例にとって木構造データの具体例を示す。ここでは木構造データγAの具体例を示すが、木構造データγBも同様に構成できる。
[Specific example of tree structure data]
Hereinafter, specific examples of the tree structure data will be shown by taking the tree structure data γ A as an example. Although a specific example of the tree structure data γ A is shown here, the tree structure data γ B can be configured in the same manner.

《論理式(1∧2)∨4の例》
図8A及び図8Bに例示する木構造データγAは、属性情報1, 2, 4についての論理式(1∧2)∨4に対応する。この例の木構造データγAは、5個のノード情報N(uA)(uA∈{1,...,5})を含む。ノード情報N(uA)の一部が親ノード情報N(1),N(2)であり、親ノード情報N(1)にはc(1)=2個の子ノード情報N(2), N(5)が対応し、親ノード情報N(2)にはc(2)=2個の子ノード情報N(3), N(4)が対応する。子ノード情報N(2), N(5)のそれぞれには識別子index(2)=1, index(5)=2が対応し、子ノード情報N(3), N(4)のそれぞれには識別子index(3)=1, index(4)=2が対応する。親ノード情報N(1), N(2)の1つがルートノード情報N(1)であり、子ノード情報N(2), N(3), N(4), N(5)の一部が葉ノード情報N(3), N(4), N(5)である。葉ノード情報N(3), N(4), N(5)に対応するuAL=3, 4, 5の集合がL(γA)={3, 4, 5}である。親ノード情報N(1)には1≦k(1)≦2を満たすしきい値k(1)=1が対応し、親ノード情報N(2)には1≦k(2)≦2を満たすしきい値k(2)=2が対応し、葉ノード情報N(3), N(4), N(5)にはしきい値k(3)=k(4)=k(5)=1が対応する。葉ノード情報N(3), N(4), N(5)にはそれぞれ属性情報att(3)=1, att(4)=2, att(5)=4∈ATTが対応する。
《Example of logical expression (1∧2) ∨4》
The tree structure data γ A illustrated in FIGS. 8A and 8B corresponds to the logical expression (1∧2) ∨4 for the attribute information 1, 2, and 4. The tree structure data γ A in this example includes five pieces of node information N (u A ) (u A ε {1,..., 5}). Part of the node information N (u A ) is parent node information N (1), N (2), and the parent node information N (1) includes c (1) = 2 pieces of child node information N (2) , N (5) and c (2) = 2 pieces of child node information N (3) and N (4) correspond to the parent node information N (2). Each of the child node information N (2), N (5) corresponds to the identifier index (2) = 1, index (5) = 2, and each of the child node information N (3), N (4) Identifiers index (3) = 1 and index (4) = 2 correspond. One of the parent node information N (1) and N (2) is the root node information N (1), and part of the child node information N (2), N (3), N (4), and N (5) Is leaf node information N (3), N (4), N (5). A set of u AL = 3, 4, 5 corresponding to leaf node information N (3), N (4), N (5) is L (γ A ) = {3, 4, 5}. The threshold value k (1) = 1 that satisfies 1 ≦ k (1) ≦ 2 corresponds to the parent node information N (1), and 1 ≦ k (2) ≦ 2 corresponds to the parent node information N (2). The threshold k (2) = 2 to be satisfied corresponds to the leaf node information N (3), N (4), N (5), and the threshold k (3) = k (4) = k (5) = 1 corresponds. The leaf node information N (3), N (4), and N (5) correspond to attribute information att (3) = 1, att (4) = 2, and att (5) = 4∈ATT, respectively.

《論理式(1∧2)∨(2∧3)∨(1∧3)∨4の例》
図10A及び図10Bに例示する木構造データγAは、属性情報1, 2, 3, 4についての論理式(1∧2)∨(2∧3)∨(1∧3)∨4を表している。ここで、属性情報4は属性情報4の否定を表し、属性情報4は属性情報5として表現される。このように特定の属性情報の否定を表す属性情報をATTに追加することにより、否定を含む論理式を表現する木構造データも設定可能となる。
《Example of logical expression (1∧2) ∨ (2∧3) ∨ (1∧3) ∨4
Tree structure data gamma A illustrated in FIGS. 10A and 10B, the attribute information 1, 2, 3, logical expression for 4 (1∧2) ∨ (2∧3) ∨ (1∧3) ∨4 - a represents ing. Here, the attribute information 4 - represents a negation of the attribute information 4, the attribute information 4 - is represented as attribute information 5. Thus, by adding attribute information indicating negation of specific attribute information to the ATT, it is also possible to set tree structure data representing a logical expression including negation.

図10及び図10Bの木構造データγAは、6個のノード情報N(uA)(uA∈{1,...,6})を含む。ノード情報N(uA)の一部が親ノード情報N(1),N(2)であり、親ノード情報N(1)にはc(1)=2個の子ノード情報N(2),N(6)が対応し、親ノード情報N(2)にはc(2)=3個の子ノード情報N(3), N(4), N(5)が対応する。子ノード情報N(2), N(6)のそれぞれには識別子index(2)=1, index(6)=2が対応し、子ノード情報N(3), N(4), N(5)のそれぞれには識別子index(3)=1, index(4)=2, index(5)=3が対応する。親ノード情報N(1),N(2)の1つがルートノード情報N(1)であり、子ノード情報N(2), N(3), N(4), N(5), N(6)の一部が葉ノード情報N(3), N(4), N(5), N(6)である。葉ノード情報N(3), N(4), N(5), N(6)に対応するuAL=3, 4, 5, 6の集合がL(γA)={3, 4, 5, 6}である。親ノード情報N(1)には1≦k(1)≦2を満たすしきい値k(1)=1が対応し、親ノード情報N(2)には1≦k(2)≦2を満たすしきい値k(2)=2が対応し、葉ノード情報N(3), N(4), N(5), N(6)にはしきい値k(3)=k(4)=k(5)=k(6)=1が対応する([木構造データの具体例]の説明終わり)。 The tree structure data γ A in FIGS. 10 and 10B includes six pieces of node information N (u A ) (u A ε {1,..., 6}). Part of the node information N (u A ) is parent node information N (1), N (2), and the parent node information N (1) includes c (1) = 2 pieces of child node information N (2) , N (6), and c (2) = 3 child node information N (3), N (4), N (5) corresponds to the parent node information N (2). Each of the child node information N (2) and N (6) corresponds to the identifier index (2) = 1, index (6) = 2, and the child node information N (3), N (4), N (5 ) Correspond to identifiers index (3) = 1, index (4) = 2, index (5) = 3. One of the parent node information N (1) and N (2) is the root node information N (1), and the child node information N (2), N (3), N (4), N (5), N ( Part of 6) is leaf node information N (3), N (4), N (5), N (6). The set of u AL = 3, 4, 5, 6 corresponding to leaf node information N (3), N (4), N (5), N (6) is L (γ A ) = {3, 4, 5 , 6}. The threshold value k (1) = 1 that satisfies 1 ≦ k (1) ≦ 2 corresponds to the parent node information N (1), and 1 ≦ k (2) ≦ 2 corresponds to the parent node information N (2). The threshold value k (2) = 2 to be satisfied corresponds to the leaf node information N (3), N (4), N (5), N (6), and the threshold value k (3) = k (4) = k (5) = k (6) = 1 corresponds (end of description of [specific example of tree structure data]).

次に、木構造データγAに対応する鍵抽出処理を説明する。なお、以下では構造データγAに対応する鍵抽出処理のみを説明するが、木構造データγBに対応する鍵抽出処理も同様である。本形態の鍵抽出処理では、まず、マスタ秘密鍵λをルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))として設定する。その後、親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報を当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))として設定する処理を再帰的に繰り返す。その後、葉ノード情報N(uAL)に対応する属性情報att(uAL)∈ATTに対し、秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1を生成し、秘密値D(uAL)(uAL∈L(γA))の集合である長期秘密鍵DA={D(uAL)}uAL∈L(γA)を出力する。これらの具体的な処理手順に限定はない。以下に図5A及び図5Bを用い、木構造データγAに対応する鍵抽出処理の一例を示す。 Next, a key extraction process corresponding to the tree structure data γ A will be described. Hereinafter, only the key extraction process corresponding to the structure data γ A will be described, but the key extraction process corresponding to the tree structure data γ B is the same. In the key extraction process of this embodiment, first, the master secret key λ is set as information q (u AR , η (u AR )) corresponding to the root node information N (u AR ). After that, the information q (u AP , η (u AP )) corresponding to the parent node information N (u AP ) is obtained by k (u AP ) -out-of-c (u AP ) threshold secret sharing. The process of setting the distributed information as information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ) is recursively repeated. Then, for attribute information att (u AL ) ∈ATT corresponding to leaf node information N (u AL ), secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL )) ∈ G 1 and the long-term secret key D A = {D (u AL )} uAL∈L (γA) , which is a set of secret values D (u AL ) (u AL ∈L (γ A )) Output. These specific processing procedures are not limited. An example of the key extraction process corresponding to the tree structure data γ A will be described below with reference to FIGS. 5A and 5B.

まず、鍵交換装置110(図2)の記憶部112から読み出された木構造データγAが出力部111bから出力される。木構造データγAは、ネットワーク等を経由して鍵抽出装置140(図4)の入力部141に入力され、記憶部143に格納される(ステップS1411)。 First, the tree structure data γ A read from the storage unit 112 of the key exchange device 110 (FIG. 2) is output from the output unit 111b. The tree structure data γ A is input to the input unit 141 of the key extraction device 140 (FIG. 4) via a network or the like and stored in the storage unit 143 (step S1411).

次に、設定部145がマスタ秘密鍵λを木構造データγAのルートノード情報N(uAR)に対応する情報q(uAR, 0)として設定する。本形態では、まず、設定部145の情報設定部145aが、記憶部143から読み出したマスタ秘密鍵λをルートノード情報N(uAR)に対する情報q(uAR, 0)として設定し、当該情報q(uAR, 0)を記憶部143に格納する(ステップS1412)。次に、設定部145の多項式設定部145bが、記憶部143から情報q(uAR, 0)=λとルートノード情報N(uAR)に対応するしきい値k(uAR)とを読み込み、定数項(α=0であるときの関数値)がq(uAR, 0)=λである不定元αについての次数d(uAR)=k(uAR)-1の多項式q(uAR, α)をルートノード情報N(uAR)に対して設定する。例えば、多項式設定部145bは、d(uAR)個の互いに異なる任意点(α1, β)(α1, βUZp,α1≠0)をそれぞれランダムに選択し、それらを通る定数項q(uAR, 0)=λの多項式q(uAR, α)を特定する。これによってルートノード情報N(uAR)に対応する多項式q(uAR, α)が一意に定まる。定められた多項式q(uAR, α)は記憶部143に格納される(ステップS1413)。 Next, the setting unit 145 sets the master secret key λ as information q (u AR , 0) corresponding to the root node information N (u AR ) of the tree structure data γ A. In this embodiment, first, the information setting unit 145a of the setting unit 145 sets the master secret key λ read from the storage unit 143 as information q (u AR , 0) for the root node information N (u AR ), and the information q (u AR , 0) is stored in the storage unit 143 (step S1412). Next, the polynomial setting unit 145b of the setting unit 145 reads the information q (u AR , 0) = λ and the threshold value k (u AR ) corresponding to the root node information N (u AR ) from the storage unit 143. , A polynomial q (u of degree d (u AR ) = k (u AR ) -1 for an indefinite element α whose constant term (function value when α = 0) is q (u AR , 0) = λ AR , α) is set for the root node information N (u AR ). For example, the polynomial setting unit 145b randomly selects d (u AR ) different arbitrary points (α 1 , β 1 ) (α 1 , β 1U Z p , α 1 ≠ 0), respectively, A polynomial q (u AR , α) with a constant term q (u AR , 0) = λ passing through is specified. As a result, the polynomial q (u AR , α) corresponding to the root node information N (u AR ) is uniquely determined. The determined polynomial q (u AR , α) is stored in the storage unit 143 (step S1413).

次に、設定部146が、親ノード情報N(uAP)に対応する情報q(uAP, 0)をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報を、当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する情報q(uAC, 0)として設定する。本形態の場合、設定部146がuAPをuAR(uAP←uAR)とおき、その場合の親ノード情報N(uAP)を処理対象として図5Bのループ処理を実行する(ステップS1414)。 Next, the setting unit 146 distributes the information q (u AP , 0) corresponding to the parent node information N (u AP ) by k (u AP ) -out-of-c (u AP ) threshold secret sharing. The obtained distributed information is set as information q (u AC , 0) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ). In this embodiment, the setting unit 146 sets u AP as u AR (u AP ← u AR ), and executes the loop processing of FIG. 5B with the parent node information N (u AP ) in that case as a processing target (step S1414). ).

[図5Bのループ処理]
図5Bのループ処理では、処理対象の親ノード情報N(uAP)に対応するすべての子ノード情報N(uAC)に対して以下のステップS1421とS1422の処理を実行する。
[Loop processing of FIG. 5B]
In the loop processing of FIG. 5B, the following steps S1421 and S1422 are executed for all the child node information N (u AC ) corresponding to the parent node information N (u AP ) to be processed.

ステップS1421では、設定部146の情報設定部146aが、記憶部143から多項式q(uAP, α)と、処理対象の親ノード情報N(uAP)の各子ノード情報N(uAC)に対応する識別子index(uAC)とを読み出す。情報設定部146aは、処理対象の親ノード情報N(uAP)に対応する多項式q(uAP, α)に、当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する識別子index(uAC)を代入して得られるq(uAP, index(uAC))を、当該子ノード情報N(uAC)に対応する情報q(uAC, 0)として設定する。各子ノード情報N(uAC)に対応する情報q(uAC, 0)は、記憶部143に格納される(ステップS1421)。 In step S1421, the information setting unit 146a of the setting unit 146 adds the polynomial q (u AP , α) and the child node information N (u AC ) of the parent node information N (u AP ) to be processed from the storage unit 143. Reads the corresponding identifier index (u AC ). Information setting unit 146a is polynomial q (u AP, α) corresponding to the parent node information of the processed N (u AP), the said parent node information N (u AP) in the corresponding child node information N (u AC) Q (u AP , index (u AC )) obtained by assigning the identifier index (u AC ) corresponding to is set as information q (u AC , 0) corresponding to the child node information N (u AC ) To do. Information q (u AC , 0) corresponding to each child node information N (u AC ) is stored in the storage unit 143 (step S1421).

ステップS1422では、設定部146の多項式設定部146bが、記憶部143からステップS1421で設定された情報q(uAC, 0)を読み出し、当該情報q(uAC, 0)が設定された子ノード情報N(uAC)に対し、定数項(α=0であるときの関数値)をq(uAC, 0)=q(uAP, index(uAC))とする不定元αについての次数d(uAC)=k(uAC)-1の多項式q(uAC, α)を設定する。例えば、多項式設定部146bは、d(uAC)個の互いに異なる任意点(α2, β2)(α2, β2UZp,α2≠0)をそれぞれランダムに選択し、それらを通る定数項q(uAC, 0)の多項式q(uAC, α)を特定する。定められた多項式q(uAC, α)は記憶部143に格納される(ステップS1422)([図5Bのループ処理]の説明終わり)。 In step S1422, the polynomial setting portion 146b of the setting unit 146 reads the setting information q from the storage unit 143 in step S1421 (u AC, 0), the information q (u AC, 0) child node is set For information N (u AC ), the order of the indefinite element α, where q (u AC , 0) = q (u AP , index (u AC )) is a constant term (function value when α = 0) A polynomial q (u AC , α) of d (u AC ) = k (u AC ) −1 is set. For example, the polynomial setting unit 146b randomly selects d (u AC ) different arbitrary points (α 2 , β 2 ) (α 2 , β 2U Z p , α 2 ≠ 0), and selects them. The polynomial q (u AC , α) of the constant term q (u AC , 0) passing through is specified. The determined polynomial q (u AC , α) is stored in the storage unit 143 (step S1422) (end of description of [loop processing in FIG. 5B)).

ステップS1414の処理が終了すると、次に、設定部146は、多項式q(uAC, α)が設定された子ノード情報N(uAC)に対応するさらなる子ノード情報が存在するか否かを判定する(ステップS1415)。ここで、さらなる子ノード情報が存在すると判定された場合、設定部146は、さらなる子ノード情報が存在すると判定されたすべての子ノード情報N(uAC)について、それぞれ、uAPをuAC(uAP←uAC)とおき、その場合のすべての親ノード情報N(uAP)を処理対象として図5Bのループ処理をそれぞれ実行し、その後、ステップS1415に戻る(ステップS1416)。 When the process of step S1414 ends, the setting unit 146 next determines whether there is further child node information corresponding to the child node information N (u AC ) for which the polynomial q (u AC , α) is set. Determination is made (step S1415). Here, when it is determined that further child node information exists, the setting unit 146 sets u AP as u AC (for each child node information N (u AC ) determined to include additional child node information. u AP ← u AC ), the loop processing of FIG. 5B is executed for all the parent node information N (u AP ) in that case, and then the process returns to step S1415 (step S1416).

一方、ステップS1415で、さらなる子ノード情報が存在しないと判定された場合、秘密値生成部147が、記憶部143からすべての葉ノード情報N(uAL)に対応する属性情報att(uAL)∈ATT及び情報q(uAL, 0)をそれぞれ読み出し、各秘密値
D(uAL)=g1 q(uAL, 0)/t(att(uAL))∈G1 …(6)
を生成する。生成された秘密値D(uAL)(uAL∈L(γA))の集合である長期秘密鍵DA={D(uAL)}uAL∈L(γA)が記憶部143に格納される(ステップS1417)。長期秘密鍵DA={D(uAL)}uAL∈L(γA)は出力部142に送られ、そこから鍵交換装置110(図2)に安全に送られ、鍵交換装置110の入力部111aに入力され、記憶部112に格納される(ステップS1418)。
On the other hand, if it is determined in step S1415 that there is no further child node information, the secret value generation unit 147 sends attribute information att (u AL ) corresponding to all leaf node information N (u AL ) from the storage unit 143. Read ∈ATT and information q (u AL , 0)
D (u AL ) = g 1 q (uAL, 0) / t (att (uAL)) ∈G 1 … (6)
Is generated. A long-term secret key D A = {D (u AL )} uALεL (γA), which is a set of generated secret values D (u AL ) (u AL εL (γ A )), is stored in the storage unit 143. (Step S1417). The long-term secret key D A = {D (u AL )} uALεL (γA) is sent to the output unit 142, from which it is securely sent to the key exchange device 110 (FIG. 2), and the input unit of the key exchange device 110 The data is input to 111a and stored in the storage unit 112 (step S1418).

これにより、木構造データγAのノード情報N(uA)のそれぞれに不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応し、その結果、ノード情報N(uA)のそれぞれには情報(定数項)q(uA, 0)が対応する。ルートノード情報N(uAR)に対応する情報q(uAR, 0)はマスタ秘密鍵λであり、親ノード情報N(uAP)に対応する情報q(uAP, 0)をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する子ノード情報N(uAC)に対応する情報q(uAC, 0)であり、葉ノード情報N(uAL)にはそれぞれ秘密値D(uAL)=g1 q(uAL, 0)/t(att(uAL))∈G1が対応し、秘密値D(uAL)(uAL∈L(γA))の集合が長期秘密鍵DA={D(uAL)}uAL∈L(γA)となる。 As a result, the node information N (u A ) of the tree structure data γ A corresponds to the polynomial q (u A , α) of degree d (u A ) = k (u A ) -1 for the indefinite element α. As a result, information (constant term) q (u A , 0) corresponds to each node information N (u A ). The information q (u AR , 0) corresponding to the root node information N (u AR ) is the master secret key λ, and the information q (u AP , 0) corresponding to the parent node information N (u AP ) is k (u AP ) -out-of-c (u AP ) Information q () corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ) u AC , 0), and leaf node information N (u AL ) corresponds to secret value D (u AL ) = g 1 q (uAL, 0) / t (att (uAL)) ∈ G 1 A set of secret values D (u AL ) (u AL εL (γ A )) is a long-term secret key D A = {D (u AL )} uALεL (γA) .

例えば、前述した図8A及び図8Bに例示する木構造データγA(論理式(1∧2)∨4の例)の場合、図9A及び図9Bに例示するように、木構造データγAのノード情報N(uA)(uA=1,...,5)のそれぞれに不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応し、その結果、ノード情報N(uA)のそれぞれには情報q(uA, 0)が対応する。ルートノード情報N(1)に対応する情報q(1, 0)はマスタ秘密鍵λである。親ノード情報(ルートノード情報)N(1)に対応する情報q(1, 0)をk(1)-out-of-c(1)(1-out-of-2)しきい値秘密分散して得られる分散情報である情報q(1,1), q(1,2)が、それぞれ子ノード情報N(2),N(5)に対応する情報q(2,0), q(5,0)である。また、親ノード情報N(2)に対応する情報q(2, 0)をk(2)-out-of-c(2)(2-out-of-2)しきい値秘密分散して得られる分散情報である情報q(2,1), q(2,2)が、それぞれ子ノード情報N(3), N(4)に対応する情報q(3,0), q(4,0)である。また、葉ノード情報N(3), N(4), N(5)にはそれぞれ秘密値D(3)=g1 q(3, 0)/t(1), D(4)=g1 q(4, 0)/t(2), D(5)=g1 q(5, 0)/t(4) ∈G1が対応し、D(3), D(4), D(5)の集合が長期秘密鍵DAとなる。 For example, in the case of the tree structure data γ A exemplified in the above-described FIGS. 8A and 8B (an example of the logical expression (1∧2) ∨4), as illustrated in FIGS. 9A and 9B, the tree structure data γ A A polynomial q (u A , α) of degree d (u A ) = k (u A ) -1 with respect to the indefinite element α for each of the node information N (u A ) (u A = 1, ..., 5) As a result, information q (u A , 0) corresponds to each of the node information N (u A ). Information q (1, 0) corresponding to the root node information N (1) is the master secret key λ. Parent node information (root node information) Information q (1, 0) corresponding to N (1) is k (1) -out-of-c (1) (1-out-of-2) threshold secret sharing Information q (1,1) and q (1,2), which are distributed information obtained by the above, are information q (2,0) and q ( 5,0). In addition, information q (2, 0) corresponding to parent node information N (2) is obtained by k (2) -out-of-c (2) (2-out-of-2) threshold secret sharing. Information q (2,1), q (2,2), which are distributed information, are information q (3,0), q (4,0) corresponding to child node information N (3), N (4), respectively. ). The leaf node information N (3), N (4), N (5) has secret values D (3) = g 1 q (3, 0) / t (1) , D (4) = g 1 q (4, 0) / t (2) , D (5) = g 1 q (5, 0) / t (4) ∈ G 1 corresponds to D (3), D (4), D (5 set of) becomes the long-term secret key D a.

また、例えば、前述した図10A及び図10Bに例示する木構造データγA(論理式(1∧2)∨(2∧3)∨(1∧3)∨4の例)の場合、図11A及び図11Bに例示するように、木構造データγAのノード情報N(uA)(uA=1,...,6)のそれぞれに不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応し、その結果、ノード情報N(uA)のそれぞれには情報q(uA, 0)が対応する。ルートノード情報N(1)に対応する情報q(1, 0)はマスタ秘密鍵λである。親ノード情報(ルートノード情報)N(1)に対応する情報q(1, 0)をk(1)-out-of-c(1)(1-out-of-2)しきい値秘密分散して得られる分散情報である情報q(1,1), q(1,2)が、それぞれ子ノード情報N(2),N(6)に対応する情報q(2,0), q(6,0)である。また、親ノード情報N(2)に対応する情報q(2, 0)をk(2)-out-of-c(2)(2-out-of-3)しきい値秘密分散して得られる分散情報である情報q(2,1), q(2,2), q(2,3)が、それぞれ子ノード情報N(3), N(4) , N(5)に対応する情報q(3,0), q(4,0), q(5,0)である。また、葉ノード情報N(3), N(4), N(5) ,N(6)にはそれぞれ秘密値D(3)=g1 q(3, 0)/t(1), D(4)=g1 q(4, 0)/t(2), D(5)=g1 q(5, 0)/t(3), D(6)=g1 q(6, 0)/t(5) ∈G1が対応し、D(3), D(4), D(5), D(6)の集合が長期秘密鍵DAとなる。 Further, for example, tree-structure data gamma A illustrated in FIGS. 10A and 10B described above (formulas (1∧2) ∨ (2∧3) ∨ (1∧3) ∨4 - example), the Fig 11A and as illustrated in FIG. 11B, the node information of the tree structure data γ a N (u a) ( u a = 1, ..., 6) degree d (u a) of indeterminate α to each = k A polynomial q (u A , α) of (u A ) -1 corresponds, and as a result, information q (u A , 0) corresponds to each node information N (u A ). Information q (1, 0) corresponding to the root node information N (1) is the master secret key λ. Parent node information (root node information) Information q (1, 0) corresponding to N (1) is k (1) -out-of-c (1) (1-out-of-2) threshold secret sharing Information q (1,1), q (1,2), which are distributed information obtained by the above, is information q (2,0), q ( 6,0). Also, information q (2, 0) corresponding to the parent node information N (2) is obtained by k (2) -out-of-c (2) (2-out-of-3) threshold secret sharing. Information q (2,1), q (2,2), q (2,3) corresponding to the distributed node information corresponding to the child node information N (3), N (4), N (5), respectively q (3,0), q (4,0), q (5,0). The leaf node information N (3), N (4), N (5), and N (6) has secret values D (3) = g 1 q (3, 0) / t (1) , D ( 4) = g 1 q (4, 0) / t (2) , D (5) = g 1 q (5, 0) / t (3) , D (6) = g 1 q (6, 0) / t (5) ∈ G 1 corresponds, and the set of D (3), D (4), D (5), and D (6) is the long-term secret key D A.

<鍵交換処理>
次に、鍵交換装置110の処理を表す図6と鍵交換装置120の処理を表す図7とを用い、本形態の鍵交換処理を説明する。なお、本形態では、鍵交換装置110がイニシエータとして機能し、鍵交換装置120がレスポンダとして機能する例を示す。
<Key exchange process>
Next, the key exchange processing of this embodiment will be described with reference to FIG. 6 showing the processing of the key exchange device 110 and FIG. 7 showing the processing of the key exchange device 120. In this embodiment, an example is shown in which the key exchange device 110 functions as an initiator and the key exchange device 120 functions as a responder.

まず、鍵交換装置110(図2)の入力部111aに属性情報の集合ATTの部分集合である属性集合δA⊂ATTが入力される。属性集合δAは任意に選択されたものである。例えば、属性集合δAが鍵交換装置120の木構造データを満たすならば認証成功となって鍵交換装置120とセッション鍵を共有できることを期待して任意に選択された属性集合δAが入力部111aに入力される。属性集合δAは記憶部112に格納される(図6/ステップS1111)。 First, an attribute set δ A ⊂ATT, which is a subset of the attribute information set ATT, is input to the input unit 111a of the key exchange device 110 (FIG. 2). The attribute set δ A is arbitrarily selected. For example, if the attribute set δ A satisfies the tree structure data of the key exchange device 120, the attribute set δ A arbitrarily selected with the expectation that the authentication is successful and the session key can be shared with the key exchange device 120 is 111a. The attribute set δ A is stored in the storage unit 112 (FIG. 6 / step S1111).

次に、短期秘密鍵生成部115aが短期秘密鍵sAUZpを任意に生成し、ハッシュ演算部115bに送る(ステップS1112)。ハッシュ演算部115bは、記憶部112から長期秘密鍵DAを読み出し、ハッシュ値(長期秘密鍵DAと短期秘密鍵sAとを含む値の像)
χ=H'(DA, sA)∈Zp …(7)
を生成して、ハッシュ値χを記憶部112に格納する(ステップS1113)。なお、H'(DA, sA)は、長期秘密鍵DAと短期秘密鍵sAとに対応するバイナリ系列のハッシュ値を表す。長期秘密鍵DAと短期秘密鍵sAとの組をバイナリ系列に写す関数に限定はないが、鍵生成装置110,120で同一の関数を用いる必要がある。長期秘密鍵DAと短期秘密鍵sAとに対応するバイナリ系列の例は、長期秘密鍵DAと短期秘密鍵sAとのビット結合である。
Next, the short-term secret key generation unit 115a arbitrarily generates a short-term secret key s A ε U Z p and sends it to the hash calculation unit 115b (step S1112). Hash calculator 115b reads the long-term private key D A from the storage unit 112, a hash value (image values, including long-term private key D A and short secret key s A)
χ = H '(D A , s A ) ∈Z p … (7)
And the hash value χ is stored in the storage unit 112 (step S1113). H ′ (D A , s A ) represents a binary sequence hash value corresponding to the long-term secret key D A and the short-term secret key s A. There is no limitation on the function for copying the pair of the long-term secret key D A and the short-term secret key s A into a binary sequence, but the key generators 110 and 120 need to use the same function. Examples of binary sequences corresponding to the long-term private key D A and short secret key s A is a bit combination of the long-term private key D A and short secret key s A.

次に、短期公開鍵生成部115dが、記憶部112から読み出したハッシュ値χを用い、元
X=g1 χ∈G1 …(8)
を生成して記憶部112に格納する(ステップS1114)。また、短期公開鍵生成部115cは、記憶部112に格納されたマスタ公開鍵{T(j)}j∈ATTから属性集合δAに対応するT(wA)(wA∈δA)の集合とハッシュ値χとを読み出す。短期公開鍵生成部115cは、ハッシュ値χに対する元
T(wA)χ∈G2(wA∈δA) …(9)
の集合である
TA={T(wA)χ}wA∈δA …(10)
を生成して記憶部112に格納する(ステップS1115)。本形態では、元Xと集合TAとが短期公開鍵となる。
Next, the short-term public key generation unit 115d uses the hash value χ read from the storage unit 112 to
X = g 1 χ ∈ G 1 … (8)
Is stored in the storage unit 112 (step S1114). Further, the short-term public key generation unit 115c uses the master public key {T (j)} jεATT stored in the storage unit 112 to calculate T (w A ) (w A εδ A ) corresponding to the attribute set δ A. Read the set and hash value χ. The short-term public key generation unit 115c generates an element for the hash value χ
T (w A ) χ ∈ G 2 (w A ∈δ A )… (9)
Is a set of
T A = {T (w A ) χ } wA∈δA (10)
Is stored in the storage unit 112 (step S1115). In this embodiment, the original X and the set T A is the short-term public key.

記憶部112に格納された属性集合δAと短期公開鍵X, TAとは出力部111bに入力され、出力部111bは、属性集合δAと短期公開鍵X, TAとを鍵交換装置120に対して出力する(ステップS1116)。 The attribute set δ A and the short-term public keys X and T A stored in the storage unit 112 are input to the output unit 111b, and the output unit 111b converts the attribute set δ A and the short-term public keys X and T A into a key exchange device. It outputs to 120 (step S1116).

属性集合δAと短期公開鍵X, TAとは、鍵交換装置120(図3)の入力部121aに入力され、記憶部122に格納される(図7/ステップS1211)。すると、判定部124が、記憶部122に格納された属性集合δAと木構造データγBに対応する論理式を特定する情報とを読み出し、属性集合δAが木構造データγBを満たすか否かを判定する(ステップS1212)。ここで、属性集合δAが木構造データγBを満たさないと判定された場合、処理がエラー終了する。一方、属性集合δAが木構造データγBを満たすと判定された場合、判定部124が、記憶部122に格納されたマスタ公開鍵{T(j)}j∈ATTと短期公開鍵X, TA={T(wA)χ}wA∈δAと属性集合δAとを読み出し、属性集合δAに属するすべての属性情報wA∈δAについて、
e(X, T(wA))=e(g1,T(wA)χ) …(11)
が成り立つか否かを判定する(ステップS1213)。ここで、少なくとも一部の属性情報wA∈δAについて式(11)が成り立たないと判定された場合、処理がエラー終了する。一方、すべての属性情報wA∈δAについて式(11)が成り立つと判定された場合、入力部121aが属性情報の集合ATTの部分集合である属性集合δB⊂ATTの入力を受け付ける。属性集合δAと同様、属性集合δBは任意に選択されたものである。入力された属性集合δBは記憶部122に格納される(ステップS1214)。
The attribute set δ A and the short-term public keys X and T A are input to the input unit 121a of the key exchange device 120 (FIG. 3) and stored in the storage unit 122 (FIG. 7 / step S1211). Then, if the determination unit 124 reads out the information specifying the logical expression corresponding to the stored attribute set [delta] A and a tree structure data gamma B in the storage unit 122, the attribute set [delta] A satisfies the tree structure data gamma B It is determined whether or not (step S1212). If it is determined that the attribute set δ A does not satisfy the tree structure data γ B , the process ends in error. On the other hand, when it is determined that the attribute set δ A satisfies the tree structure data γ B , the determination unit 124 stores the master public key {T (j)} j∈ATT and the short-term public key X, stored in the storage unit 122. for T a = {T (w a ) χ} reads the wA∈δA and attribute set [delta] a, all the attribute information w a ∈δ a belonging to the attribute set [delta] a,
e (X, T (w A )) = e (g 1 , T (w A ) χ ) (11)
It is determined whether or not holds (step S1213). Here, if it is determined that Equation (11) does not hold for at least a part of the attribute information w A ∈δ A , the process ends in error. On the other hand, when it is determined that the expression (11) holds for all the attribute information w A ∈δ A , the input unit 121a receives an input of the attribute set δ B ⊂ATT which is a subset of the attribute information set ATT. As with the attribute set [delta] A, the attribute set [delta] B is one selected arbitrarily. The input attribute set δ B is stored in the storage unit 122 (step S1214).

次に、短期秘密鍵生成部125aが短期秘密鍵sBUZpを任意に生成し、ハッシュ演算部125bに送る(ステップS1215)。ハッシュ演算部125bは、記憶部122から長期秘密鍵DBを読み出し、ハッシュ値(長期秘密鍵DBと短期秘密鍵sBとを含む値の像)
υ=H'(DB, sB)∈Zp …(12)
を生成して、ハッシュ値υを記憶部122に格納する(ステップS1216)。なお、H'(DB, sB)は、長期秘密鍵DBと短期秘密鍵sBとに対応するバイナリ系列のハッシュ値を表す。長期秘密鍵DBと短期秘密鍵sBとの組をバイナリ系列に写す関数に限定はないが、鍵生成装置110,120で同一の関数を用いる必要がある。長期秘密鍵DBと短期秘密鍵sBとに対応するバイナリ系列の例は、長期秘密鍵DBと短期秘密鍵sBとのビット結合である。
Next, the short-term secret key generation unit 125a arbitrarily generates a short-term secret key s B ε U Z p and sends it to the hash calculation unit 125b (step S1215). Hash calculator 125b reads the long-term secret key D B from the storage unit 122, a hash value (long-term secret key D B and the image values including the short-term secret key s B)
υ = H '(D B , s B ) ∈Z p … (12)
And the hash value υ is stored in the storage unit 122 (step S1216). H ′ (D B , s B ) represents a binary sequence hash value corresponding to the long-term secret key D B and the short-term secret key s B. There is no limitation on the function for copying the pair of the long-term secret key D B and the short-term secret key s B into a binary sequence, but it is necessary for the key generation devices 110 and 120 to use the same function. Examples of long-term private key D B and short secret key s B and corresponding binary sequence to is a bit combination of the long-term secret key D B and short secret key s B.

次に、短期公開鍵生成部125dが、記憶部122から読み出したハッシュ値υを用い、元
Y=g1 υ∈G1 …(13)
を生成して記憶部122に格納する(ステップS1217)。また、短期公開鍵生成部125cは、記憶部122に格納されたマスタ公開鍵{T(j)}j∈ATTから属性集合δBに対応するT(wB)(wB∈δB)の集合とハッシュ値υとを読み出す。短期公開鍵生成部125cは、ハッシュ値υに対する元
T(wB)υ∈G2 (wB∈δB) …(14)
の集合である
TB={T(wB)υ}wB∈δB …(15)
を生成して記憶部122に格納する(ステップS1218)。本形態では、元Yと集合TBとが短期公開鍵となる。
Next, the short-term public key generation unit 125d uses the hash value υ read from the storage unit 122 to
Y = g 1 υ ∈G 1 (13)
Is stored in the storage unit 122 (step S1217). Further, the short-term public key generation unit 125c determines the T (w B ) (w B εδ B ) corresponding to the attribute set δ B from the master public key {T (j)} jεATT stored in the storage unit 122. Read the set and hash value υ. The short-term public key generation unit 125c generates an element for the hash value υ.
T (w B ) υ ∈ G 2 (w B ∈δ B )… (14)
Is a set of
T B = {T (w B ) υ } wB∈δB (15)
Is stored in the storage unit 122 (step S1218). In this embodiment, the element Y and the set T B is the short-term public key.

記憶部122に格納された属性集合δBと短期公開鍵Y, TBとは出力部121bに入力され、出力部121bは、属性集合δBと短期公開鍵Y, TBとを鍵交換装置110に対して出力する(ステップS1219)。 Stored in the storage unit 122 the attribute set [delta] B and short public key Y, the T B is input to the output section 121b, the output unit 121b is the attribute set [delta] B and short public key Y, the key exchange apparatus and T B 110 is output (step S1219).

また、葉ノード復元値生成部126が、記憶部122に格納された属性集合δAと木構造データγBとを参照し、属性集合δAに属する属性情報att(uBL)∈δAに対応する木構造データγBの葉ノード情報N(uBL)に対応する秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1を記憶部122に格納された長期秘密鍵DBから抽出する。さらに、葉ノード復元値生成部126は、当該葉ノード情報N(uBL)に対応する属性情報att(uBL)∈ATTに対応する元T(att(uBL))χを短期公開鍵TAから抽出する。葉ノード復元値生成部126は、当該葉ノード情報N(uBL)ごとに、秘密値D(uBL)と元T(att(uBL))χとを作用させ、各葉ノード情報N(uBL)に対する各復元値
e(D(uBL), T(att(uBL))χ)=gT χ・q(uBL, 0)∈GT …(16)
を生成して記憶部122に格納する(ステップS1220)。
Further, the leaf node restoration value generation unit 126 refers to the attribute set δ A and the tree structure data γ B stored in the storage unit 122, and sets the attribute information att (u BL ) ∈δ A belonging to the attribute set δ A. corresponding private value D (u BL) corresponding to the leaf node information N (u BL) of the tree structure data γ B = g 1 q (uBL , η (uBL)) a / t (att (uBL))G 1 extracting from stored in the storage unit 122 long-term private key D B. Further, the leaf node restoration value generation unit 126 converts the element T (att (u BL )) χ corresponding to the attribute information att (u BL ) ∈ATT corresponding to the leaf node information N (u BL ) into the short-term public key T Extract from A. Leaf node restoring value generating unit 126, for each said leaf node information N (u BL), a secret value D (u BL) and source T (att (u BL)) χ and reacted with each leaf node information N ( u BL )
e (D (u BL ), T (att (u BL )) χ ) = g T χ ・ q (uBL, 0) ∈G T … (16)
Is stored in the storage unit 122 (step S1220).

次に、判定部124は、記憶部122に格納された復元値と木構造データγBとを参照し、自らに対応する子ノード情報N(uBC)のうち復元値gT χ・q(uBC, 0)∈GTが生成されたものの合計数が自らに対応するしきい値k(uBP)以上となる親ノード情報N(uBP)が存在されたか否かを判定する。すなわち、判定部124は、親ノード情報N(uBP)に対応する子ノード情報N(uBC)のうち復元値gT χ・q(uBC, 0)∈GTが生成されたもののuBCの集合をS(uBP)'とした場合に、
|S(uBP)'|≧k(uBP) …(17)
を満たす親ノード情報N(uBP)が存在するか否かを判定する(ステップS1221)。ただし、|S(uBP)'|は集合S(uBP)'の要素数を表す。ここで、式(17)を満たす親ノード情報N(uBP)が存在しないと判定された場合、処理がエラー終了する。一方、式(17)を満たす親ノード情報N(uBP)が存在すると判定された場合、親ノード復元値生成部127は、式(17)を満たす親ノード情報N(uBP)に対応するしきい値k(uBP)以上の子ノード情報N(uBC)の復元値gT χ・q(uBC, 0)∈GTを、k(uBP)-out-of-c(uBP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値
gT χ・q(uBP, 0)∈GT …(18)
を生成して記憶部122に格納する。例えば、親ノード復元値生成部127は、集合S(uBP)'の部分集合であるk(uBP)個のuBCからなる集合S(uBP)⊂S(uBP)'を選択し、集合S(uBP)の要素であるk(uBP)個のuBC∈S(uBP)にそれぞれ対応する復元値gT χ・q(uBC, 0)を用い、ラグランジェの補間公式(式(3),(4))に従って、
Next, the determination unit 124 refers to the restoration value stored in the storage unit 122 and the tree structure data γ B, and among the child node information N (u BC ) corresponding to itself, the restoration value g T χ · q ( UBC, 0) although ∈G T is generated the total number determines whether the threshold value k corresponding to itself (u BP) or more and becomes the parent node information N (u BP) is present. That is, the determination unit 124, the restored value of the parent node information N (u BP) in the corresponding child node information N (u BC) g T χ · q (uBC, 0) although ∈G T is generated u BC S (u BP ) '
| S (u BP ) '| ≧ k (u BP )… (17)
It is determined whether or not there is parent node information N (u BP ) that satisfies the condition (step S1221). However, | S (u BP ) ′ | represents the number of elements of the set S (u BP ) ′. Here, when it is determined that there is no parent node information N (u BP ) that satisfies Expression (17), the process ends in error. On the other hand, when it is determined that there is parent node information N (u BP ) that satisfies Expression (17), the parent node restoration value generation unit 127 corresponds to the parent node information N (u BP ) that satisfies Expression (17). restored value g T χ · q threshold k (u BP) or more child node information N (u BC) (uBC, 0) to ∈G T, k (u BP) -out-of-c (u BP ) Restored value corresponding to the shared information used as shared information in the threshold secret sharing method
g T χ · q (uBP, 0) ∈G T … (18)
Is generated and stored in the storage unit 122. For example, the parent node restoring value generating unit 127 selects a set S (u BP) 'k is a subset of (u BP) set consisting of pieces of u BC S (u BP) ~ ⊂S (u BP)' and, using a set S (u BP) is an element of ~ k (u BP) pieces of u BC ∈S (u BP) corresponding respectively to the ~ restored value g T χ · q (uBC, 0), Lagrangian According to the interpolation formula (Equation (3), (4))

Figure 0005449040
を計算する。ただし、q(uBC,0)=q(uBP,index(uBC))を満たす。この処理は、式(17)を満たすすべての親ノード情報N(uBP)に対して実行される。これにより、式(17)を満たすすべての親ノード情報N(uBP)に対応する復元値gT χ・q(uBP, 0)がそれぞれ得られる(ステップS1222)。
Figure 0005449040
Calculate However, q (u BC , 0) = q (u BP , index (u BC )) is satisfied. This process is executed for all parent node information N (u BP ) that satisfies Expression (17). As a result, restoration values g T χ · q (uBP, 0) corresponding to all parent node information N (u BP ) satisfying Expression (17) are obtained (step S1222).

次に、判定部124は、ステップS1222においてルートノード情報N(uAR)に対応する復元値gT χ・q(uAR, 0)が得られたか否かを判定する(ステップS1223)。ここで、ルートノード情報N(uAR)に対応する復元値gT χ・q(uAR, 0)が得られていないと判定された場合、ステップS1221の処理に戻る。一方、ルートノード情報N(uAR)に対応する復元値gT χ・q(uAR, 0)が得られたと判定された場合、演算部128が記憶部122からgT χ・q(uAR, 0)=gT χ・λ∈GTとマスタ公開鍵Λと短期公開鍵Xとハッシュ値υとを読み込み、
σ1=gT χ・λ∈GT …(20)
σ2υ=gT υ・λ∈GT …(21)
σ3=Xυ∈G1 …(22)
を生成する(ステップS1224)。生成されたσ1, σ2, σ3は鍵生成部129に送られる。鍵生成部129は記憶部122から短期公開鍵X, Y, TA, TBと属性集合δAとδBとを読み込み、さらに述語P及びプロトコルIDであるΩを用い、セッション鍵
K=H(σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB)) …(23)
を生成して出力する。なお、H(σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB))は、σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB)に対応するバイナリ系列のハッシュ値を表す。これらの情報の組をバイナリ系列に写す関数に限定はないが、鍵生成装置110,120で同一の関数を用いる必要がある(ステップS1225)。
Next, the determination unit 124 determines whether or not the restoration value g T χ · q (uAR, 0) corresponding to the root node information N (u AR ) is obtained in step S1222 (step S1223). If it is determined that the restoration value g T χ · q (uAR, 0) corresponding to the root node information N (u AR ) has not been obtained, the process returns to step S1221. On the other hand, when it is determined that the restored value g T χ · q (uAR, 0) corresponding to the root node information N (u AR ) has been obtained, the arithmetic unit 128 reads g T χ · q (uAR, 0) = g T χ · λ ∈ G T , master public key Λ, short-term public key X and hash value υ are read,
σ 1 = g T χ ・ λ ∈G T (20)
σ 2 = Λ υ = g T υ ・ λ ∈G T (21)
σ 3 = X υ ∈G 1 (22)
Is generated (step S1224). The generated σ 1 , σ 2 , σ 3 are sent to the key generation unit 129. The key generation unit 129 reads the short-term public keys X, Y, T A , and T B and the attribute sets δ A and δ B from the storage unit 122, and further uses the predicate P and the protocol ID Ω to determine the session key.
K = H (σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B ))… (23)
Is generated and output. H (σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B )) is σ 1 , σ 2 , σ 3 , Ω, It represents a hash value of a binary sequence corresponding to P, (δ A , X, T A ), (δ B , Y, T B ). There is no limitation on the function for copying these sets of information to the binary series, but the same function must be used in the key generation devices 110 and 120 (step S1225).

一方、ステップS1219で鍵交換装置120から出力された属性集合δBと短期公開鍵Y, TBとは、鍵交換装置110(図2)の入力部111aに入力され、記憶部112に格納される(図6/ステップS1117)。すると、判定部114が、記憶部112に格納された属性集合δBと木構造データγAに対応する論理式を特定する情報とを読み出し、属性集合δBが木構造データγAを満たすか否かを判定する(ステップS1118)。ここで、属性集合δBが木構造データγAを満たさないと判定された場合、処理がエラー終了する。一方、属性集合δBが木構造データγAを満たすと判定された場合、判定部114が、記憶部112に格納されたマスタ公開鍵{T(j)}j∈ATTと短期公開鍵Y, TB={T(wB)υ}wB∈δBと属性集合δBとを読み出し、属性集合δBに属するすべての属性情報wB∈δBについて、
e(Y, T(wB))=e(g1,T(wB)υ) …(24)
が成り立つか否かを判定する(ステップS1119)。ここで、少なくとも一部の属性情報wB∈δBについて式(24)が成り立たないと判定された場合、処理がエラー終了する。一方、すべての属性情報wB∈δBについて式(24)が成り立つと判定された場合、葉ノード復元値生成部116が、記憶部112に格納された属性集合δBと木構造データγAとを参照し、属性集合δBに属する属性情報att(uAL)∈δBに対応する木構造データγAの葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1を記憶部112に格納された長期秘密鍵DAから抽出する。さらに、葉ノード復元値生成部116は、当該葉ノード情報N(uAL)に対応する属性情報att(uAL)∈ATTに対応する元T(att(uAL))υを短期公開鍵TBから抽出する。葉ノード復元値生成部116は、当該葉ノード情報N(uAL)ごとに、秘密値D(uAL)と元T(att(uAL))υとを作用させ、各葉ノード情報N(uAL)に対する各復元値
e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, 0)∈GT …(25)
を生成して記憶部112に格納する(ステップS1120)。
On the other hand, the attribute set [delta] B and short public key Y outputted from the key exchange apparatus 120 in step S1219, the T B, is input to the input portion 111a of the key exchange device 110 (FIG. 2) is stored in the storage unit 112 (FIG. 6 / step S1117). Then, if the determination unit 114 reads the information identifying the logical expression corresponding to the stored attribute set [delta] B and tree structure data gamma A in the storage unit 112, the attribute set [delta] B satisfies the tree structure data gamma A It is determined whether or not (step S1118). Here, if the attribute set [delta] B is judged not to satisfy the tree structure data gamma A, the processing is terminated due to the error. On the other hand, when it is determined that the attribute set δ B satisfies the tree structure data γ A , the determination unit 114 includes the master public key {T (j)} j∈ATT and the short-term public key Y, stored in the storage unit 112. for T B = {T (w B ) υ} reads the wB∈δB and attribute set [delta] B, all the attribute information w B ∈δ B belonging to the attribute set [delta] B,
e (Y, T (w B )) = e (g 1 , T (w B ) υ )… (24)
It is determined whether or not holds (step S1119). Here, if for at least part of the attribute information w B ∈δ B is formula (24) is determined not hold, the processing is terminated due to the error. On the other hand, when it is determined that the expression (24) holds for all the attribute information w B ∈δ B , the leaf node restoration value generation unit 116 stores the attribute set δ B and the tree structure data γ A stored in the storage unit 112. And the secret value D (u AL ) = g corresponding to the leaf node information N (u AL ) of the tree structure data γ A corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B 1 q (uAL, η (uAL )) extracted from / t (att (uAL)) the ∈G 1 stored in the storage unit 112 long-term private key D a. Further, the leaf node restoration value generation unit 116 converts the element T (att (u AL )) υ corresponding to the attribute information att (u AL ) ∈ATT corresponding to the leaf node information N (u AL ) into the short-term public key T Extract from B. Leaf node restoration value generator 116, for each said leaf node information N (u AL), the secret value D (u AL) to the original T (att (u AL)) υ and reacted with each leaf node information N ( u AL )
e (D (u AL ), T (att (u AL )) υ ) = g T υ ・ q (uAL, 0) ∈G T … (25)
Is stored in the storage unit 112 (step S1120).

次に、判定部114は、記憶部112に格納された復元値と木構造データγAとを参照し、自らに対応する子ノード情報N(uAC)のうち復元値gT υ・q(uAC, 0)∈GTが生成されたものの合計数が自らに対応するしきい値k(uAP)以上となる親ノード情報N(uAP)が存在されたか否かを判定する。すなわち、判定部114は、親ノード情報N(uAP)に対応する子ノード情報N(uAC)のうち復元値gT υ・q(uAC, 0)∈GTが生成されたもののuACの集合をS(uAP)'とした場合に、
|S(uAP)'|≧k(uAP) …(26)
を満たす親ノード情報N(uAP)が存在するか否かを判定する(ステップS1121)。ただし、|S(uAP)'|は集合S(uAP)'の要素数を表す。ここで、式(26)を満たす親ノード情報N(uAP)が存在しないと判定された場合、処理がエラー終了する。一方、式(26)を満たす親ノード情報N(uAP)が存在すると判定された場合、親ノード復元値生成部117は、式(26)を満たす親ノード情報N(uAP)に対応するしきい値k(uAP)以上の子ノード情報N(uAC)の復元値gT υ・q(uAC, 0)∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値
gT υ・q(uAP, 0)∈GT …(27)
を生成して記憶部112に格納する。例えば、親ノード復元値生成部117は、集合S(uAP)'の部分集合であるk(uAP)個のuACからなる集合S(uAP)⊂S(uAP)'を選択し、集合S(uAP)の要素であるk(uAP)個のuAC∈S(uAP)にそれぞれ対応する復元値gT υ・q(uAC, 0)を用い、ラグランジェの補間公式(式(3),(4))に従って、
Next, the determination unit 114 refers to the restoration value stored in the storage unit 112 and the tree structure data γ A, and among the child node information N (u AC ) corresponding to itself, the restoration value g T υ · q ( UAC, 0) although ∈G T is generated the total number determines whether the threshold value k corresponding to itself (u AP) or more and becomes the parent node information N (u AP) is present. That is, the determination unit 114, the restored value of the parent node information N (u AP) in the corresponding child node information N (u AC) g T υ · q (uAC, 0) u AC although ∈G T is generated S (u AP ) '
| S (u AP ) '| ≧ k (u AP )… (26)
It is determined whether or not there is parent node information N (u AP ) that satisfies the condition (step S1121). However, | S (u AP ) ′ | represents the number of elements of the set S (u AP ) ′. Here, if it is determined that there is no parent node information N (u AP ) that satisfies Expression (26), the process ends in error. On the other hand, when it is determined that there is parent node information N (u AP ) that satisfies Expression (26), the parent node restoration value generation unit 117 corresponds to the parent node information N (u AP ) that satisfies Expression (26). The restoration value g T υ · q (uAC, 0) ∈G T of child node information N (u AC ) equal to or greater than the threshold k (u AP ) is k (u AP ) -out-of-c (u AP ) Restored value corresponding to the shared information used as shared information in the threshold secret sharing method
g T υ · q (uAP, 0) ∈G T (27)
Is generated and stored in the storage unit 112. For example, the parent node restoring value generating unit 117 selects a set S (u AP) 'k is a subset of (u AP) pieces of u an AC set S (u AP) ~ ⊂S ( u AP)' and, using a set S (u AP) is an element of ~ k (u AP) pieces of u AC ∈S (u AP) respectively - corresponding reconstructed value g T υ · q (uAC, 0), Lagrangian According to the interpolation formula (Equation (3), (4))

Figure 0005449040
を計算する。ただし、q(uAC,0)=q(uAP,index(uAC))を満たす。この処理は、式(26)を満たすすべての親ノード情報N(uAP)に対して実行される。これにより、式(26)を満たすすべての親ノード情報N(uAP)に対応する復元値gT υ・q(uAP, 0)がそれぞれ得られる(ステップS1122)。
Figure 0005449040
Calculate However, q (u AC , 0) = q (u AP , index (u AC )) is satisfied. This process is executed for all parent node information N (u AP ) that satisfies Expression (26). As a result, restoration values g T υ · q (uAP, 0) corresponding to all parent node information N (u AP ) satisfying Expression (26) are obtained (step S1122).

次に、判定部114は、ステップS1122においてルートノード情報N(uBR)に対応する復元値gT υ・q(uBR, 0)が得られたか否かを判定する(ステップS1123)。ここで、ルートノード情報N(uBR)に対応する復元値gT υ・q(uBR, 0)が得られていないと判定された場合、ステップS1121の処理に戻る。一方、ルートノード情報N(uBR)に対応する復元値gT υ・q(uBR, 0)が得られたと判定された場合、演算部118が記憶部112からgT υ・q(uBR, 0)=gT υ・λ∈GTとマスタ公開鍵Λと短期公開鍵Xとハッシュ値υとを読み込み、
σ1χ=gT χ・λ∈GT …(29)
σ2=gT υ・λ∈GT …(30)
σ3=Yχ∈G1 …(31)
を生成する(ステップS1124)。生成されたσ1, σ2, σ3は鍵生成部119に送られる。鍵生成部119は記憶部112から短期公開鍵X, Y, TA, TBと属性集合δAとδBとを読み込み、さらに述語P及びプロトコルIDであるΩを用い、セッション鍵
K=H(σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB)) …(32)
を生成して出力する。なお、H(σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB))は、σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB)に対応するバイナリ系列のハッシュ値を表す。これらの情報の組をバイナリ系列に写す関数に限定はないが、鍵生成装置110,120で同一の関数を用いる必要がある(ステップS1125)。
Next, the determination unit 114 determines whether or not the restoration value g T υ · q (uBR, 0) corresponding to the root node information N (u BR ) is obtained in step S1122 (step S1123). If it is determined that the restoration value g T υ · q (uBR, 0) corresponding to the root node information N (u BR ) has not been obtained, the process returns to step S1121. On the other hand, when it is determined that the restored value g T υ · q (uBR, 0) corresponding to the root node information N (u BR ) is obtained, the calculation unit 118 reads g T υ · q (uBR, 0) = g T υ · λ ∈G T , master public key Λ, short-term public key X, and hash value υ are read,
σ 1 = Λ χ = g T χ ・ λ ∈G T (29)
σ 2 = g T υ ・ λ ∈G T (30)
σ 3 = Y χ ∈G 1 (31)
Is generated (step S1124). The generated σ 1 , σ 2 , σ 3 are sent to the key generation unit 119. The key generation unit 119 reads the short-term public keys X, Y, T A , T B and the attribute sets δ A and δ B from the storage unit 112, and further uses the predicate P and the protocol ID Ω to obtain the session key
K = H (σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B ))… (32)
Is generated and output. H (σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B )) is σ 1 , σ 2 , σ 3 , Ω, It represents a hash value of a binary sequence corresponding to P, (δ A , X, T A ), (δ B , Y, T B ). There is no limitation on the function for copying these information sets to the binary series, but the same function must be used in the key generation devices 110 and 120 (step S1125).

ここで、鍵交換装置110,120でそれぞれ生成されたσ1, σ2, σ3は、
σ1=gT χ・λ∈GT …(33)
σ2=gT υ・λ∈GT …(34)
σ3=g1 χ・υ∈G1 …(35)
となる。よって、P(δB, γA)=1かつP(δA, γB)=1の場合に鍵交換装置110,120は同一のセッション鍵Kを共有できる。また、前述のように本形態ではeCKモデルでの安全性が確保される。
Here, σ 1 , σ 2 , and σ 3 respectively generated by the key exchange devices 110 and 120 are
σ 1 = g T χ · λ ∈G T (33)
σ 2 = g T υ ・ λ ∈G T (34)
σ 3 = g 1 χ ・ υ ∈G 1 (35)
It becomes. Therefore, when P (δ B , γ A ) = 1 and P (δ A , γ B ) = 1, the key exchange apparatuses 110 and 120 can share the same session key K. As described above, in this embodiment, safety in the eCK model is ensured.

〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記の実施形態では、σ1, σ2, σ3に対応するセッション鍵Kが生成される例を示したが、鍵交換装置110,120がσ3を生成することなく、σ1, σ2に対応するセッション鍵Kを生成する形態でもよい。この場合、元X, Yの生成は不要となり、鍵交換装置110が生成する短期公開鍵は集合TAであり、鍵交換装置120が生成する短期公開鍵は集合TBとなる。
[Modifications, etc.]
The present invention is not limited to the embodiment described above. For example, in the above embodiments, sigma 1, sigma 2, an example is shown in which the session key K is generated corresponding to sigma 3, without the key exchange device 110 and 120 to generate a sigma 3, sigma 1, A configuration may be used in which a session key K corresponding to σ 2 is generated. In this case, the generation of elements X and Y is not necessary, the short-term public key generated by the key exchange device 110 is the set T A , and the short-term public key generated by the key exchange device 120 is the set T B.

また、上記の実施形態では
K=H(σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB))
をセッション鍵としたが、σ1, σ2, σ3, Ω, P, (δA, X, TA), (δB, Y, TB)と所定の付加情報とに依存するバイナリ系列のハッシュ値をセッション鍵としてもよい。また、σ1, σ2と所定の付加情報とに依存するバイナリ系列のハッシュ値をセッション鍵としてもよく、σ1, σ2, σ3と所定の付加情報とに依存するバイナリ系列のハッシュ値をセッション鍵としてもよい。付加情報の例は巡回群G1, G2, GTを特定する情報、生成元g1, g2, gTを特定する情報、位数pを特定する情報などである。ただし、鍵交換装置110,120でセッション鍵を生成する際の付加情報は互いに同一である必要がある。
In the above embodiment,
K = H (σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B ))
Is a session key, but depends on σ 1 , σ 2 , σ 3 , Ω, P, (δ A , X, T A ), (δ B , Y, T B ) and certain additional information The hash value may be used as the session key. Further, a hash value of a binary sequence depending on σ 1 , σ 2 and predetermined additional information may be used as a session key, and a hash value of a binary sequence depending on σ 1 , σ 2 , σ 3 and predetermined additional information May be used as a session key. Examples of the additional information include information for specifying the cyclic groups G 1 , G 2 , and G T , information for specifying the generation sources g 1 , g 2 , and g T , information for specifying the order p, and the like. However, the additional information when generating the session key in the key exchange apparatuses 110 and 120 needs to be the same.

また、上記の実施形態で用いたハッシュ関数Hの代わりに、ハッシュ関数Hと定義域と地域とが同一のその他の関数(共通鍵暗号関数など)を用いてもよい。同様に、ハッシュ関数H'の代わりに、ハッシュ関数H'と定義域と地域とが同一のその他の関数を用いてもよい。   Further, instead of the hash function H used in the above embodiment, another function (common key encryption function or the like) having the same hash function H, domain, and region may be used. Similarly, instead of the hash function H ′, other functions having the same hash function H ′, domain, and region may be used.

また、実施形態では、ステップS1118,S1119の判定でyesとなった場合にのみステップS1120以降の処理が実行され、ステップS1212,S1213の判定でyesとなった場合にのみステップS1214以降の処理が実行されることとした。しかし、ステップS1118,S1119やステップS1212,S1213の判定を行うことなく、ステップS1120以降の処理やステップS1214以降の処理が実行されてもよい。   Further, in the embodiment, the processing after step S1120 is executed only when the determination in steps S1118 and S1119 is yes, and the processing after step S1214 is executed only when the determination in steps S1212 and S1213 is yes. It was decided to be done. However, the processes after step S1120 and the processes after step S1214 may be executed without performing the determinations of steps S1118, S1119 and steps S1212, S1213.

また、木構造データγAやγBが鍵交換装置110,120内に格納されるのではなく、木構造データγAやγBが含むしきい値などの情報が必要となるたびに、それらの情報が鍵交換装置110,120に与えられる構成であってもよい。さらに、しきい値秘密分散法に限定はなく、公知のどのような方法を用いてもよい。また、環Zpでの演算の代わりに整数での演算が行われてもよい。 In addition, the tree structure data γ A and γ B are not stored in the key exchange devices 110 and 120, but information such as threshold values included in the tree structure data γ A and γ B is required each time. The information may be provided to the key exchange devices 110 and 120. Further, the threshold secret sharing method is not limited, and any known method may be used. Further, an arithmetic operation with an integer may be performed instead of the arithmetic operation with the ring Z p .

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

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed 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.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   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 the program stored in its own recording device and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

1 鍵交換システム
110,120 鍵交換装置
1 Key exchange system 110, 120 Key exchange device

Claims (10)

第1鍵交換装置と第2鍵交換装置とを有し、
巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、マスタ公開鍵がΛ=gT λ∈GT及びT(j)=g2 t(j)∈G2であり、
UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データγAが前記第1鍵交換装置に対応し、前記ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、前記親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、前記親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、前記子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、前記葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、前記親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、前記ノード情報N(uA)のそれぞれには情報q(uA, η(uA))が対応し、前記ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))が前記マスタ秘密鍵λであり、前記親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))であり、前記葉ノード情報N(uAL)にはそれぞれ属性情報att(uAL)∈ATTと秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1とが対応し、前記秘密値D(uAL)(uAL∈L(γA))の集合が前記第1鍵交換装置の長期秘密鍵DA={D(uAL)}uAL∈L(γA)であり、
UB(UB≧2)個のノード情報N(uB)(uB∈{1,...,UB})を含む木構造データγBが前記第2鍵交換装置に対応し、前記ノード情報N(uB)の一部が親ノード情報N(uBP)(uBP∈{1,...,UB})であり、前記親ノード情報N(uBP)にはc(uBP)個の子ノード情報N(uBC)(uBC∈{1,...,UB})が対応し、前記親ノード情報N(uBP)の何れか1つがルートノード情報N(uBR)(uBR∈{1,...,UB})であり、前記子ノード情報N(uBC)の少なくとも一部が葉ノード情報N(uBL)(uBL∈{1,...,UB})であり、前記葉ノード情報N(uBL)に対応するuBLの集合がL(γB)であり、前記親ノード情報N(uBP)のそれぞれには1≦k(uBP)≦c(uBP)を満たすしきい値k(uBP) が対応し、前記ノード情報N(uB)のそれぞれには情報q(uB, η(uB))が対応し、前記ルートノード情報N(uBR)に対応する情報q(uBR, η(uBR))が前記マスタ秘密鍵λであり、前記親ノード情報N(uBP)に対応する情報q(uBP, η(uBP))をk(uBP)-out-of-c(uBP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uBP)に対応する前記子ノード情報N(uBC)に対応する情報q(uBC, η(uBC))であり、前記葉ノード情報N(uBL)にはそれぞれ属性情報att(uBL)∈ATTと秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1とが対応し、前記秘密値D(uBL)(uBL∈L(γB))の集合が前記第2鍵交換装置の長期秘密鍵DB={D(uBL)}uBL∈L(γB)であり、
前記第1鍵交換装置は、
短期秘密鍵sAを任意に生成する第1短期秘密鍵生成部と、
前記属性情報の集合ATTの部分集合である属性集合δA⊂ATTと前記長期秘密鍵DAと前記短期秘密鍵sAとを用い、前記長期秘密鍵DAと前記短期秘密鍵sAとを含む値の像χに対する元T(wA)χ∈G2(wA∈δA)の集合であるTA={T(wA)χ}wA∈δAを含む第1短期公開鍵を生成する第1短期公開鍵生成部と、
前記属性集合δAと前記第1短期公開鍵とを前記第2鍵交換装置に対して出力する第1出力部と、を有し、
前記第2鍵交換装置は、
短期秘密鍵sBを任意に生成する第2短期秘密鍵生成部と、
前記属性情報の集合ATTの部分集合である属性集合δB⊂ATTと前記長期秘密鍵DBと前記短期秘密鍵sBとを用い、前記長期秘密鍵DBと前記短期秘密鍵sBとを含む値の像υに対する元T(wB)υ∈G2(wB∈δB)の集合であるTB={T(wB)υ}wB∈δBを含む第2短期公開鍵を生成する第2短期公開鍵生成部と、
前記属性集合δBと前記第2短期公開鍵とを前記第1鍵交換装置に対して出力する第2出力部と、を有し、
前記第1鍵交換装置は、
前記属性集合δBと前記第2短期公開鍵との入力を受け付ける第1入力部と、
前記属性集合δBに属する前記属性情報att(uAL)∈δBに対応する前記葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1と前記第2短期公開鍵が含む元T(att(uAL))υ∈G2とに対し、前記双線形写像eを作用させ、前記葉ノード情報N(uAL)に対して復元値e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, η(uAL))∈GTを生成する第1葉ノード復元値生成部と、
自らに対応する前記子ノード情報N(uAC)のうち復元値gT υ・q(uAC, η(uAC))∈GTが生成されたものの合計数が自らに対応する前記しきい値k(uAP)以上となる前記親ノード情報N(uAP)に対し、当該しきい値k(uAP)以上の前記復元値gT υ・q(uAC, η(uAC))∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT υ・q(uAP, η(uAP))∈GTを生成する第1親ノード復元値生成部と、
前記第1親ノード復元値生成部が、前記ルートノード情報N(uAR)に対する復元値gT υ・q(uAR, η(uAR))=gT υ・λ∈GTを生成した場合、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとを含む値の像を第1セッション鍵として出力する第1鍵生成部と、を有し、
前記第2鍵交換装置は、
前記属性集合δAと前記第1短期公開鍵との入力を受け付ける第2入力部と、
前記属性集合δAに属する前記属性情報att(uBL)∈δAに対応する前記葉ノード情報N(uBL)に対応する秘密値D(uBL)=g1 q(uBL, η(uBL))/t(att(uBL))∈G1と前記第1短期公開鍵が含む元T(att(uBL))χ∈G2とに対し、前記双線形写像eを作用させ、前記葉ノード情報N(uBL)に対して復元値e(D(uBL), T(att(uBL))χ)=gT χ・q(uBL, η(uBL))∈GTを生成する第2葉ノード復元値生成部と、
自らに対応する前記子ノード情報N(uBC)のうち復元値gT χ・q(uBC, η(uBC))∈GTが生成されたものの合計数が自らに対応する前記しきい値k(uBP)以上となる前記親ノード情報N(uBP)に対し、当該しきい値k(uBP)以上の前記復元値gT χ・q(uBC, η(uBC))∈GTをk(uBP)-out-of-c(uBP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT χ・q(uBP, η(uBP))∈GTを生成する第2親ノード復元値生成部と、
前記第2親ノード復元値生成部が、前記ルートノード情報N(uBR)に対する復元値gT χ・q(uBR, η(uBR))=gT χ・λ∈GTを生成した場合、gT χ・λ∈GTとΛυ=gT υ・λ∈GTとを含む値の像を第2セッション鍵として出力する第2鍵生成部と、を有する、
ことを特徴とする鍵交換システム。
A first key exchange device and a second key exchange device;
The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 a × G 2 → G T, is a set of attribute information j is ATT, is a master secret key is λ and t (j) (j∈ATT), master public key is λ = g T λ ∈G T and T (j) = g 2 t (j) ∈ G 2
Tree structure data γ A including U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,..., U A }) corresponds to the first key exchange device, Part of the node information N (u A ) is parent node information N (u AP ) (u AP ∈ {1,..., U A }), and the parent node information N (u AP ) includes c (u AP ) child node information N (u AC ) (u AC ∈ {1,..., U A }) corresponds, and any one of the parent node information N (u AP ) is root node information. N (u AR ) (u AR ∈ {1, ..., U A }), and at least a part of the child node information N (u AC ) is leaf node information N (u AL ) (u AL ∈ { 1, ..., U A }), and the set of u AL corresponding to the leaf node information N (u AL ) is L (γ A ), and each of the parent node information N (u AP ) Corresponds to a threshold k (u AP ) satisfying 1 ≦ k (u AP ) ≦ c (u AP ), and each of the node information N (u A ) has information q (u A , η (u A )) corresponds, the root node information N (u AR) corresponding to the information q (u AR, η (u AR)) is the master secret key λ der Obtained the parent node information N (u AP) to corresponding information q (u AP, η (u AP)) and k (u AP) -out-of -c (u AP) with a threshold secret sharing The distributed information is information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ), and the leaf node information N (u AL ) Corresponds to attribute information att (u AL ) ∈ATT and secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈G 1 A set of secret values D (u AL ) (u AL ∈L (γ A )) is the long-term secret key D A = {D (u AL )} uAL∈L (γA) of the first key exchange device,
Tree structure data γ B including U B (U B ≧ 2) pieces of node information N (u B ) (u B ε {1,..., U B }) corresponds to the second key exchange device, Part of the node information N (u B ) is parent node information N (u BP ) (u BP ∈ {1,..., U B }), and the parent node information N (u BP ) includes c (u BP ) child node information N (u BC ) (u BC ε {1,..., U B }) corresponds, and any one of the parent node information N (u BP ) is root node information. N (u BR ) (u BR ∈ {1, ..., U B }), and at least a part of the child node information N (u BC ) is leaf node information N (u BL ) (u BL ∈ { 1, ..., U B }), the set of u BL corresponding to the leaf node information N (u BL ) is L (γ B ), and each of the parent node information N (u BP ) Corresponds to a threshold k (u BP ) satisfying 1 ≦ k (u BP ) ≦ c (u BP ), and each of the node information N (u B ) has information q (u B , η (u B )) corresponds, the root node information N (u BR) corresponding to the information q (u BR, η (u BR)) is the master secret key λ der Obtained the parent node information N (u BP) in the corresponding information q (u BP, η (u BP)) and k (u BP) -out-of -c (u BP) with a threshold secret sharing The distributed information is information q (u BC , η (u BC )) corresponding to the child node information N (u BC ) corresponding to the parent node information N (u BP ), and the leaf node information N (u BL ) Corresponds to attribute information att (u BL ) ∈ATT and secret value D (u BL ) = g 1 q (uBL, η (uBL)) / t (att (uBL)) ∈G 1 A set of secret values D (u BL ) (u BL ∈L (γ B )) is the long-term secret key D B = {D (u BL )} uBL∈L (γB) of the second key exchange device;
The first key exchange device includes:
A first short-term secret key generation unit that arbitrarily generates a short-term secret key s A ;
Using the attribute set δ A ⊂ATT that is a subset of the attribute information set ATT, the long-term secret key D A and the short-term secret key s A , the long-term secret key D A and the short-term secret key s A are Generate a first short-term public key containing T A = {T (w A ) χ } wA∈δA , which is a set of elements T (w A ) χ ∈G 2 (w A ∈δ A ) for the image χ of the containing value A first short-term public key generation unit,
A first output unit that outputs the attribute set δ A and the first short-term public key to the second key exchange device;
The second key exchange device
A second short-term secret key generation unit that arbitrarily generates a short-term secret key s B ;
It using said attribute information attribute set δ B ⊂ATT a set is a subset of the ATT and the long-term secret key D B and the short-term secret key s B, and the long-term secret key D B and the short-term secret key s B generating a second short-term public key that contains the original T (w B) υ ∈G 2 (w B ∈δ B) is the set of T B = {T (w B ) υ} wB∈δB to the image upsilon values including A second short-term public key generation unit,
A second output unit that outputs the attribute set δ B and the second short-term public key to the first key exchange device;
The first key exchange device includes:
A first input unit that receives input of the attribute set δ B and the second short-term public key;
Secret value D (u AL ) = g 1 q (uAL, η (uAL ) corresponding to the leaf node information N (u AL ) corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B )) / t (att (uAL)) ∈ G 1 and the element T (att (u AL )) υ ∈ G 2 included in the second short-term public key, the bilinear map e is applied to the leaf Generate restoration value e (D (u AL ), T (att (u AL )) υ ) = g T υ ・ q (uAL, η (uAL)) ∈G T for node information N (u AL ) A first leaf node restoration value generation unit;
It said threshold k restored value g T υ · q of corresponding to itself child node information N (u AC) (uAC, η (uAC)) the total number although ∈G T was generated corresponding to itself to (u AP) or more and becomes the parent node information N (u AP), the threshold k (u AP) or more of the restored value g T υ · q (uAC, η (uAC)) the ∈G T k (u AP ) -out-of-c (u AP ) Restored value g T υ ・ q (uAP, η (uAP)) ∈G A first parent node restoration value generation unit for generating T ;
When the first parent node restoration value generation unit generates a restoration value g T υ · q (uAR, η (uAR)) = g T υ · λ ∈G T for the root node information N (u AR ), A first key generation unit that outputs an image of a value including Λ χ = g T χ · λ ∈G T and g T υ · λ ∈G T as a first session key;
The second key exchange device
A second input unit for receiving input of the attribute set δ A and the first short-term public key;
Secret value D (u BL ) = g 1 q (uBL, η (uBL ) corresponding to the leaf node information N (u BL ) corresponding to the attribute information att (u BL ) ∈δ A belonging to the attribute set δ A )) / t (att (uBL)) ∈ G 1 and the element T (att (u BL )) χ ∈ G 2 included in the first short-term public key, the bilinear map e is applied to the leaf Generate restoration value e (D (u BL ), T (att (u BL )) χ ) = g T χ ・ q (uBL, η (uBL)) ∈G T for node information N (u BL ) A second leaf node restoration value generation unit;
It said threshold k restored value g T χ · q of corresponding to itself child node information N (u BC) (uBC, η (uBC)) the total number although ∈G T was generated corresponding to itself to (u BP) or more and becomes the parent node information N (u BP), the threshold k (u BP) or more of the restored value g T χ · q (uBC, η (uBC)) the ∈G T k (u BP ) -out-of-c (u BP ) Restored value g T χ q (uBP, η (uBP)) ∈ G A second parent node restoration value generation unit for generating T ;
If the second parent node restoring value generation unit to generate a reconstruction value g T χ · q (uBR, η (uBR)) = g T χ · λ ∈G T with respect to the root node information N (u BR), a second key generation unit that outputs an image of a value including g T χ · λ ∈G T and Λ υ = g T υ · λ ∈G T as a second session key;
A key exchange system characterized by that.
請求項1の鍵交換システムであって、
前記第1短期公開鍵生成部は、さらに元X=g1 χ∈G1を生成し、前記第1短期公開鍵は、さらに前記元X=g1 χ∈G1を含み、
前記第2短期公開鍵生成部は、さらに元Y=g1 υ∈G1を生成し、前記第2短期公開鍵は、さらに前記元Y=g1 υ∈G1を含み、
前記第1鍵生成部は、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとYχ∈G1とを含む値の像を前記第1セッション鍵として出力し、
前記第2鍵生成部は、gT χ・λ∈GTとΛυ=gT υ・λ∈GTとXυ∈G1とを含む値の像を前記第2セッション鍵として出力する、
ことを特徴とする鍵交換システム。
The key exchange system of claim 1,
The first short-term public key generation unit further generates an original X = g 1 chi ∈G 1, wherein the first short-term public key further comprises the original X = g 1 chi ∈G 1,
The second short-term public key generation unit further generates an original Y = g 1 υ ∈G 1, the second short-term public key further comprises the original Y = g 1 υ ∈G 1,
The first key generation unit outputs an image of a value including Λ χ = g T χ · λ ∈ G T , g T υ · λ ∈ G T and Y χ ∈ G 1 as the first session key;
The second key generation unit outputs an image of a value including g T χ · λ ∈ G T and Λ υ = g T υ · λ ∈ G T and X υ ∈ G 1 as the second session key;
A key exchange system characterized by that.
請求項1又は2の鍵交換システムであって、
前記子ノード情報N(uAC)のそれぞれには識別子index(uAC)が対応し、前記葉ノード情報N(uAL)にはしきい値k(uAL)=1が対応し、前記ノード情報N(uA)のそれぞれには不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応し、η(uA)が前記ノード情報N(uA)に対応する定数であり、前記情報q(uA, η(uA))が前記多項式q(uA, α)に定数η(uA)を代入して得られる値であり、前記子ノード情報N(uAC)に対応する前記情報q(uAC, η(uAC))が当該子ノード情報N(uAC)に対応する前記親ノード情報N(uAP)に対応する多項式q(uAP, α)に当該子ノード情報N(uAC)に対応する前記識別子index(uAC)を代入して得られるq(uAP, index(uAC))であり、
前記子ノード情報N(uBC)のそれぞれには識別子index(uBC)が対応し、前記葉ノード情報N(uBL)にはしきい値k(uBL)=1が対応し、前記ノード情報N(uB)のそれぞれには不定元αについての次数d(uB)=k(uB)-1の多項式q(uB, α)が対応し、η(uB)が前記ノード情報N(uB)に対応する定数であり、前記情報q(uB, η(uB))が前記多項式q(uB, α)に定数η(uB)を代入して得られる値であり、前記子ノード情報N(uBC)に対応する前記情報q(uBC, η(uBC))が当該子ノード情報N(uBC)に対応する前記親ノード情報N(uBP)に対応する多項式q(uBP, α)に当該子ノード情報N(uBC)に対応する前記識別子index(uBC)を代入して得られるq(uBP, index(uBC))である、
ことを特徴とする鍵交換システム。
The key exchange system according to claim 1 or 2,
Each of the child node information N (u AC ) corresponds to an identifier index (u AC ), the leaf node information N (u AL ) corresponds to a threshold k (u AL ) = 1, and the node Each piece of information N (u A ) corresponds to a polynomial q (u A , α) of degree d (u A ) = k (u A ) -1 for the indefinite element α, and η (u A ) is the node A constant corresponding to the information N (u A ), and the information q (u A , η (u A )) is obtained by substituting the constant η (u A ) for the polynomial q (u A , α) and in the information corresponding to the child node information N (u AC) q (u AC, η (u AC)) the parent node information corresponds to the child node information N (u AC) N (u AP) Q (u AP , index (u AC )) obtained by substituting the identifier index (u AC ) corresponding to the child node information N (u AC ) into the polynomial q (u AP , α) corresponding to ,
Each of the child node information N (u BC ) corresponds to an identifier index (u BC ), the leaf node information N (u BL ) corresponds to a threshold k (u BL ) = 1, and the node Each of the information N (u B ) corresponds to a polynomial q (u B , α) of degree d (u B ) = k (u B ) -1 with respect to the indefinite element α, and η (u B ) is the node A constant corresponding to the information N (u B ), and the value obtained by substituting the constant η (u B ) into the polynomial q (u B , α) for the information q (u B , η (u B )) and in the information corresponding to the child node information N (u BC) q (u BC, η (u BC)) is the parent node information N (u BP) corresponding to the child node information N (u BC) Q (u BP , index (u BC )) obtained by substituting the identifier index (u BC ) corresponding to the child node information N (u BC ) into the polynomial q (u BP , α) corresponding to ,
A key exchange system characterized by that.
巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、マスタ公開鍵がΛ=gT λ∈GT及びT(j)=g2 t(j)∈G2であり、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データがγAであり、前記ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、前記親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、前記親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、前記子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、前記葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、前記親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、前記ノード情報N(uA)のそれぞれには情報q(uA, η(uA))が対応し、前記ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))が前記マスタ秘密鍵λであり、前記親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))であり、前記葉ノード情報N(uAL)にはそれぞれ属性情報att(uAL)∈ATTと秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1とが対応し、前記秘密値D(uAL)(uAL∈L(γA))の集合が長期秘密鍵DA={D(uAL)}uAL∈L(γA)であり、
短期秘密鍵sAを任意に生成する短期秘密鍵生成部と、
前記属性情報の集合ATTの部分集合である属性集合δA⊂ATTと前記長期秘密鍵DAと前記短期秘密鍵sAとを用い、前記長期秘密鍵DAと前記短期秘密鍵sAとを含む値の像χに対する元T(wA)χ∈G2(wA∈δA)の集合であるTA={T(wA)χ}wA∈δAを含む第1短期公開鍵を生成する短期公開鍵生成部と、
前記属性集合δAと前記第1短期公開鍵とを他の鍵交換装置に対して出力する出力部と、
属性集合δBと第2短期公開鍵との入力を受け付ける入力部と、
前記属性集合δBに属する前記属性情報att(uAL)∈δBに対応する前記葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1と前記第2短期公開鍵が含む元T(att(uAL))υ∈G2とに対し、前記双線形写像eを作用させ、前記葉ノード情報N(uAL)に対して復元値e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, η(uAL))∈GTを生成する葉ノード復元値生成部と、
自らに対応する前記子ノード情報N(uAC)のうち復元値gT υ・q(uAC, η(uAC))∈GTが生成されたものの合計数が自らに対応する前記しきい値k(uAP)以上となる前記親ノード情報N(uAP)に対し、当該しきい値k(uAP)以上の前記復元値gT υ・q(uAC, η(uAC))∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT υ・q(uAP, η(uAP))∈GTを生成する親ノード復元値生成部と、
前記親ノード復元値生成部が、前記ルートノード情報N(uAR)に対する復元値gT υ・q(uAR, η(uAR))=gT υ・λ∈GTを生成した場合、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとを含む値の像をセッション鍵として出力する鍵生成部と、
を有する鍵交換装置。
The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 a × G 2 → G T, is a set of attribute information j is ATT, is a master secret key is λ and t (j) (j∈ATT), master public key is λ = g T λ ∈G T and T (j) = g 2 t (j) ∈ G 2 and U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1, ..., U A }) The tree structure data to be included is γ A , part of the node information N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and the parent information The node information N (u AP ) corresponds to c (u AP ) child node information N (u AC ) (u AC ε {1, ..., U A }), and the parent node information N (u AP ) is root node information N (u AR ) (u AR ε {1, ..., U A }), and at least a part of the child node information N (u AC ) is leaf node information. N (u AL) (u AL ∈ {1, ..., U a}) is a set of u AL corresponding to the leaf node information N (u AL) is L (gamma a), wherein Node information N (u AP) of the threshold value k that satisfies 1 ≦ k (u AP) ≦ c (u AP) Each (u AP) corresponds to each of the node information N (u A) is Information q (u A , η (u A )), information q (u AR , η (u AR )) corresponding to the root node information N (u AR ) is the master secret key λ, and Distributed information obtained by k (u AP ) -out-of-c (u AP ) threshold secret sharing of information q (u AP , η (u AP )) corresponding to parent node information N (u AP ) Is information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ), and the leaf node information N (u AL ) Corresponds to attribute information att (u AL ) ∈ATT and secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈G 1 , respectively. The set of D (u AL ) (u AL ∈L (γ A )) is the long-term secret key D A = {D (u AL )} uAL∈L (γA) ,
A short-term secret key generation unit that arbitrarily generates a short-term secret key s A ;
Using the attribute set δ A ⊂ATT that is a subset of the attribute information set ATT, the long-term secret key D A and the short-term secret key s A , the long-term secret key D A and the short-term secret key s A are Generate a first short-term public key containing T A = {T (w A ) χ } wA∈δA , which is a set of elements T (w A ) χ ∈G 2 (w A ∈δ A ) for the image χ of the containing value A short-term public key generation unit,
An output unit for outputting the attribute set δ A and the first short-term public key to another key exchange device;
An input unit for receiving input of the attribute set δ B and the second short-term public key;
Secret value D (u AL ) = g 1 q (uAL, η (uAL ) corresponding to the leaf node information N (u AL ) corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B )) / t (att (uAL)) ∈ G 1 and the element T (att (u AL )) υ ∈ G 2 included in the second short-term public key, the bilinear map e is applied to the leaf Generate restoration value e (D (u AL ), T (att (u AL )) υ ) = g T υ ・ q (uAL, η (uAL)) ∈G T for node information N (u AL ) A leaf node restoration value generation unit;
It said threshold k restored value g T υ · q of corresponding to itself child node information N (u AC) (uAC, η (uAC)) the total number although ∈G T was generated corresponding to itself to (u AP) or more and becomes the parent node information N (u AP), the threshold k (u AP) or more of the restored value g T υ · q (uAC, η (uAC)) the ∈G T k (u AP ) -out-of-c (u AP ) Restored value g T υ ・ q (uAP, η (uAP)) ∈G A parent node restoration value generation unit for generating T ;
When the parent node restoration value generation unit generates a restoration value g T υ · q (uAR, η (uAR)) = g T υ · λ ∈G T for the root node information N (u AR ), Λ χ a key generation unit that outputs an image of a value including g T χ · λ ∈G T and g T υ · λ ∈G T as a session key;
A key exchange device.
巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、T(j)=g2 t(j)∈G2であり、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データがγAであり、前記ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、前記親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、前記親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、前記子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、前記葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、前記親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、
前記マスタ秘密鍵λを前記ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))として設定する第1設定部と、
前記親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報を当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))として設定する第2設定部と、
前記葉ノード情報N(uAL)に対応する属性情報att(uAL)∈ATTに対し、秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1を生成する秘密値生成部と、
前記秘密値D(uAL)(uAL∈L(γA))の集合である長期秘密鍵DA={D(uAL)}uAL∈L(γA)を出力する出力部と、
を有する鍵抽出装置。
The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 × G 2 → G T , set of attribute information j is ATT, master secret key is λ and t (j) (j∈ATT), and T (j) = g 2 t (j) ∈G 2 and the tree structure data including U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,..., U A }) is γ A , and the node information A part of N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and c (u AP ) is included in the parent node information N (u AP ). ) Child node information N (u AC ) (u AC ε {1,..., U A }), and any one of the parent node information N (u AP ) is root node information N (u AR ) (u AR ∈ {1, ..., U A }), and at least part of the child node information N (u AC ) is leaf node information N (u AL ) (u AL ∈ {1,. .., a U a}), the set of leaf node information N (u AL) to the corresponding u AL is L (gamma a), each of the parent node information N (u AP) 1 ≦ k (u AP) ≦ c threshold k (u AP) satisfying (u AP) corresponds,
A first setting unit that sets the master secret key λ as information q (u AR , η (u AR )) corresponding to the root node information N (u AR );
Dispersion obtained by distributing the information q (u AP , η (u AP )) corresponding to the parent node information N (u AP ) by k (u AP ) -out-of-c (u AP ) threshold secret A second setting unit that sets information as information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP );
For attribute information att (u AL ) ∈ATT corresponding to the leaf node information N (u AL ), the secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL) ) ∈ G 1
An output unit that outputs a long-term secret key D A = {D (u AL )} uALεL (γA) that is a set of the secret values D (u AL ) (u AL εL (γ A ));
A key extraction device.
請求項5の鍵抽出装置であって、
前記子ノード情報N(uAC)のそれぞれには識別子index(uAC)が対応し、前記葉ノード情報N(uAL)にはしきい値k(uAL)=1が対応し、前記ノード情報N(uA)のそれぞれには不定元αについての次数d(uA)=k(uA)-1の多項式q(uA, α)が対応し、η(uA)が前記ノード情報N(uA)に対応する定数であり、前記情報q(uA, η(uA))が前記多項式q(uA, α)に定数η(uA)を代入して得られる値であり、
前記第1設定部は、
前記マスタ秘密鍵λを前記ルートノード情報N(uAR)に対する情報q(uAR, η(uAR))として設定する第1設定部と、
α=η(uAR)であるときの関数値q(uAR, η(uAR))が前記マスタ秘密鍵λである不定元αについての次数d(uAR)=k(uAR)-1の多項式q(uAR, α)を前記ルートノード情報N(uAR)に対して設定する第1多項式設定部と、を含み、
前記第2設定部は、
前記親ノード情報N(uAP)に対応する多項式q(uAP, α)に、当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する前記識別子index(uAC)を代入して得られるq(uAP, index(uAC))を、当該子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))として設定する第2設定部と、
α=η(uAC)であるときの関数値q(uAC, η(uAC))がq(uAP, index(uAC))である不定元αについての次数d(uAC)=k(uAC)-1の多項式q(uAC, α)を前記子ノード情報N(uAC)に対して設定する第2多項式設定部と、を含む、
ことを特徴とする鍵抽出装置。
The key extraction device according to claim 5, comprising:
Each of the child node information N (u AC ) corresponds to an identifier index (u AC ), the leaf node information N (u AL ) corresponds to a threshold k (u AL ) = 1, and the node Each piece of information N (u A ) corresponds to a polynomial q (u A , α) of degree d (u A ) = k (u A ) -1 for the indefinite element α, and η (u A ) is the node A constant corresponding to the information N (u A ), and the information q (u A , η (u A )) is obtained by substituting the constant η (u A ) for the polynomial q (u A , α) And
The first setting unit includes:
A first setting unit that sets the master secret key λ as information q (u AR , η (u AR )) for the root node information N (u AR );
The function value q (u AR , η (u AR )) when α = η (u AR ) is the degree d (u AR ) = k (u AR ) − for the indefinite element α whose master secret key λ is A first polynomial setting unit that sets a polynomial q (u AR , α) of 1 for the root node information N (u AR ),
The second setting unit includes:
The parent node information N (u AP) to the corresponding polynomial q (u AP, α), the said parent node information N the identifier corresponding to the child node information corresponding to (u AP) N (u AC ) index ( u AC) q obtained by substituting (u AP, index (u AC) a), (information q (u AC corresponding to u AC), eta (u AC) child node information N first set as) 2 setting part;
alpha = eta function value q when a (u AC) (u AC, η (u AC)) is q (u AP, index (u AC)) degree d (u AC) for indeterminate alpha is = a second polynomial setting unit that sets a polynomial q (u AC , α) of k (u AC ) −1 for the child node information N (u AC ),
A key extraction device characterized by that.
巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、マスタ公開鍵がΛ=gT λ∈GT及びT(j)=g2 t(j)∈G2であり、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データがγAであり、前記ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、前記親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、前記親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、前記子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、前記葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、前記親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、前記ノード情報N(uA)のそれぞれには情報q(uA, η(uA))が対応し、前記ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))が前記マスタ秘密鍵λであり、前記親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報が当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))であり、前記葉ノード情報N(uAL)にはそれぞれ属性情報att(uAL)∈ATTと秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1とが対応し、前記秘密値D(uAL)(uAL∈L(γA))の集合が長期秘密鍵DA={D(uAL)}uAL∈L(γA)であり、
短期秘密鍵生成部において、短期秘密鍵sAを任意に生成するステップと、
短期公開鍵生成部において、前記属性情報の集合ATTの部分集合である属性集合δA⊂ATTと前記長期秘密鍵DAと前記短期秘密鍵sAとを用い、前記長期秘密鍵DAと前記短期秘密鍵sAとを含む値の像χに対する元T(wA)χ∈G2(wA∈δA)の集合であるTA={T(wA)χ}wA∈δAを含む第1短期公開鍵を生成するステップと、
出力部において、前記属性集合δAと前記第1短期公開鍵とを他の鍵交換装置に対して出力するステップと、
入力部において、属性集合δBと第2短期公開鍵との入力を受け付けるステップと、
葉ノード復元値生成部において、前記属性集合δBに属する前記属性情報att(uAL)∈δBに対応する前記葉ノード情報N(uAL)に対応する秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1と前記第2短期公開鍵が含む元T(att(uAL))υ∈G2とに対し、前記双線形写像eを作用させ、前記葉ノード情報N(uAL)に対して復元値e(D(uAL), T(att(uAL))υ)=gT υ・q(uAL, η(uAL))∈GTを生成するステップと、
親ノード復元値生成部において、自らに対応する前記子ノード情報N(uAC)のうち復元値gT υ・q(uAC, η(uAC))∈GTが生成されたものの合計数が自らに対応する前記しきい値k(uAP)以上となる前記親ノード情報N(uAP)に対し、当該しきい値k(uAP)以上の前記復元値gT υ・q(uAC, η(uAC))∈GTをk(uAP)-out-of-c(uAP)しきい値秘密分散法の分散情報として用い、当該分散情報に対応する復元値gT υ・q(uAP, η(uAP))∈GTを生成するステップと、
前記親ノード復元値生成部で前記ルートノード情報N(uAR)に対する復元値gT υ・q(uAR, η(uAR))=gT υ・λ∈GTが生成された場合、鍵生成部において、Λχ=gT χ・λ∈GTとgT υ・λ∈GTとを含む値の像をセッション鍵として出力するステップと、
を有する鍵交換方法。
The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 a × G 2 → G T, is a set of attribute information j is ATT, is a master secret key is λ and t (j) (j∈ATT), master public key is λ = g T λ ∈G T and T (j) = g 2 t (j) ∈ G 2 and U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1, ..., U A }) The tree structure data to be included is γ A , part of the node information N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and the parent information The node information N (u AP ) corresponds to c (u AP ) child node information N (u AC ) (u AC ε {1, ..., U A }), and the parent node information N (u AP ) is root node information N (u AR ) (u AR ε {1, ..., U A }), and at least a part of the child node information N (u AC ) is leaf node information. N (u AL) (u AL ∈ {1, ..., U a}) is a set of u AL corresponding to the leaf node information N (u AL) is L (gamma a), wherein Node information N (u AP) of the threshold value k that satisfies 1 ≦ k (u AP) ≦ c (u AP) Each (u AP) corresponds to each of the node information N (u A) is Information q (u A , η (u A )), information q (u AR , η (u AR )) corresponding to the root node information N (u AR ) is the master secret key λ, and Distributed information obtained by k (u AP ) -out-of-c (u AP ) threshold secret sharing of information q (u AP , η (u AP )) corresponding to parent node information N (u AP ) Is information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP ), and the leaf node information N (u AL ) Corresponds to attribute information att (u AL ) ∈ATT and secret value D (u AL ) = g 1 q (uAL, η (uAL)) / t (att (uAL)) ∈G 1 , respectively. The set of D (u AL ) (u AL ∈L (γ A )) is the long-term secret key D A = {D (u AL )} uAL∈L (γA) ,
A step of arbitrarily generating a short-term secret key s A in the short-term secret key generation unit;
In short public key generation unit, using said attribute set δ A ⊂ATT and the long-term private key D A short private key s A is a subset of the set ATT of the attribute information, the said long-term private key D A Contains T A = {T (w A ) χ } wA∈δA , which is the set of elements T (w A ) χ ∈ G 2 (w A ∈δ A ) for the image χ of values including the short-term secret key s A Generating a first short-term public key;
In the output unit, outputting the attribute set δ A and the first short-term public key to another key exchange device;
Receiving an input of the attribute set δ B and the second short-term public key in the input unit;
In the leaf node restoration value generation unit, the secret value D (u AL ) = g corresponding to the leaf node information N (u AL ) corresponding to the attribute information att (u AL ) ∈δ B belonging to the attribute set δ B 1 q (uAL, η (uAL)) / t (att (uAL)) ∈ G 1 and element T (att (u AL )) υ ∈ G 2 included in the second short-term public key The mapping e is applied to the leaf node information N (u AL ), and the restored value e (D (u AL ), T (att (u AL )) υ ) = g T υ · q (uAL, η (uAL )) Generating ∈G T ;
In the parent node restoration value generator, reconstruction value g T υ · q of the child node information corresponding to its own N (u AC) (uAC, η (uAC)) Total number itself but ∈G T is generated corresponding to the threshold value k to (u AP) or more and becomes the parent node information N (u AP), the threshold value k (u AP) or more of the restored value g T υ · q (uAC, η (uAC)) ∈G T is used as shared information of k (u AP ) -out-of-c (u AP ) threshold secret sharing method, and the restored value g T υ q (uAP , η (uAP)) ∈G T ;
Wherein if said parent node restoration value generator root node information N restored value g T υ · q (uAR, η (uAR)) for (u AR) = g T υ · λ ∈G T is generated, the key generation A step of outputting an image of a value including Λ χ = g T χ · λ ∈G T and g T υ · λ ∈G T as a session key;
A key exchange method.
巡回群G1, G2, GTの生成元がそれぞれg1, g2, gTであり、直積空間G1×G2の元を巡回群GTに写す双線形写像がe: G1×G2→GTであり、属性情報jの集合がATTであり、マスタ秘密鍵がλ及びt(j)(j∈ATT)であり、T(j)=g2 t(j)∈G2であり、UA(UA≧2)個のノード情報N(uA)(uA∈{1,...,UA})を含む木構造データがγAであり、前記ノード情報N(uA)の一部が親ノード情報N(uAP)(uAP∈{1,...,UA})であり、前記親ノード情報N(uAP)にはc(uAP)個の子ノード情報N(uAC)(uAC∈{1,...,UA})が対応し、前記親ノード情報N(uAP)の何れか1つがルートノード情報N(uAR)(uAR∈{1,...,UA})であり、前記子ノード情報N(uAC)の少なくとも一部が葉ノード情報N(uAL)(uAL∈{1,...,UA})であり、前記葉ノード情報N(uAL)に対応するuALの集合がL(γA)であり、前記親ノード情報N(uAP)のそれぞれには1≦k(uAP)≦c(uAP)を満たすしきい値k(uAP)が対応し、
第1設定部において、前記マスタ秘密鍵λを前記ルートノード情報N(uAR)に対応する情報q(uAR, η(uAR))として設定するステップと、
第2設定部において、前記親ノード情報N(uAP)に対応する情報q(uAP, η(uAP))をk(uAP)-out-of-c(uAP)しきい値秘密分散して得られる分散情報を当該親ノード情報N(uAP)に対応する前記子ノード情報N(uAC)に対応する情報q(uAC, η(uAC))として設定するステップと、
秘密値生成部において、前記葉ノード情報N(uAL)に対応する属性情報att(uAL)∈ATTに対し、秘密値D(uAL)=g1 q(uAL, η(uAL))/t(att(uAL))∈G1を生成するステップと、
出力部において、前記秘密値D(uAL)(uAL∈L(γA))の集合である長期秘密鍵DA={D(uAL)}uAL∈L(γA)を出力するステップと、
を有する鍵抽出方法。
The generators of the cyclic groups G 1 , G 2 , and G T are g 1 , g 2 , and g T , respectively, and the bilinear mapping that maps the direct product space G 1 × G 2 elements to the cyclic group G T is e: G 1 × G 2 → G T , set of attribute information j is ATT, master secret key is λ and t (j) (j∈ATT), and T (j) = g 2 t (j) ∈G 2 and the tree structure data including U A (U A ≧ 2) pieces of node information N (u A ) (u A ∈ {1,..., U A }) is γ A , and the node information A part of N (u A ) is parent node information N (u AP ) (u AP ∈ {1, ..., U A }), and c (u AP ) is included in the parent node information N (u AP ). ) Child node information N (u AC ) (u AC ε {1,..., U A }), and any one of the parent node information N (u AP ) is root node information N (u AR ) (u AR ∈ {1, ..., U A }), and at least part of the child node information N (u AC ) is leaf node information N (u AL ) (u AL ∈ {1,. .., a U a}), the set of leaf node information N (u AL) to the corresponding u AL is L (gamma a), each of the parent node information N (u AP) 1 ≦ k (u AP) ≦ c threshold k (u AP) satisfying (u AP) corresponds,
In the first setting unit, setting the master secret key λ as information q (u AR , η (u AR )) corresponding to the root node information N (u AR );
In the second setting unit, information q (u AP , η (u AP )) corresponding to the parent node information N (u AP ) is set to k (u AP ) -out-of-c (u AP ) threshold secret Setting the distributed information obtained by distribution as information q (u AC , η (u AC )) corresponding to the child node information N (u AC ) corresponding to the parent node information N (u AP );
In the secret value generation unit, for the attribute information att (u AL ) ∈ATT corresponding to the leaf node information N (u AL ), the secret value D (u AL ) = g 1 q (uAL, η (uAL)) / generating t (att (uAL)) ∈ G 1 ;
In the output unit, outputting a long-term secret key D A = {D (u AL )} uALεL (γA) that is a set of the secret values D (u AL ) (u AL εL (γ A )); ,
A key extraction method.
請求項7の鍵交換方法の処理をコンピュータに実行させるためのプログラム。   The program for making a computer perform the process of the key exchange method of Claim 7. 請求項8の鍵抽出方法の処理をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the processing of the key extraction method according to claim 8.
JP2010131130A 2010-06-08 2010-06-08 Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program Active JP5449040B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010131130A JP5449040B2 (en) 2010-06-08 2010-06-08 Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010131130A JP5449040B2 (en) 2010-06-08 2010-06-08 Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program

Publications (2)

Publication Number Publication Date
JP2011259149A JP2011259149A (en) 2011-12-22
JP5449040B2 true JP5449040B2 (en) 2014-03-19

Family

ID=45474853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010131130A Active JP5449040B2 (en) 2010-06-08 2010-06-08 Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program

Country Status (1)

Country Link
JP (1) JP5449040B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190895B2 (en) * 2005-08-18 2012-05-29 Microsoft Corporation Authenticated key exchange with derived ephemeral keys

Also Published As

Publication number Publication date
JP2011259149A (en) 2011-12-22

Similar Documents

Publication Publication Date Title
KR101478766B1 (en) Encryption device, decryption device, encryption method, decryption method, program, and recording medium
Liu et al. A Survey of Public Auditing for Shared Data Storage with User Revocation in Cloud Computing.
KR101246241B1 (en) Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
TWI821248B (en) Computer implemented method and system for transferring control of a digital asset
CN111106936A (en) SM 9-based attribute encryption method and system
KR101456579B1 (en) Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, secret sharing method, program and recording medium
CN107078906A (en) Public key encryp
EP4376350A2 (en) Computer implemented system and method for distributing shares of digitally signed data
KR20160131798A (en) Method and system for additive homomorphic encryption scheme with error detection functionality
TW201937899A (en) Computer implemented method and system for obtaining digitally signed data
Wang et al. Verifiable threshold scheme in multi-secret sharing distributions upon extensions of ECC
Azarderakhsh et al. How not to create an isogeny-based PAKE
TW202232913A (en) Generating shared keys
CN113162751A (en) Encryption method and system with homomorphism adding function and readable storage medium
Zhao et al. Quantum-safe HIBE: does it cost a Latte?
JP6259402B2 (en) KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM
Wang et al. New identity-based key-encapsulation mechanism and its applications in cloud computing
JP2018036418A (en) Encryption system, encryption method, and encryption program
JP7384216B2 (en) Digital watermarking system, digital watermarking method and program
JP5449040B2 (en) Key exchange system, key exchange device, key extraction device, key exchange method, key extraction method, and program
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Peng et al. Publicly verifiable secret sharing scheme and its application with almost optimal information rate
Spreitzer et al. Group-signature schemes on constrained devices: the gap between theory and practice
JP4861369B2 (en) Recovery signature system, signature generation device, signature verification device, method and program thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131224

R150 Certificate of patent or registration of utility model

Ref document number: 5449040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350