JP5650630B2 - Key exchange system, key exchange device, key exchange method, key exchange program - Google Patents

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

Info

Publication number
JP5650630B2
JP5650630B2 JP2011254796A JP2011254796A JP5650630B2 JP 5650630 B2 JP5650630 B2 JP 5650630B2 JP 2011254796 A JP2011254796 A JP 2011254796A JP 2011254796 A JP2011254796 A JP 2011254796A JP 5650630 B2 JP5650630 B2 JP 5650630B2
Authority
JP
Japan
Prior art keywords
key
attribute
key exchange
integer
exchange device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011254796A
Other languages
Japanese (ja)
Other versions
JP2013110628A (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 JP2011254796A priority Critical patent/JP5650630B2/en
Publication of JP2013110628A publication Critical patent/JP2013110628A/en
Application granted granted Critical
Publication of JP5650630B2 publication Critical patent/JP5650630B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報セキュリティに関するものであり、特に、二者間でセッション鍵を共有するための鍵交換システム、鍵交換装置、鍵生成装置、鍵交換方法、鍵交換プログラムに関する。   The present invention relates to information security, and more particularly to a key exchange system, a key exchange device, a key generation device, a key exchange method, and a key exchange program for sharing a session key between two parties.

鍵交換時にアクセスポリシーを指定でき、マスタ秘密鍵とマスタ公開鍵を生成した後にも任意の属性を扱うことができる鍵交換システムについて、非特許文献1に公開されている。   Non-Patent Document 1 discloses a key exchange system that can specify an access policy at the time of key exchange and can handle arbitrary attributes even after generating a master secret key and a master public key.

Kazuki Yoneyama, “Strongly Secure Two-Pass Attribute-Based Authenti-cated Key Exchange”, Pairing 2010, LNCS 6487, pp147-166, 2010.Kazuki Yoneyama, “Strongly Secure Two-Pass Attribute-Based Authenti-cated Key Exchange”, Pairing 2010, LNCS 6487, pp147-166, 2010.

非特許文献1に対応する内容は、本願出願時には未公開の特願2010−259053に記載されており、以下のとおりである。   The contents corresponding to Non-Patent Document 1 are described in Japanese Patent Application No. 2010-290553 that has not been published at the time of filing this application, and are as follows.

[構成]
図1に特願2010−259053の鍵交換システムの構成例を示す。鍵交換システムは、ネットワーク1000を介して接続された鍵交換装置100,…,100(ただし、Qは2以上の整数、qは1以上Q以下の整数、AとBは1以上Q以下の異なる整数)、鍵生成装置300で構成される。図2に鍵交換装置の機能構成例、図3に鍵生成装置の機能構成例を示す。鍵交換装置100は、アクセス構造決定部110、短期秘密鍵生成部120、交換情報生成部130、送信部140、受信部145、属性確認部150、秘密情報取得部160、セッション鍵計算部170、中間情報消去部180、記録部190を備える。また、鍵生成装置300は、マスタ鍵生成部310、長期秘密鍵生成部320、記録部390を備える。以下の説明では、鍵交換装置100(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100(鍵交換装置βに相当)がレスポンダとして機能してセッション鍵を共有する場合について説明する。
[Constitution]
FIG. 1 shows a configuration example of a key exchange system of Japanese Patent Application No. 2010-259053. The key exchange system includes key exchange devices 100 1 ,..., 100 Q connected via the network 1000 (where Q is an integer of 2 or more, q is an integer of 1 to Q, and A and B are 1 to Q) The key generation device 300 is configured. FIG. 2 shows a functional configuration example of the key exchange apparatus, and FIG. 3 shows a functional configuration example of the key generation apparatus. The key exchange device 100 q includes an access structure determination unit 110 q , a short-term secret key generation unit 120 q , an exchange information generation unit 130 q , a transmission unit 140 q , a reception unit 145 q , an attribute confirmation unit 150 q , and a secret information acquisition unit 160. q , a session key calculation unit 170 q , an intermediate information deletion unit 180 q , and a recording unit 190 q . The key generation device 300 includes a master key generation unit 310, a long-term secret key generation unit 320, and a recording unit 390. In the following description, the key exchange apparatus 100 A (corresponding to the key exchange apparatus α) functions as an initiator, and the key exchange apparatus 100 B (corresponding to the key exchange apparatus β) functions as a responder to share a session key. explain.

なお、κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは鍵交換装置100の属性を示す属性要素Pの組み合わせの集合、属性集合Sは鍵交換装置100の属性を示す属性要素Pの組み合わせの集合、NMAXはあらかじめ定めた整数、jとnは1以上NMAX以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、{T}はT[1],…,T[NMAX]の集合、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合である。 Incidentally, kappa are integers, p is a kappa-bit prime number, G and G T is of order p group, g is the original creation of the group G, g T is generator of the group G T, e is G × G → G T H 1 is a hash function that converts an integer of an arbitrary length to an element of the group G, H 2 is a hash function that converts an integer of an arbitrary length to an integer of 0 to p−1, and H 2 3 is a set of hash functions, P n is an attribute element indicating an attribute, the attribute set S a of attribute elements P n indicating the attribute of the key exchange device 100 a combination of converting an integer arbitrary length to an integer κ bits, attributes The set S B is a set of combinations of attribute elements P n indicating the attributes of the key exchange apparatus 100 B , N MAX is a predetermined integer, j and n are integers of 1 to N MAX , and k A is the attribute set S A element, k B the set of attributes S B elements, {T a} is T a [1], ..., T a [N M Set of X], {T B} is T B [1], ..., a set of T B [N MAX], the set of {S A} is S A [1], ..., S A [N MAX], { S B } is a set of S B [1],..., S B [N MAX ], {U} is a set of U i, j , and {V} is a set of V i, j .

[鍵生成、鍵抽出]
図4に、マスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す。なお、長期秘密鍵生成の処理が鍵抽出に相当する。鍵生成装置300のマスタ鍵生成部310は、0以上p−1以下の整数からランダムにrとzを選定する。そして、マスタ公開鍵を(g,g^r,g^z)、マスタ秘密鍵をg^zとして記録部390に記録し、マスタ公開鍵(g,g^r,g^z)を公開する(S310)。鍵交換装置100と鍵交換装置100は、それぞれマスタ公開鍵を(g,g^r,g^z)を受信し、記録部190と記録部190に記録する。
[Key generation, key extraction]
FIG. 4 shows an example of a processing flow for generating a master secret key, a master public key, and a long-term secret key. The long-term secret key generation process corresponds to key extraction. The master key generation unit 310 of the key generation device 300 randomly selects r and z from integers between 0 and p−1. Then, the master public key (g, g ^ r, g T ^ z) , to record the master secret key in the recording unit 390 as g ^ z, master public key (g, g ^ r, g T ^ z) a Release (S310). Key exchange device 100 A and the key exchange device 100 B, respectively a master public key receives (g, g ^ r, g T ^ z), is recorded in the recording unit 190 B and the recording unit 190 A.

長期秘密鍵生成部320は、0以上p−1以下の整数からランダムにt[1],…,t[NMAX]を選び、S’=g^z・g^(rt[1])を計算し、1以上NMAX以下のjについてT[j]=g^t[1]を計算し、属性集合Sの要素kについて The long-term secret key generation unit 320 randomly selects t A [1],..., T A [N MAX ] from an integer of 0 or more and p−1 or less, and S ′ A = g ^ z · g ^ (rt A [ 1]), T A [j] = g ^ t A [1] is calculated for j of 1 to N MAX and the element k A of the attribute set S A is calculated.

Figure 0005650630
Figure 0005650630

を計算し、長期秘密鍵として(S’,{T},{S})を鍵交換装置100に送信する(S320)。鍵交換装置100は、長期秘密鍵(S’,{T},{S})を受信し、記録部190に記録する(S192)。 And (S ′ A , {T A }, {S A }) are transmitted to the key exchange apparatus 100 A as the long-term secret key (S320 A ). The key exchange apparatus 100 A receives the long-term secret key (S ′ A , {T A }, {S A }) and records it in the recording unit 190 A (S 192 A ).

さらに、長期秘密鍵生成部320は、0以上p−1以下の整数からランダムにt[1],…,t[NMAX]を選び、S’=g^z・g^(rt[1])を計算し、1以上NMAX以下のjについてT[j]=g^t[1]を計算し、属性集合Sの要素kについて Furthermore, long-term secret key generator 320, t B [1] at random from 0 or p-1 an integer, ..., t B to select [N MAX], S 'B = g ^ z · g ^ (rt B [1]), T B [j] = g ^ t B [1] is calculated for j between 1 and N MAX , and the element k B of the attribute set S B is calculated.

Figure 0005650630
Figure 0005650630

を計算し、長期秘密鍵として(S’,{T},{S})を鍵交換装置100に送信する(S320)。鍵交換装置100は、長期秘密鍵(S’,{T},{S})を受信し、記録部190に記録する(S192)。 And (S ′ B , {T B }, {S B }) as the long-term secret key is transmitted to the key exchange apparatus 100 B (S 320 B ). The key exchange apparatus 100 B receives the long-term secret key (S ′ B , {T B }, {S B }) and records it in the recording unit 190 B (S 192 B ).

なお、あらかじめ鍵交換装置100の記録部190にマスタ公開鍵(g,g^r,g^z)と長期秘密鍵(S’,{T},{S})とを記録させ、鍵交換装置100の記録部190にマスタ公開鍵(g,g^r,g^z)と長期秘密鍵(S’,{T},{S})とを記録させておけば、ネットワーク1000を介して接続された鍵交換装置100と鍵交換装置100だけで最低限の鍵交換システムが構成できる。 Incidentally, the master public key to the recording unit 190 A of advance key exchange device 100 A (g, g ^ r , g T ^ z) and long-term secret key (S 'A, {T A }, {S A}) and is recorded, the master public key to the recording unit 190 B of the key exchange device 100 B (g, g ^ r , g T ^ z) and long-term secret key (S 'B, {T B }, {S B}) and if by being recorded, it can be constructed minimum key exchange system only connected key exchange device 100 a and the key exchange device 100 B via a network 1000.

[鍵交換]
図5にセッション鍵を共有する鍵交換の処理のフローの例を示す。この例は、鍵交換装置100(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100(鍵交換装置βに相当)がレスポンダとして機能する場合を示している。
[Key exchange]
FIG. 5 shows an example of a flow of key exchange processing for sharing a session key. In this example, the key exchange device 100 A (corresponding to the key exchange device α) functions as an initiator, and the key exchange device 100 B (corresponding to the key exchange device β) functions as a responder.

鍵交換装置100は、アクセス構造決定部110、短期秘密鍵生成部120、交換情報生成部130、送信部140、受信部145、属性確認部150、秘密情報取得部160、セッション鍵計算部170、中間情報消去部180を備える。鍵交換装置100は、アクセス構造決定部110、短期秘密鍵生成部120、交換情報生成部130、送信部140、受信部145、属性確認部150、秘密情報取得部160、セッション鍵計算部170、中間情報消去部180を備える。 Key exchange unit 100 A, the access structure determination unit 110 A, the short-term private key generating unit 120 A, exchanging information generating unit 130 A, the transmission unit 140 A, the reception unit 145 A, the attribute confirmation section 0.99 A, secret information acquisition unit 160 A , a session key calculation unit 170 A , and an intermediate information deletion unit 180 A. The key exchange apparatus 100 B includes an access structure determination unit 110 B , a short-term secret key generation unit 120 B , an exchange information generation unit 130 B , a transmission unit 140 B , a reception unit 145 B , an attribute confirmation unit 150 B , and a secret information acquisition unit 160. B , a session key calculation unit 170 B , and an intermediate information deletion unit 180 B.

アクセス構造決定部110は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する(S110)。短期秘密鍵生成部120は、1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する(S120)。交換情報生成部130は、
1≦j≦Nについて、u=H(S’,{T},{S},u )、
X=g^u
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−u
を計算する(130)。送信部140は、X、{U}、M、ρを鍵交換装置100に送信する(S140)。中間情報消去部180は、u(1≦j≦N)を消去する(S180)。
Access structure determination unit 110 A determines the access structure A A, generates the access structure A share information generation matrix corresponding to A M A and injective labeling function [rho A (S110 A). Short-term private key generation unit 120 A, for 1 ≦ j ≦ N A, selected randomly u ~ j from 0 or p-1 an integer (S120 A). Exchanging information generating unit 130 A is
For 1 ≦ j ≦ N A , u j = H 2 (S ′ A , {T A }, {S A }, u to j ),
X = g ^ u 1 ,
For 1 ≦ i ≦ L A and 1 ≦ j ≦ N A,
U i, j = g ^ (r (M A ) i, j u j ) · H 1 (j, ρ A (i)) ^ (− u 1 ),
For 1 ≦ i ≦ L A and N A + 1 ≦ j ≦ N MAX,
U i, j = H 1 (j, ρ A (i)) ^ (− u 1 )
Is calculated (130 A ). The transmission unit 140 A transmits X, {U}, M A , and ρ A to the key exchange apparatus 100 B (S140 A ). The intermediate information erasure unit 180 A erases u j (1 ≦ j ≦ N A ) (S180 A ).

受信部145は、鍵交換装置100から、X、{U}、M、ρを受信する(S145)。属性確認部150は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する(S150)。 The receiving unit 145 B receives X, {U}, M A , and ρ A from the key exchange apparatus 100 A (S145 B ). The attribute confirmation unit 150 B confirms whether the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A, and whether X and {U} are elements of the group G (S 150 B ).

アクセス構造決定部110は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する(S110)。短期秘密鍵生成部120は、1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する(S120)。交換情報生成部130は、
1≦j≦Nについて、v=H(S’,{T},{S},v )、
Y=g^v
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−v
を計算する(S130)。送信部140は、Y、{V}、M、ρを鍵交換装置100に送信する(S140)。
Access structure determination unit 110 B determines the access structure A B, and generates the access structure shares information generation matrix corresponding to A B M B and injective labeling function ρ B (S110 B). The short-term secret key generation unit 120 B randomly selects v to j from 0 to p−1 in an integer for 1 ≦ j ≦ N B (S120 B ). The exchange information generation unit 130 B
For 1 ≦ j ≦ N B, v j = H 2 (S 'B, {T B}, {S B}, v ~ j),
Y = g ^ v 1 ,
For 1 ≦ i ≦ L B and 1 ≦ j ≦ N B,
V i, j = g ^ (r (M B ) i, j v j ) · H 1 (j, ρ B (i)) ^ (− v 1 ),
For 1 ≦ i ≦ L B and N B + 1 ≦ j ≦ N MAX ,
V i, j = H 1 (j, ρ B (i)) ^ (− v 1 )
The calculate (S130 B). The transmission unit 140 B transmits Y, {V}, M B , and ρ B to the key exchange apparatus 100 A (S140 B ).

秘密情報取得部160は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置100が生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について The secret information acquisition unit 160 B obtains a set I B that satisfies I B = {k: ρ A (k) εS B }, and a legitimate share information set for the secret information u 1 generated by the key exchange apparatus 100 A { About (M A ) i, j u j }

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める(S160)。セッション鍵計算部170は、 An integer w B [k] (where k is an element of the set I B ) of 0 or more and p−1 or less that holds is obtained (S160 B ). Session key calculation unit 170 B

Figure 0005650630
Figure 0005650630

σ=(g^z)^v
σ=X^v
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める(S170)。中間情報消去部180は、v(1≦j≦N)を消去する(S180)。
σ 2 = (g T ^ z) ^ v 1
σ 3 = X ^ v 1
And the session key K
K = H 31 , σ 2 , σ 3 , (X, {U}, M A , ρ A ), (Y, {V}, M B , ρ B ))
Calculated as (S170 B). The intermediate information erasure unit 180 B erases v j (1 ≦ j ≦ N B ) (S180 B ).

受信部145は、鍵交換装置100から、Y、{V}、M、ρを受信する(S145)。属性確認部150は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する(S150)。秘密情報取得部160は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置100が生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について The receiving unit 145 A receives Y, {V}, M B , and ρ B from the key exchange apparatus 100 B (S145 A ). Attribute confirmation section 0.99 A, the attribute set S A is meet or share information generator matrix M B and injective labeling function [rho B, Y and {V} to confirm whether the elements of the group G (S150 A). The secret information acquisition unit 160 A obtains a set I A such that I A = {k: ρ B (k) εS A }, and a legitimate share information set { 1 for the secret information v 1 generated by the key exchange apparatus 100 B { (M B ) i, j v j }

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める(S160)。セッション鍵計算部170は、 An integer w A [k] (where k is an element of the set I A ) is obtained (S160 A ). Session key calculation unit 170 A

Figure 0005650630
Figure 0005650630

σ=(g^z)^H(S’,{T},{S},u
σ=Y^H(S’,{T},{S},u
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める。
σ 1 = (g T ^ z ) ^ H 2 (S 'A, {T A}, {S A}, u ~ 1)
σ 3 = Y ^ H 2 ( S 'A, {T A}, {S A}, u ~ 1)
And the session key K
K = H 31 , σ 2 , σ 3 , (X, {U}, M A , ρ A ), (Y, {V}, M B , ρ B ))
Seek like.

この鍵交換システムは、上述のような処理によって鍵交換時にアクセスポリシーを指定でき、マスタ秘密鍵とマスタ公開鍵を生成した後にも任意の属性を扱うことができる。しかしながら、安全性を保証するためには、ハッシュ関数が理想的に安全(ランダムオラクル)でなければならないという問題がある。ランダムオラクルは現実のハッシュ関数を用いては実現できないことが知られている。よって、ランダムオラクルを仮定せずに安全性証明が付く方式が望ましい。   This key exchange system can specify an access policy at the time of key exchange by the process as described above, and can handle arbitrary attributes even after generating a master secret key and a master public key. However, in order to guarantee safety, there is a problem that the hash function must be ideally secure (random oracle). It is known that a random oracle cannot be realized using an actual hash function. Therefore, it is desirable to have a system that provides security proof without assuming a random oracle.

本発明は、非特許文献1の鍵交換技術と同じように鍵交換時にアクセスポリシーを指定できることと、マスタ秘密鍵とマスタ公開鍵を生成した後にも任意の属性を扱うことができることを確保しながら、ランダムオラクルを仮定しない安全な鍵交換技術を提供することを目的とする。   The present invention ensures that an access policy can be specified at the time of key exchange as in the key exchange technique of Non-Patent Document 1, and that any attribute can be handled even after generating a master secret key and a master public key. An object of the present invention is to provide a secure key exchange technique that does not assume a random oracle.

本発明の鍵交換システムは、少なくとも鍵交換装置αと鍵交換装置βとを備える。ここで、κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは鍵交換装置βの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、(g,g^r,g^z,h[1],…,h[att’])はマスタ公開鍵、g^zはマスタ秘密鍵、tは0以上p−1以下の整数、tは0以上p−1以下の整数、S’=g^z・g^(rt)、S’=g^z・g^(rt)、T=g^t、T=g^t、S[k]=h[k]^t、S[k]=h[k]^t、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号とする。 The key exchange system of the present invention includes at least a key exchange device α and a key exchange device β. Here, kappa is an integer, p is a kappa-bit prime number, G and G T is of order p group, g is the original creation of the group G, g T is generator of the group G T, e is G × G → G A bilinear mapping that maps like T , F_σ is a pseudo-random function that converts an integer of arbitrary length into an integer of κ bits according to the value σ of the specified key space Kspace, Ext is an element of the group G in the key space Kspace Strong random extractor that converts to a value, D is an integer, d is an integer between 1 and D, gen is a key generation algorithm for a disposable signature in which the bit length of the verification key is D, sig is the bit length of the verification key Is a signature generation algorithm for a disposable signature in which D is D, ver is an algorithm for verification of a disposable signature in which the bit length of the verification key is D, att ′ is an integer indicating the total number of elements of the attribute, and W d _R is 1-bit information indicating the dth dummy attribute Symbol indicating that it is a more bit string R, P n is an attribute element indicating attributes, the set of attribute set S A is the attribute element P n indicating the attribute of the key exchange apparatus alpha, access structure A A key exchange apparatus alpha is A set of combinations of attribute elements P n to be obtained from the key exchange device β, the injection labeling function ρ A is a function indicating the access structure A A , and the attribute set ρ A (i) is an i-th corresponding to the access structure A A The set, share information generation matrix M A is a matrix of L A rows N A columns in which the i-th row corresponds to the attribute set ρ A (i), and (M A ) i is the i-th row of the share information generation matrix M A corresponding set of vectors, attribute set S B is the set of attributes element P n indicating the attribute of the key exchange apparatus beta, access structure a B is the attribute element P n key exchange apparatus beta seek key exchange apparatus α combined, single morphism labeling function [rho B is the access structure A The function shown, attribute set [rho B (i) is the access structure A i-th set corresponding to B, share information generator matrix M B is the i-th row corresponds to a set of attributes ρ B (i) L B rows N A matrix of B columns, (M B ) i is a vector corresponding to the i-th row of the share information generation matrix M B , L A , N A , L B and N B are integers, and n A is the key exchange device α A predetermined integer 1 to N A shared by the key exchange device β, n B is a predetermined integer 1 to N B shared by the key exchange device α and the key exchange device β, k A is an element of the attribute set S A , k B is an element of the attribute set S B , r and z are integers from 0 to p−1, h [1],..., H [att ′] are elements of the group G, (g, g ^ r, g T ^ z, h [1], ..., h [att ']) is a master public key, g ^ z is a master secret key, t a Is an integer between 0 and p−1, t B is an integer between 0 and p−1, S ′ A = g ^ z · g ^ (rt A ), S ′ B = g ^ z · g ^ (rt B ), T A = g ^ t A , T B = g ^ t B , S A [k A ] = h [k A ] ^ t A , S B [k B ] = h [k B ] ^ t B , {S A } is a set of S A [k A ], {S B } is a set of S B [k B ], {U i } is a set of U i , {X i } is a set of X i , {V i } is a set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, and (+) is a symbol indicating an exclusive OR for each bit.

鍵交換装置αは、第1の記録部、第1のアクセス構造決定部、第1の短期秘密鍵生成部、第1の交換情報生成部、第1の送信部、第1の受信部、第1の秘密情報取得部、第1の属性確認部、第1のセッション鍵計算部、第1の中間情報消去部を備える。鍵交換装置βは、第2の記録部、第2のアクセス構造決定部、第2の短期秘密鍵生成部、第2の交換情報生成部、第2の送信部、第2の受信部、第2の秘密情報取得部、第2の属性確認部、第2のセッション鍵計算部、第2の中間情報消去部を備える。第1の記録部は、長期秘密鍵としてS’,T,{S}を記録する。第2の記録部は、長期秘密鍵としてS’,T,{S}を記録する。 The key exchange device α includes a first recording unit, a first access structure determination unit, a first short-term secret key generation unit, a first exchange information generation unit, a first transmission unit, a first reception unit, a first reception unit, A secret information acquisition unit, a first attribute confirmation unit, a first session key calculation unit, and a first intermediate information deletion unit. The key exchange device β includes a second recording unit, a second access structure determination unit, a second short-term secret key generation unit, a second exchange information generation unit, a second transmission unit, a second reception unit, A second secret information acquisition unit, a second attribute confirmation unit, a second session key calculation unit, and a second intermediate information deletion unit. The first recording unit records S ′ A , T A , {S A } as the long-term secret key. The second recording unit records S ′ B , T B , {S B } as the long-term secret key.

第1のアクセス構造決定部は、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkA1,…,W_vkAd,…,W_vkAD}(ただし、vkAdは使い捨て公開鍵vkのd番目のビット)を設定する。そして、当該アクセス構造A又はすべてのダミー属性W_vkA1,…,W_vkADを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する。 The first access structure determination unit determines the access structure A A , generates the disposable public key vk A and the disposable secret key sk A according to the disposable signature key generation algorithm gen, and sets the dummy attribute set W A = {W 1 _vk A1, ..., W d _vk Ad, ..., W D _vk AD} ( however, vk Ad is d-th bit of the disposable public key vk a) to set the. Then, a share information generation matrix M A and a linear labeling function ρ A of the linear secret sharing method corresponding to a condition satisfying the access structure A A or all the dummy attributes W 1 —vk A 1 ,..., W D —vk AD are generated. .

第1の短期秘密鍵生成部は、1≦j≦Nについてu_jを0以上p−1以下の整数からランダムに選定してu=(u_1,…,u_N)とし、xを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてxを0以上p−1以下の整数からランダムに選定する。 The first short-term private key generation unit, 1 ≦ j ≦ N u = the u_j from 0 or p-1 following integer selected randomly for A (u_1, ..., u_N A ) and the x 0 or p selected -1 from the integer randomly selected randomly x i from 0 or p-1 an integer for 1 ≦ i ≦ L a.

第1の交換情報生成部は、1≦i≦Lについてベクトルuとベクトル(Mとの内積を計算してシェアλAiとする。そして、U=g^u_nとX=g^xと、1≦i≦LについてU=g^(rλAi)h[ρ(i)]^(−x)とX=g^xを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(U,{U},X,{X})をメッセージとする使い捨て署名sを生成する。 The first exchange information generation unit calculates the inner product of the vector u and the vector (M A ) i for 1 ≦ i ≦ L A to obtain a share λ Ai . Then, the U = g ^ u_n A and X = g ^ x, the 1 ≦ i ≦ L A U i = g ^ (rλ Ai) h [ρ A (i)] ^ (- x i) and X i = g ^ x i is calculated, and a disposable signature s A is generated with sk A as a key and (U, {U i }, X, {X i }) as a message in accordance with the signature generation algorithm sig of the disposable signature.

第1の送信部は、EPK=(U,{U},X,{X},M,ρ,vk,s)を鍵交換装置βに送信する。第1の受信部は、鍵交換装置βから、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を受信する。 The first transmitting unit transmits EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) to the key exchange device β. The first receiving unit receives EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) from the key exchange device β.

第1の秘密情報取得部は、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報v_nの正当なシェア集合{λBi}について、 The first secret information acquisition unit, I A =: the {i ρ B (i) ∈S A} the set I A and I 'A = {i: ρ B (i) ∈W B} to become set I 'seek a, the correctness share the set {lambda Bi} of secret information v_n B corresponding to share information generator matrix M B,

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数wAiと整数w’Aiを求める。 An integer w Ai and an integer w ′ Ai of 0 to p−1 satisfying that

第1の属性確認部は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、V,{V},Y,{Y}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(V,{V},Y,{Y},s)をメッセージとして検証した結果が真であること、 First attribute confirmation section are that the attribute set S A to confirm meets share information generator matrix M B and injective labeling function ρ B, V, {V i }, Y, all {Y i} Is true for group G, and vk B is the key and (V, {V i }, Y, {Y i }, s B ) is the message according to the disposable signature verification algorithm. about,

Figure 0005650630
Figure 0005650630

が成り立つことを確認する。
第1のセッション鍵計算部は、
Confirm that
The first session key calculation unit

Figure 0005650630
Figure 0005650630

σ=(g^z)^u_n
σ=e(g^r,Y)^x
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める。
σ 1 = (g T ^ z) ^ u_n A
σ 3 = e (g ^ r, Y) ^ x
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
Seek like.

第1の中間情報消去部は、少なくともu_j(1≦j≦N)、x、x(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する。 The first intermediate information erasure unit includes at least u_j (1 ≦ j ≦ N A ), x, x i (1 ≦ i ≦ L A ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′. 1 , σ ′ 2 , σ ′ 3 , sid, sk A are deleted.

第2のアクセス構造決定部は、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkB1,…,W_vkBd,…,W_vkBD}(ただし、vkBdは使い捨て公開鍵vkのd番目のビット)を設定する。そして、当該アクセス構造A又はすべてのダミー属性W_vkB1,…,W_vkBDを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する。 The second access structure determination unit determines the access structure A B , generates the disposable public key vk B and the disposable secret key sk B according to the key generation algorithm gen of the disposable signature, and sets the dummy attribute set W B = {W 1 _vk B1, ..., W d _vk Bd, ..., W D _vk BD} ( however, vk Bd disposable public key vk d th bit of B) setting a. Then, a share information generation matrix M B and a linear labeling function ρ B of the linear secret sharing method corresponding to the conditions satisfying the access structure A B or all the dummy attributes W 1 —vk B 1 ,..., W D —vk BD are generated. .

第2の短期秘密鍵生成部は、1≦j≦Nについてv_jを0以上p−1以下の整数からランダムに選定してv=(v_1,…,v_N)とし、yを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてyを0以上p−1以下の整数からランダムに選定する。 The second short-term secret key generating unit, 1 ≦ j ≦ N B v = (v_1, ..., v_N B) a v_j from 0 or p-1 following integer selected randomly for a, a y 0 or p selected -1 from the integer randomly selected randomly y i from 0 or p-1 an integer for 1 ≦ i ≦ L B.

第2の交換情報生成部は、1≦i≦Lについてベクトルvとベクトル(Mとの内積を計算してシェアλBiとする。そして、V=g^v_nとY=g^yと、1≦i≦LについてV=g^(rλBi)h[ρ(i)]^(−y)とY=g^yを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(V,{V},Y,{Y})をメッセージとする使い捨て署名sを生成する。 The second exchange information generation unit calculates the inner product of the vector v and the vector (M B ) i for 1 ≦ i ≦ L B and sets it as the share λ Bi . Then, a V = g ^ v_n B and Y = g ^ y, for 1 ≦ i ≦ L B V i = g ^ (rλ Bi) h [ρ B (i)] ^ (- y i) and Y i = g ^ y i is calculated, and a disposable signature s B having sk B as a key and (V, {V i }, Y, {Y i }) as a message is generated according to the signature generation algorithm sig of the disposable signature.

第2の送信部は、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を鍵交換装置αに送信する。第2の受信部は、鍵交換装置αから、EPK=(U,{U},X,{X},M,ρ,vk,s)を受信する。 The second transmitting unit transmits EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) to the key exchange device α. The second receiving unit receives EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) from the key exchange device α.

第2の秘密情報取得部は、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報u_nの正当なシェア集合{λAi}について、 The second secret information acquiring unit, I B = {i: ρ A (i) ∈S B} to become set I B and I 'B = {i: ρ A (i) ∈W A} to become set I ' B is obtained, and a valid share set {λ Ai } of the secret information u_n A corresponding to the share information generation matrix M A is obtained.

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数wBiと整数w’Biを求める。 An integer w Bi and an integer w ′ Bi that satisfy 0 or more and p−1 or less are obtained.

第2の属性確認部は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、U,{U},X,{X}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(U,{U},X,{X},s)をメッセージとして検証した結果が真であること、 The second attribute confirmation unit confirms whether the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A , and all of U, {U i }, X, and {X i } Is true for group G, and vk A is the key and (U, {U i }, X, {X i }, s A ) is the message according to the algorithm for verifying the disposable signature. about,

Figure 0005650630
Figure 0005650630

が成り立つことを確認する。
第2のセッション鍵計算部は、
Confirm that
The second session key calculator is

Figure 0005650630
Figure 0005650630

σ=(g^z)^v_n
σ=e(g^r,X)^y
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める。
σ 2 = (g T ^ z) ^ v_n B
σ 3 = e (g ^ r, X) ^ y
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
Seek like.

第2の中間情報消去部は、少なくともv_j(1≦j≦N)、y、y(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する。 The second intermediate information erasure unit includes at least v_j (1 ≦ j ≦ N B ), y, y i (1 ≦ i ≦ L B ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′. 1 , σ ′ 2 , σ ′ 3 , sid, sk B are deleted.

なお、本発明の鍵交換システムは、さらに、マスタ鍵生成部と長期秘密鍵生成部とを有する鍵生成装置を備えてもよい。この場合は、マスタ鍵生成部が、r,z,h[1],…,h[att’]をランダムに選定し、マスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])とマスタ秘密鍵g^zを生成すればよい。また、長期秘密鍵生成部がtとtをランダムに選定し、S’とS’、TとT、S[k]とS[k]を計算すればよい。 The key exchange system of the present invention may further include a key generation device having a master key generation unit and a long-term secret key generation unit. In this case, the master key generation unit, r, z, h [1 ], ..., h the [att '] selected at random, master public key (g, g ^ r, g T ^ z, h [1 ],..., H [att ']) and the master secret key g ^ z. If the long-term secret key generation unit randomly selects t A and t B , and calculates S ′ A and S ′ B , T A and T B , S A [k A ] and S B [k B ]. Good.

本発明の鍵交換システムによれば、線形秘密分散法を利用することにより、鍵抽出(長期秘密鍵の生成)を行うときには鍵生成装置が、鍵交換装置α、βの属性集合S、Sに基づき線形秘密分散法のシェア情報として長期秘密鍵(S’,T,{S})、(S’,T,{S})を発行する。また、鍵交換時にアクセスポリシーとして線形秘密分散のアクセス構造A、Aを割り当てることによって、相手のアクセスポリシーを鍵交換時に指定することが可能である。また、本発明のマスタ秘密鍵g^zとマスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])は、属性集合とは独立なので、属性の全体集合をあらかじめ決めておく必要がない。つまり、鍵抽出時に任意の属性に基づき長期秘密鍵を発行することができる。したがって、非特許文献1と同等の効果が得られる。 According to the key exchange system of the present invention, when performing key extraction (generation of a long-term secret key) by using the linear secret sharing method, the key generation device performs attribute sets S A and S of the key exchange devices α and β. Based on B , long-term secret keys (S ′ A , T A , {S A }) and (S ′ B , T B , {S B }) are issued as share information of the linear secret sharing scheme. Further, by assigning linear secret sharing access structures A A and A B as access policies at the time of key exchange, it is possible to designate the other party's access policy at the time of key exchange. In addition, the master secret key g ^ z and the master public key of the present invention (g, g ^ r, g T ^ z, h [1], ..., h [att ']) is, because it is independent of the attribute set, attribute There is no need to predetermine the entire set. That is, a long-term secret key can be issued based on an arbitrary attribute at the time of key extraction. Therefore, an effect equivalent to that of Non-Patent Document 1 can be obtained.

さらに、使い捨て署名、強ランダム抽出器、擬似ランダム関数を用いることにより、以下のように、ランダムオラクルを仮定しないで安全性を確保できる。鍵交換を行うユーザは、本来認証に用いる自分の属性集合S以外に、ダミー属性集合Wを用意し、生成した使い捨て署名の検証鍵の値にWを割り当てる。この時、ユーザは相手が満たすことを希望するアクセス構造Aに加えて、特定の検証鍵に対応したダミー属性集合Wが満たすようなアクセス構造を認証条件として加えて、鍵交換を行う。ダミー属性集合Wの方は、実際のユーザ同士が行う鍵交換セッションでは使われることはない。しかし、安全性証明の中で送られてきたメッセージが正しいかどうかを判定する際に、ダミー属性集合Wの方の認証条件を用いることにより、アクセス構造Aを満たす属性集合に対応する秘密鍵の知識なしで判定することができる。また、最後のセッション鍵の導出の時に、ランダムオラクルではなく、強ランダム抽出器と擬似ランダム関数を用いる。具体的には、強ランダム抽出器で共有情報の分布をならし、その値を擬似ランダム関数の鍵とすることで出力をセッション鍵とする。このように、本発明ではランダムオラクルを仮定すること無しに安全性を保つことができる。   Furthermore, by using a disposable signature, a strong random extractor, and a pseudo-random function, safety can be ensured without assuming a random oracle as follows. A user who performs key exchange prepares a dummy attribute set W in addition to his / her own attribute set S used for authentication, and assigns W to the value of the verification key of the generated disposable signature. At this time, in addition to the access structure A that the other party desires to satisfy, the user adds an access structure that satisfies the dummy attribute set W corresponding to the specific verification key as an authentication condition, and performs key exchange. The dummy attribute set W is not used in a key exchange session between actual users. However, the secret key corresponding to the attribute set satisfying the access structure A can be obtained by using the authentication condition of the dummy attribute set W when determining whether the message sent in the security certificate is correct. Can be judged without knowledge. Also, when deriving the last session key, a strong random extractor and a pseudo-random function are used instead of a random oracle. Specifically, the output of the shared information is leveled by a strong random extractor, and the output is used as a session key by using the value as a key of a pseudo-random function. Thus, in the present invention, safety can be maintained without assuming a random oracle.

特願2010−259053の鍵交換システムの構成例を示す図。The figure which shows the structural example of the key exchange system of Japanese Patent Application No. 2010-259053. 特願2010−259053の鍵交換装置の機能構成例を示す図。The figure which shows the function structural example of the key exchange apparatus of Japanese Patent Application No. 2010-259053. 特願2010−259053の鍵生成装置の機能構成例を示す図。The figure which shows the function structural example of the key generation apparatus of Japanese Patent Application No. 2010-259053. 特願2010−259053のマスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す図。The figure which shows the example of the processing flow of the production | generation of the master private key of Japanese Patent Application No. 2010-290553, a master public key, and a long-term private key. 特願2010−259053のセッション鍵を共有する鍵交換の処理のフローの例を示す図。The figure which shows the example of the flow of the process of the key exchange which shares the session key of Japanese Patent Application No. 2010-259053. 本発明の鍵交換システムの構成例を示す図。The figure which shows the structural example of the key exchange system of this invention. 本発明の鍵交換装置の機能構成例を示す図。The figure which shows the function structural example of the key exchange apparatus of this invention. 本発明の鍵生成装置の機能構成例を示す図。The figure which shows the function structural example of the key generation apparatus of this invention. 本発明のマスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す図。The figure which shows the example of the processing flow of the production | generation of the master private key of this invention, a master public key, and a long-term private key. 本発明のセッション鍵を共有する鍵交換の処理のフローの例を示す図。The figure which shows the example of the flow of the process of the key exchange which shares the session key of this invention.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.

[準備]
本発明の鍵交換システムについて説明する前に、本発明を理解する上で必要な理論について説明する。本発明では、アクセスポリシーを次のようなアクセス構造として表すものとする。
[Preparation]
Before describing the key exchange system of the present invention, the theory necessary for understanding the present invention will be described. In the present invention, the access policy is expressed as the following access structure.

まず、{P,P,…,P,…,P}を属性集合とする。ただし、Nは整数、nは1以上N以下の整数である。Pは、例えば、「性別が男性である。」や「○○会社の社員である。」などの鍵生成装置の利用者(ユーザ)の属性を示している。なお、以下の説明では、「鍵生成装置の利用者の属性」を単に「鍵生成装置の属性」と表現する。アクセス構造は{P,P,…,P}の空でない部分集合のべき集合Aとして表わす。すなわち、
A⊆2^{P,P,…,P}\{φ}
ただし、“^”はべき乗を示す記号、“φ”は空集合を示す記号、“\{φ}”は空集合を除くことを示す記号
に属する集合を許可集合、属さない集合を不許可集合とよぶ。本発明では、上記のアクセス構造に基づきアクセスコントロールを行うために次のように線形秘密分散法を用いる。
First, {P 1, P 2, ..., P n, ..., P N} and a set of attributes. However, N is an integer, n is an integer from 1 to N. P n indicates an attribute of the user (user) of the key generation device such as “gender is male” or “employee of XX company”. In the following description, “the attribute of the user of the key generation device” is simply expressed as “the attribute of the key generation device”. The access structure is represented as a power set A of a non-empty subset of {P 1 , P 2 ,..., P N }. That is,
A⊆2 ^ {P 1 , P 2 ,..., P N } \ {φ}
However, “^” is a symbol indicating a power, “φ” is a symbol indicating an empty set, “\ {φ}” is a set belonging to the symbol indicating that an empty set is excluded, and a set not belonging is a disallowed set Called. In the present invention, in order to perform access control based on the above access structure, a linear secret sharing method is used as follows.

各属性集合に対応するシェア情報は0以上p−1以下の整数の集合Z上のベクトルとして表される。シェア情報を生成する行列としてL行N列のシェア情報生成行列Mを次のように用意する。i=1,…,Lについて、属性ラベリング関数ρを用いてシェア情報生成行列Mのi行目を属性ρ(i)に対応させる。属性ラベリング関数ρは、iを特定すると属性ρ(i)が決まる関数である。また、「属性ρ(i)に対応させる」とは、例えば、属性ρ(1)がP∧P∧Pであれば、1,1,1,0,0,…,0のようにシェア情報生成行列Mの1行目を設定し、属性ρ(2)がP∧Pであれば、1,0,0,…,0,1のようにシェア情報生成行列Mの2行目を設定するように、属性ρ(i)と対応させてi行目を決めることである。なお、上記の例では、アンド条件に含まれる属性Pに対応する要素を“1”とし、含まれない属性Pに対応する要素を“0”としたが、これに限る必要はない。異なる条件に対応する行が同じ行にならないように対応付けされていればよいので、属性ラベリング関数ρは単射性を有する範囲で他の対応でもよい。 Share information corresponding to each attribute set is expressed as a vector on the set Z P of 0 or more p-1 an integer. As a matrix for generating share information, a share information generation matrix M having L rows and N columns is prepared as follows. For i = 1,..., L, the i-th row of the share information generation matrix M is made to correspond to the attribute ρ (i) using the attribute labeling function ρ. The attribute labeling function ρ is a function that determines the attribute ρ (i) when i is specified. Further, “corresponding to the attribute ρ (i)” means, for example, 1, 1, 1, 0, 0,..., 0 if the attribute ρ (1) is P 1 ∧P 2 ∧P 3. Is set to the first row of the share information generation matrix M, and if the attribute ρ (2) is P 1 ∧P N , 2 of the share information generation matrix M such as 1, 0, 0,. In order to set the line, the i-th line is determined in association with the attribute ρ (i). In the above example, the element corresponding to the attribute P n included in the AND condition is set to “1” and the element corresponding to the attribute P n not included is set to “0”. However, the present invention is not limited to this. Since it is only necessary that the lines corresponding to the different conditions are associated with each other so as not to be the same line, the attribute labeling function ρ may be another correspondence within the range having the injectivity.

次に、0以上p−1以下の整数からr,…,rをランダムに選び、ベクトルv=(r,…,rを生成する。ただし、Tは転置を示す記号である。また、あらかじめ定めておいたn番目の要素rを秘密情報とする。なお、鍵交換したい装置同士の場合、秘密情報として共有する情報が同じであれば任意の情報でかまわないので、ランダムに選んだ整数の何番目を秘密情報にするかをあらかじめ決めておけばよい。この時、Mは秘密情報rのL個のシェア情報のベクトルとなる。属性集合ρ(i)にシェア情報(Mv)を割り当てる。ただし、(Mv)はベクトルMvのi番目の成分を示している。 Next, r 1 ,..., R N are randomly selected from integers between 0 and p−1 to generate a vector v = (r 1 ,..., R N ) T. Here, T is a symbol indicating transposition. In addition, the n-th element r n, which had been predetermined and secret information. In the case of devices that want to exchange keys, any information can be used as long as the information shared as secret information is the same, so it is sufficient to determine in advance what number of randomly selected integers should be used as secret information. . In this case, M is the vector of the L share information of secret information r n. Share information (Mv) i is assigned to the attribute set ρ (i). However, (Mv) i indicates the i-th component of the vector Mv.

このようにシェア情報生成行列Mと秘密情報を含む列ベクトルvを用いると、線形秘密分散法の線形復元性を利用できる。ここで、線形復元性について説明する。あるアクセス構造Aを考え、属性集合SをS∈Aの任意の許可集合とし、I⊂{1,2,…,L}をI={i:ρ(i)∈S}と定義する。このとき、{λ}がrの正しいシェア情報の集合の場合、 As described above, when the share information generation matrix M and the column vector v including the secret information are used, the linear recoverability of the linear secret sharing method can be used. Here, the linear recoverability will be described. Considering an access structure A, an attribute set S is an arbitrary permitted set of S∈A, and I⊂ {1, 2,..., L} is defined as I = {i: ρ (i) ∈S}. In this case, when {lambda i} is the set of correct share information r n,

Figure 0005650630
Figure 0005650630

となるような0以上p−1以下の整数の集合{w}が存在する。このような集合{w}はMのサイズの多項式時間で見つけられることが知られている。一方、{λ}がrの正しいシェア情報の集合でない場合、集合{w}のすべての要素を求めることができない。本発明では、上述のようにシェア情報生成行列Mと秘密情報を含む列ベクトルvを用いることで、線形秘密分散法の線形復元性を利用してセッション鍵を交換する。 There exists a set {w i } of integers between 0 and p−1 such that Such a set {w i } is known to be found in polynomial time of size M. On the other hand, if {λ i } is not a set of correct share information of r n , all elements of the set {w i } cannot be obtained. In the present invention, as described above, by using the share information generation matrix M and the column vector v including the secret information, session keys are exchanged using the linear recoverability of the linear secret sharing method.

[構成]
図6に本発明の鍵交換システムの構成例を示す。本発明の鍵交換システムは、ネットワーク1000を介して接続された鍵交換装置500,…,500(ただし、Qは2以上の整数、qは1以上Q以下の整数、AとBは1以上Q以下の異なる整数)、鍵生成装置600で構成される。図7に本発明の鍵交換装置の機能構成例、図8に本発明の鍵生成装置の機能構成例を示す。鍵交換装置500は、アクセス構造決定部510、短期秘密鍵生成部520、交換情報生成部530、送信部540、受信部545、属性確認部550、秘密情報取得部560、セッション鍵計算部570、中間情報消去部580、記録部590を備える。また、鍵生成装置600は、マスタ鍵生成部610、長期秘密鍵生成部620、記録部690を備える。以下の説明では、鍵交換装置500(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置500(鍵交換装置βに相当)がレスポンダとして機能してセッション鍵を共有する場合について説明する。
[Constitution]
FIG. 6 shows a configuration example of the key exchange system of the present invention. The key exchange system according to the present invention includes key exchange devices 500 1 ,..., 500 Q connected via a network 1000 (where Q is an integer of 2 or more, q is an integer of 1 to Q, and A and B are 1). The key generation device 600 is configured with different integers of Q or less. FIG. 7 shows a functional configuration example of the key exchange apparatus of the present invention, and FIG. 8 shows a functional configuration example of the key generation apparatus of the present invention. The key exchange device 500 q includes an access structure determination unit 510 q , a short-term secret key generation unit 520 q , an exchange information generation unit 530 q , a transmission unit 540 q , a reception unit 545 q , an attribute confirmation unit 550 q , and a secret information acquisition unit 560. q , a session key calculation unit 570 q , an intermediate information deletion unit 580 q , and a recording unit 590 q . The key generation device 600 includes a master key generation unit 610, a long-term secret key generation unit 620, and a recording unit 690. In the following description, a case where the key exchange device 500 A (corresponding to the key exchange device α) functions as an initiator, and the key exchange device 500 B (corresponding to the key exchange device β) functions as a responder to share a session key. explain.

なお、以下の説明では、κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数(ダミー属性の要素数)、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数(実際の属性とダミー属性の両方を合わせた全要素数)、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号(本明細書では、1ビットの場合もビット列と呼ぶことにする)、Pは属性を示す属性要素、属性集合Sは鍵交換装置500の属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置500が鍵交換装置500に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρはアクセス構造Aを示す関数、属性集合ρ(i)はアクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは鍵交換装置500の属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置500が鍵交換装置500に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρはアクセス構造Aを示す関数、属性集合ρ(i)はアクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは鍵交換装置500と鍵交換装置500とで共有するあらかじめ定めた1以上N以下の整数、nは鍵交換装置500と鍵交換装置500とで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、tは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号とする。 In the following description, kappa are integers, p is a kappa-bit prime number, G and G T is the group of order p, g is generator of the group G, g T is generator of the group G T, e is G XG → GT A bilinear mapping that maps as T , F_σ is a pseudo-random function that converts an integer of an arbitrary length into an integer of κ bits according to the value σ of the specified key space Kspace, Ext is an element of the group G A strong random extractor that converts the value of the key space Kspace, D is an integer (number of elements of dummy attributes), d is an integer between 1 and D, and gen is a disposable signature key whose verification key bit length is D Generation algorithm, sig is a signature generation algorithm for a disposable signature whose verification key bit length is D, ver is a disposable signature verification algorithm whose verification key bit length is D, and att 'is an attribute An integer indicating the total number of elements (actual attributes and The total number of elements combined both Me attribute), the W d _R symbols (herein indicating that information indicating the d-th dummy attribute is a bit string R of one or more bits, and the bit string in the case of 1 bit referred to that), P n is an attribute element indicating an attribute, attribute set S a is the set of attributes element P n indicating the attribute of the key exchange device 500 a, the access structure a a key exchange device 500 a key exchange device 500 B is a set of combinations of attribute elements P n to be obtained, the injection labeling function ρ A is a function indicating the access structure A A , the attribute set ρ A (i) is the i-th set corresponding to the access structure A A , share information The generation matrix M A is a matrix of L A rows N A columns in which the i-th row corresponds to the attribute set ρ A (i), (M A ) i is a vector corresponding to the i-th row of the share information generation matrix M A , attribute set S B is the key exchange apparatus 5 0 set of attributes element P n indicating the attribute of B, the access structure A B is the set of combinations of attributes element P n key exchange device 500 B is determined in the key exchange device 500 A, injective labeling function [rho B access structure A function indicating the B, attribute set [rho B (i) is the set of i-th corresponding to the access structure a B, share information generator matrix M B is the i-th row corresponds to a set of attributes ρ B (i) L B rows N matrix B column, (M B) i vector corresponding to the i-th row share information generator matrix M B is the L a, n a, L B , n B is an integer, n a key exchange device 500 a A predetermined integer that is shared by the key exchange device 500 B and not more than 1 N A , n B is a predetermined integer that is shared by the key exchange device 500 A and the key exchange device 500 B and is not more than 1 N B , k a is a set of attributes S a element, k B is the genus Element of the set S B, r and z are 0 or p-1 an integer, t B is 0 or p-1 an integer, h [1], ..., h [att '] is a group G based on, { S A } is a set of S A [k A ], {S B } is a set of S B [k B ], {U i } is a set of U i , {X i } is a set of X i , {V i } Is a set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, and (+) is a symbol indicating an exclusive OR for each bit.

[鍵生成、鍵抽出]
図9に、マスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す。なお、長期秘密鍵生成の処理が鍵抽出に相当する。鍵生成装置600のマスタ鍵生成部610は、0以上p−1以下の整数からランダムにr、zを選定し、群Gの元からランダムにh[1],…,h[att’]を選定する。そして、マスタ公開鍵を(g,g^r,g^z,h[1],…,h[att’])、マスタ秘密鍵をg^zとして記録部390に記録し、マスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])を公開する(S610)。鍵交換装置500と鍵交換装置500は、それぞれマスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])を受信し、記録部590と記録部590に記録する(S591,S592)。
[Key generation, key extraction]
FIG. 9 shows an example of a processing flow for generating a master secret key, a master public key, and a long-term secret key. The long-term secret key generation process corresponds to key extraction. The master key generation unit 610 of the key generation device 600 randomly selects r and z from integers not less than 0 and not more than p−1, and randomly selects h [1],..., H [att ′] from the group G. Select. Then, the master public key (g, g ^ r, g T ^ z, h [1], ..., h [att ']), the master secret key is recorded in the recording unit 390 as g ^ z, master public key (g, g ^ r, g T ^ z, h [1], ..., h [att ']) to publish a (S610). Key exchange unit 500 A and the key exchange device 500 B includes a master public respectively key (g, g ^ r, g T ^ z, h [1], ..., h [att ']) receives, recording unit 590 A and recorded in the recording section 590 B (S591, S592).

長期秘密鍵生成部620は、0以上p−1以下の整数からランダムにtを選定し、S’=g^z・g^(rt)、T=g^t、属性集合Sの要素kについてS[k]=h[k]^tを計算し、長期秘密鍵として(S’,T,{S})を鍵交換装置500に送信する(S620)。鍵交換装置500は、長期秘密鍵(S’,T,{S})を受信し、記録部590に記録する(S592)。 The long-term secret key generation unit 620 randomly selects t A from integers not less than 0 and not more than p−1, and S ′ A = g ^ z · g ^ (rt A ), T A = g ^ t A , attribute set S A [k A ] = h [k A ] ^ t A is calculated for the element k A of S A , and (S ′ A , T A , {S A }) is used as the long-term secret key for the key exchange apparatus 500 A. to send (S620 A). The key exchange device 500 A receives the long-term secret key (S ′ A , T A , {S A }) and records it in the recording unit 590 A (S 592 A ).

さらに、長期秘密鍵生成部620は、0以上p−1以下の整数からランダムにtを選定し、S’=g^z・g^(rt)、T=g^t、属性集合Sの要素kについてS[k]=h[k]^tを計算し、長期秘密鍵として(S’,T,{S})を鍵交換装置500に送信する(S620)。鍵交換装置500は、長期秘密鍵(S’,T,{S})を受信し、記録部590に記録する(S592)。 Further, the long-term secret key generation unit 620 randomly selects t B from integers of 0 or more and p−1 or less, and S ′ B = g ^ z · g ^ (rt B ), T B = g ^ t B , S B [k B ] = h [k B ] ^ t B is calculated for the element k B of the attribute set S B and (S ′ B , T B , {S B }) is used as the long-term secret key 500. to send to B (S620 B). The key exchange device 500 B receives the long-term secret key (S ′ B , T B , {S B }) and records it in the recording unit 590 B (S 592 B ).

なお、あらかじめ鍵交換装置500の記録部590にマスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])と長期秘密鍵(S’,T,{S})とを記録させ、鍵交換装置500の記録部590にマスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])と長期秘密鍵(S’,T,{S})とを記録させておけば、ネットワーク1000を介して接続された鍵交換装置500と鍵交換装置500だけで最低限の鍵交換システムが構成できる。 In addition, the master public key in the recording section 590 A of the pre-key-exchange apparatus 500 A (g, g ^ r , g T ^ z, h [1], ..., h [att ']) and the long-term secret key (S' A , T a, {S a} ) and is recorded, the master public key (g a recording portion 590 B of the key exchange apparatus 500 B, g ^ r, g T ^ z, h [1], ..., h [att ')) And the long-term secret key (S' B , T B , {S B }) are recorded, the key exchange device 500 A and the key exchange device 500 B connected via the network 1000 are the minimum. A limited key exchange system can be configured.

[鍵交換]
図10にセッション鍵を共有する鍵交換の処理のフローの例を示す。この例は、鍵交換装置500(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置500(鍵交換装置βに相当)がレスポンダとして機能する場合を示している。
[Key exchange]
FIG. 10 shows an example of a flow of key exchange processing for sharing a session key. In this example, the key exchange device 500 A (corresponding to the key exchange device α) functions as an initiator, and the key exchange device 500 B (corresponding to the key exchange device β) functions as a responder.

鍵交換装置500は、アクセス構造決定部510(第1のアクセス構造決定部)、短期秘密鍵生成部520(第1の短期秘密鍵生成部)、交換情報生成部530(第1の交換情報生成部)、送信部540(第1の送信部)、受信部545(第1の受信部)、属性確認部550(第1の属性確認部)、秘密情報取得部560(第1の秘密情報取得部)、セッション鍵計算部570(第1のセッション鍵計算部)、中間情報消去部580(第1の中間情報消去部)、記録部590(第1の記録部)を備える。鍵交換装置500は、アクセス構造決定部510(第2のアクセス構造決定部)、短期秘密鍵生成部520(第2の短期秘密鍵生成部)、交換情報生成部530(第2の交換情報生成部)、送信部540(第2の送信部)、受信部545(第2の受信部)、属性確認部550(第2の属性確認部)、秘密情報取得部560(第2の秘密情報取得部)、セッション鍵計算部570(第2のセッション鍵計算部)、中間情報消去部580(第2の中間情報消去部)、記録部590(第2の記録部)を備える。 Key exchange unit 500 A, the access structure determination unit 510 A (first access structure determination unit), the short-term private key generation unit 520 A (first short-term private key generation unit), exchanging information generating unit 530 A (first Exchange information generation unit), transmission unit 540 A (first transmission unit), reception unit 545 A (first reception unit), attribute confirmation unit 550 A (first attribute confirmation unit), secret information acquisition unit 560 A (first secret information acquisition unit), session key calculation unit 570 A (first session key calculation unit), intermediate information deletion unit 580 A (first intermediate information deletion unit), recording unit 590 A (first Recording section). The key exchange device 500 B includes an access structure determination unit 510 B (second access structure determination unit), a short-term secret key generation unit 520 B (second short-term secret key generation unit), and an exchange information generation unit 530 B (second Exchange information generation unit), transmission unit 540 B (second transmission unit), reception unit 545 B (second reception unit), attribute confirmation unit 550 B (second attribute confirmation unit), secret information acquisition unit 560 B (second secret information acquisition unit), session key calculation unit 570 B (second session key calculation unit), intermediate information deletion unit 580 B (second intermediate information deletion unit), recording unit 590 B (second Recording section).

鍵交換装置500では、記録部590が長期秘密鍵としてS’,T,{S}を記録している。アクセス構造決定部510は、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkA1,…,W_vkAd,…,W_vkAD}(ただし、vkAdは使い捨て公開鍵vkのd番目のビット)を設定する。そして、アクセス構造A又はすべてのダミー属性W_vkA1,…,W_vkADを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する(S510)。 In key exchange device 500 A, a recording unit 590 A is recording S 'A long-term private key, T A, the {S A}. The access structure determination unit 510 A determines the access structure A A , generates the disposable public key vk A and the disposable secret key sk A according to the disposable signature key generation algorithm gen, and sets the dummy attribute set W A = {W 1 _vk A1, ..., W d _vk Ad, ..., W D _vk AD} ( however, vk Ad is d-th bit of the disposable public key vk a) to set the. Then, the share information generation matrix M A and the injection labeling function ρ A of the linear secret sharing method corresponding to the conditions satisfying the access structure A A or all the dummy attributes W 1 —vk A 1 ,..., W D —vk AD are generated ( S510 A ).

短期秘密鍵生成部520は、1≦j≦Nについてu_jを0以上p−1以下の整数からランダムに選定してu=(u_1,…,u_N)とし、xを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてxを0以上p−1以下の整数からランダムに選定する(S520)。 Short-term private key generation unit 520 A is, 1 ≦ j ≦ N a u_j for A be selected at random from 0 or p-1 an integer u = (u_1, ..., u_N A) and then, the x 0 or p- selected randomly from 1 an integer, 1 ≦ i ≦ L a selected randomly x i from 0 or p-1 an integer for (S520 a).

交換情報生成部530は、1≦i≦Lについてベクトルuとベクトル(Mとの内積を計算してシェアλAiとする。そして、
U=g^u_n
X=g^x
=g^(rλAi)h[ρ(i)]^(−x) ただし、1≦i≦L
=g^x ただし、1≦i≦L
を計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(U,{U},X,{X})をメッセージとする使い捨て署名sを生成する(S530)。
Exchanging information generating unit 530 A is a 1 ≦ i ≦ L A for vectors u and vector (M A) by calculating the inner product of the i share lambda Ai. And
U = g ^ u_n A
X = g ^ x
U i = g ^ (rλ Ai ) h [ρ A (i)] ^ (- x i) , however, 1 ≦ i ≦ L A
X i = g ^ x i, however, 1 ≦ i ≦ L A
And a disposable signature s A having sk A as a key and (U, {U i }, X, {X i }) as a message is generated according to the signature generation algorithm sig of the disposable signature (S530 A ).

第1の送信部540は、EPK=(U,{U},X,{X},M,ρ,vk,s)を鍵交換装置500に送信する(S540)。 The first transmission unit 540 A transmits EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) to the key exchange apparatus 500 B (S540). A ).

一方、鍵交換装置500では、記録部590が長期秘密鍵としてS’,T,{S}を記録している。そして、アクセス構造決定部510は、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkB1,…,W_vkBd,…,W_vkBD}(ただし、vkBdは使い捨て公開鍵vkのd番目のビット)を設定する。そして、アクセス構造A又はすべてのダミー属性W_vkB1,…,W_vkBDを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する(S510)。 On the other hand, in key exchange apparatus 500 B , recording unit 590 B records S ′ B , T B , {S B } as long-term secret keys. Then, the access structure determination unit 510 B determines the access structure A B , generates the disposable public key vk B and the disposable secret key sk B according to the key generation algorithm gen of the disposable signature, and sets the dummy attribute set W B = { W 1 _vk B1, ..., W d _vk Bd, ..., W D _vk BD} ( however, vk Bd disposable public key vk d th bit of B) setting a. Then, a share information generation matrix M B and a linear labeling function ρ B of the linear secret sharing method corresponding to the conditions satisfying the access structure A B or all the dummy attributes W 1 —vk B 1 ,..., W D —vk BD are generated ( S510 B ).

短期秘密鍵生成部520は、1≦j≦Nについてv_jを0以上p−1以下の整数からランダムに選定してv=(v_1,…,v_N)とし、yを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてyを0以上p−1以下の整数からランダムに選定する(S520)。 The short-term secret key generation unit 520 B randomly selects v_j from an integer of 0 to p−1 for 1 ≦ j ≦ N B , and sets v = (v_1,..., V_N B ), and y is 0 to p− selected randomly from 1 an integer, selected randomly y i from 0 or p-1 an integer for 1 ≦ i ≦ L B (S520 B).

交換情報生成部530は、1≦i≦Lについてベクトルvとベクトル(Mとの内積を計算してシェアλBiとする。そして、
V=g^v_n
Y=g^y
=g^(rλBi)h[ρ(i)]^(−y) ただし、1≦i≦L
=g^y ただし、1≦i≦L
を計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(V,{V},Y,{Y})をメッセージとする使い捨て署名sを生成する(S530)。
Exchanging information generating unit 530 B is a share lambda Bi calculates the inner product between the vector v and the vector (M B) i for 1 ≦ i ≦ L B. And
V = g ^ v_n B
Y = g ^ y
V i = g ^ (rλ Bi ) h [ρ B (i)] ^ (− y i ) where 1 ≦ i ≦ L B
Y i = g ^ y i where 1 ≦ i ≦ L B
, And generates a disposable signature s B with sk B as a key and (V, {V i }, Y, {Y i }) as a message according to the signature generation algorithm sig (S530 B ).

送信部540は、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を鍵交換装置500に送信する(S540)。 The transmission unit 540 B transmits EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) to the key exchange device 500 A (S 540 B ).

受信部545は、鍵交換装置500から、EPK=(U,{U},X,{X},M,ρ,vk,s)を受信する(S545)。 The receiving unit 545 B receives EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) from the key exchange device 500 A (S 545 B ). .

属性確認部550は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認する。そして、満たさないと判断した場合は処理を中止する。満たすと判断した場合は、ステップS560に進む(S551)。 The attribute confirmation unit 550 B confirms whether the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A. And when it is judged that it does not satisfy | fill, a process is stopped. If it is determined that satisfied, the process proceeds to step S560 B (S551 B).

秘密情報取得部560は、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求める。そして、シェア情報生成行列Mに対応する秘密情報u_nの正当なシェア集合{λAi}について、 The secret information acquisition unit 560 B is, I B =: the {i ρ A (i) ∈S B} set I B and I 'B = {i: ρ A (i) ∈W A} to become set I' Find B. Then, for a valid share set {λ Ai } of the secret information u_n A corresponding to the share information generation matrix M A ,

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数wBiと整数w’Biを求める(S560)。上述のように、nは鍵交換装置500と鍵交換装置500とで共有するあらかじめ定めた1以上N以下の整数であればよい。例えば、n=1とすればよい。 Determining zero or more p-1 an integer w Bi and integer w 'Bi which holds (S560 B). As described above, n A may be an integer between 1 and N A that is predetermined and shared by the key exchange device 500 A and the key exchange device 500 B. For example, n A = 1 may be set.

属性確認部550は、U,{U},X,{X}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(U,{U},X,{X},s)をメッセージとして検証した結果が真であること、 The attribute confirmation unit 550 B determines that all of U, {U i }, X, and {X i } are elements of the group G, and uses vk A as a key in accordance with the algorithm for verifying the disposable signature (U, {U i }, X, {X i }, s A ) as a message, the result of verification is true,

Figure 0005650630
Figure 0005650630

が成り立つことを確認する。そして、いずれかの条件を満足しない場合には処理を中止する。すべての条件を満足する場合はステップS370に進む(S352)。
セッション鍵計算部570は、
Confirm that If any of the conditions is not satisfied, the process is stopped. If that satisfies all of the conditions, the process proceeds to step S370 B (S352 B).
Session key calculation unit 570 B

Figure 0005650630
Figure 0005650630

σ=(g^z)^v_n
σ=e(g^r,X)^y
を計算する。そして、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定する。さらに、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める(S570)。
σ 2 = (g T ^ z) ^ v_n B
σ 3 = e (g ^ r, X) ^ y
Calculate Then, σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ). Furthermore, the session key K is
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
(S570 B ).

中間情報消去部580は、少なくともv_j(1≦j≦N)、y、y(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する(S580)。一般的には、セッション鍵K以外の計算の途中で使用した値をすべて消去すればよい。 The intermediate information erasing unit 580 B has at least v_j (1 ≦ j ≦ N B ), y, y i (1 ≦ i ≦ L B ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , Σ ′ 2 , σ ′ 3 , sid, sk B are erased (S580 B ). In general, all values used during the calculation other than the session key K may be deleted.

鍵交換装置500の処理に戻る。受信部545は、鍵交換装置500から、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を受信する(S545)。 It returns to the processing of the key exchange unit 500 A. The receiving unit 545 A receives EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) from the key exchange apparatus 500 B (S 545 A ). .

属性確認部550は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認する。そして、満たさないと判断した場合は処理を中止する。満たすと判断した場合は、ステップS560に進む(S551)。 The attribute confirmation unit 550 A confirms whether the attribute set S A satisfies the share information generation matrix M B and the injection labeling function ρ B. And when it is judged that it does not satisfy | fill, a process is stopped. If it is determined that satisfied, the process proceeds to step S560 A (S551 A).

秘密情報取得部560は、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求める。そして、シェア情報生成行列Mに対応する秘密情報v_nの正当なシェア集合{λBi}について、 The secret information acquisition unit 560 A may, I A = {i: ρ B (i) ∈S A} to become set I A and I 'A = {i: ρ B (i) ∈W B} to become set I' Find A. Then, the correctness share a set of secret information v_n B corresponding to share information generator matrix M B {λ Bi},

Figure 0005650630
Figure 0005650630

が成り立つ0以上p−1以下の整数wAiと整数w’Aiを求める(S560)。上述のように、nは鍵交換装置500と鍵交換装置500とで共有するあらかじめ定めた1以上N以下の整数であればよい。例えば、n=1とすればよい。 Determining zero or more p-1 an integer w Ai and integer w 'Ai which holds (S560 A). As described above, n B may be any predetermined one or more N B an integer that is shared by a key exchange device 500 A and the key exchange device 500 B. For example, n B = 1 may be set.

属性確認部550は、V,{V},Y,{Y}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(V,{V},Y,{Y},s)をメッセージとして検証した結果が真であること、 The attribute confirmation unit 550 A determines that all of V, {V i }, Y, and {Y i } are members of the group G, and uses vk B as a key according to the algorithm for verifying the disposable signature (V, {V i }, Y, {Y i }, s B ) as a message, the result of verification is true,

Figure 0005650630
Figure 0005650630

が成り立つことを確認する。そして、いずれかの条件を満足しない場合には処理を中止する。すべての条件を満足する場合はステップS570に進む(S552)。
セッション鍵計算部570は、
Confirm that If any of the conditions is not satisfied, the process is stopped. If that satisfies all of the conditions, the process proceeds to step S570 A (S552 A).
The session key calculating unit 570 A is,

Figure 0005650630
Figure 0005650630

σ=(g^z)^u_n
σ=e(g^r,Y)^x
を計算する。そして、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定する。さらに、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める(S570)。
σ 1 = (g T ^ z) ^ u_n A
σ 3 = e (g ^ r, Y) ^ x
Calculate Then, σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ). Furthermore, the session key K is
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
(S570 A ).

中間情報消去部580は、少なくともu_j(1≦j≦N)、x、x(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する(S580)。一般的には、セッション鍵K以外の計算の途中で使用した値をすべて消去すればよい。 Intermediate information erasing unit 580 A is at least u_j (1 ≦ j ≦ N A ), x, x i (1 ≦ i ≦ L A), EPK A, EPK B, σ 1, σ 2, σ 3, σ '1 , Σ ′ 2 , σ ′ 3 , sid, sk A are deleted (S580 A ). In general, all values used during the calculation other than the session key K may be deleted.

[確認]
最後に鍵交換装置100と鍵交換装置100が取得したセッション鍵Kが等しいことを説明する。
[Confirmation]
Finally key exchange device 100 A and the key exchange device 100 B is a session key K acquired will be described equal.

Figure 0005650630
Figure 0005650630

Figure 0005650630
Figure 0005650630

σ=e(g^r,X)^y
=g^(rxy)=e(g^r,Y)^x
よって、正しくセッション鍵を共有できる。
σ 3 = e (g ^ r, X) ^ y
= G T ^ (rxy) = e (g ^ r, Y) ^ x
Therefore, the session key can be correctly shared.

本発明の鍵交換システムによれば、線形秘密分散法を利用することにより、鍵抽出(長期秘密鍵の生成)を行うときには鍵生成装置が、鍵交換装置500、500の属性集合S、Sに基づき線形秘密分散法のシェア情報として長期秘密鍵(S’,T,{S})、(S’,T,{S})を発行する。また、鍵交換時にアクセスポリシーとして線形秘密分散のアクセス構造A、Aを割り当てることによって、相手のアクセスポリシーを鍵交換時に指定することが可能である。また、本発明のマスタ秘密鍵g^zとマスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])は、属性集合とは独立なので、属性の全体集合をあらかじめ決めておく必要がない。つまり、鍵抽出時に任意の属性に基づき長期秘密鍵を発行することができる。したがって、非特許文献1と同等の効果が得られる。 According to the key exchange system of the present invention, when performing key extraction (generation of a long-term secret key) by using the linear secret sharing method, the key generation device performs the attribute set S A of the key exchange devices 500 A and 500 B. , S B , long-term secret keys (S ′ A , T A , {S A }), (S ′ B , T B , {S B }) are issued as share information of the linear secret sharing scheme. Further, by assigning linear secret sharing access structures A A and A B as access policies at the time of key exchange, it is possible to designate the other party's access policy at the time of key exchange. In addition, the master secret key g ^ z and the master public key of the present invention (g, g ^ r, g T ^ z, h [1], ..., h [att ']) is, because it is independent of the attribute set, attribute There is no need to predetermine the entire set. That is, a long-term secret key can be issued based on an arbitrary attribute at the time of key extraction. Therefore, an effect equivalent to that of Non-Patent Document 1 can be obtained.

さらに、使い捨て署名、強ランダム抽出器、擬似ランダム関数を用いることにより、以下のように、ランダムオラクルを仮定しないで安全性を確保できる。鍵交換を行うユーザは、本来認証に用いる自分の属性集合S以外に、ダミー属性集合Wを用意し、生成した使い捨て署名の検証鍵の値にWを割り当てる。この時、ユーザは相手が満たすことを希望するアクセス構造Aに加えて、特定の検証鍵に対応したダミー属性集合Wが満たすようなアクセス構造を認証条件として加えて、鍵交換を行う。ダミー属性集合Wの方は、実際のユーザ同士が行う鍵交換セッションでは使われることはない。しかし、安全性証明の中で送られてきたメッセージが正しいかどうかを判定する際に、ダミー属性集合Wの方の認証条件を用いることにより、アクセス構造Aを満たす属性集合に対応する秘密鍵の知識なしで判定することができる。また、最後のセッション鍵の導出の時に、ランダムオラクルではなく、強ランダム抽出器と擬似ランダム関数を用いる。具体的には、強ランダム抽出器で共有情報の分布をならし、その値を擬似ランダム関数の鍵とすることで出力をセッション鍵とする。このように、本発明ではランダムオラクルを仮定すること無しに安全性を保つことができる。   Furthermore, by using a disposable signature, a strong random extractor, and a pseudo-random function, safety can be ensured without assuming a random oracle as follows. A user who performs key exchange prepares a dummy attribute set W in addition to his / her own attribute set S used for authentication, and assigns W to the value of the verification key of the generated disposable signature. At this time, in addition to the access structure A that the other party desires to satisfy, the user adds an access structure that satisfies the dummy attribute set W corresponding to the specific verification key as an authentication condition, and performs key exchange. The dummy attribute set W is not used in a key exchange session between actual users. However, the secret key corresponding to the attribute set satisfying the access structure A can be obtained by using the authentication condition of the dummy attribute set W when determining whether the message sent in the security certificate is correct. Can be judged without knowledge. Also, when deriving the last session key, a strong random extractor and a pseudo-random function are used instead of a random oracle. Specifically, the output of the shared information is leveled by a strong random extractor, and the output is used as a session key by using the value as a key of a pseudo-random function. Thus, in the present invention, safety can be maintained without assuming a random oracle.

[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Program, recording medium]
The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. 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, the computer reads a program stored in its own recording medium and executes a 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.

本発明は、二者間でセッション鍵を共有した暗号通信に利用することができる。   The present invention can be used for encrypted communication in which a session key is shared between two parties.

100、500 鍵交換装置 110、510 アクセス構造決定部
120、520 短期秘密鍵生成部 130、530 交換情報生成部
140、540 送信部 145、545 受信部
150、550 属性確認部 160、560 秘密情報取得部
170、570 セッション鍵計算部 180、580 中間情報消去部
190、390、590、690 記録部
300、600 鍵生成装置 310、610 マスタ鍵生成部
320、620 長期秘密鍵生成部 1000 ネットワーク
100 q , 500 q Key exchange device 110 q , 510 q Access structure determination unit 120 q , 520 q Short-term secret key generation unit 130 q , 530 q Exchange information generation unit 140 q , 540 q transmission unit 145 q , 545 q reception unit 150 q , 550 q attribute confirmation unit 160 q , 560 q secret information acquisition unit 170 q , 570 q session key calculation unit 180 q , 580 q intermediate information deletion unit 190 q , 390, 590 q , 690 recording unit 300, 600 key Generation devices 310 and 610 Master key generation units 320 and 620 Long-term secret key generation unit 1000 Network

Claims (7)

少なくとも鍵交換装置αと鍵交換装置βとを備え、セッション鍵を交換する鍵交換システムであって、
κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは鍵交換装置βの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、(g,g^r,g^z,h[1],…,h[att’])はマスタ公開鍵、g^zはマスタ秘密鍵、tは0以上p−1以下の整数、tは0以上p−1以下の整数、S’=g^z・g^(rt)、S’=g^z・g^(rt)、T=g^t、T=g^t、S[k]=h[k]^t、S[k]=h[k]^t、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号であり、
前記鍵交換装置αは、
長期秘密鍵としてS’,T,{S}を記録する第1の記録部と、
アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkA1,…,W_vkAd,…,W_vkAD}(ただし、vkAdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkA1,…,W_vkADを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する第1のアクセス構造決定部と、
1≦j≦Nについてu_jを0以上p−1以下の整数からランダムに選定してu=(u_1,…,u_N)とし、xを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてxを0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成部と、
1≦i≦Lについてベクトルuとベクトル(Mとの内積を計算してシェアλAiとし、U=g^u_nとX=g^xと、1≦i≦LについてU=g^(rλAi)h[ρ(i)]^(−x)とX=g^xを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(U,{U},X,{X})をメッセージとする使い捨て署名sを生成する第1の交換情報生成部と、
EPK=(U,{U},X,{X},M,ρ,vk,s)を鍵交換装置βに送信する第1の送信部と、
鍵交換装置βから、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を受信する第1の受信部と、
={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報v_nの正当なシェア集合{λBi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wAiと整数w’Aiを求める第1の秘密情報取得部と、
属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、V,{V},Y,{Y}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(V,{V},Y,{Y},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する第1の属性確認部と、
Figure 0005650630
σ=(g^z)^u_n
σ=e(g^r,Y)^x
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める第1のセッション鍵計算部と、
少なくともu_j(1≦j≦N)、x、x(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する第1の中間情報消去部と、
を備え、
前記鍵交換装置βは、
長期秘密鍵としてS’,T,{S}を記録する第2の記録部と、
アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkB1,…,W_vkBd,…,W_vkBD}(ただし、vkBdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkB1,…,W_vkBDを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する第2のアクセス構造決定部と、
1≦j≦Nについてv_jを0以上p−1以下の整数からランダムに選定してv=(v_1,…,v_N)とし、yを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてyを0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成部と、
1≦i≦Lについてベクトルvとベクトル(Mとの内積を計算してシェアλBiとし、V=g^v_nとY=g^yと、1≦i≦LについてV=g^(rλBi)h[ρ(i)]^(−y)とY=g^yを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(V,{V},Y,{Y})をメッセージとする使い捨て署名sを生成する第2の交換情報生成部と、
EPK=(V,{V},Y,{Y},M,ρ,vk,s)を鍵交換装置αに送信する第2の送信部と、
鍵交換装置αから、EPK=(U,{U},X,{X},M,ρ,vk,s)を受信する第2の受信部と、
={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報u_nの正当なシェア集合{λAi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wBiと整数w’Biを求める第2の秘密情報取得部と、
属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、U,{U},X,{X}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(U,{U},X,{X},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する第2の属性確認部と、
Figure 0005650630
σ=(g^z)^v_n
σ=e(g^r,X)^y
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める第2のセッション鍵計算部と、
少なくともv_j(1≦j≦N)、y、y(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する第2の中間情報消去部と、
を備える
鍵交換システム。
A key exchange system comprising at least a key exchange device α and a key exchange device β, and exchanging session keys,
κ is an integer, p is κ-bit prime, G and G T is the group of order p, g is generator of the group G, g T is generator of the group G T, e is as G × G → G T F_σ is a pseudo-random function that converts an integer of arbitrary length into an integer of κ bits according to the specified key space Kspace value σ, and Ext converts an element of the group G into a value of the key space Kspace Strong random extractor, D is an integer, d is an integer between 1 and D, gen is a key generation algorithm for a disposable signature such that the bit length of the verification key is D, sig is the bit length of the verification key is D An algorithm for generating a signature for a disposable signature, ver is an algorithm for verifying a disposable signature in which the bit length of the verification key is D, att ′ is an integer indicating the total number of elements of the attribute, and W d _R is the d th The information indicating the dummy attribute is a bit of 1 bit or more. Symbol indicating the Tsu preparative column R, P n is an attribute element indicating attributes, the set of attribute set S A is the attribute element P n indicating the attribute of the key exchange apparatus alpha, access structure A A key exchange apparatus alpha is A set of combinations of attribute elements P n to be obtained from the key exchange device β, the injection labeling function ρ A is a function indicating the access structure A A , and the attribute set ρ A (i) is an i-th corresponding to the access structure A A The set, share information generation matrix M A is a matrix of L A rows N A columns in which the i-th row corresponds to the attribute set ρ A (i), and (M A ) i is the i-th row of the share information generation matrix M A corresponding set of vectors, attribute set S B is the set of attributes element P n indicating the attribute of the key exchange apparatus beta, access structure a B is the attribute element P n key exchange apparatus beta seek key exchange apparatus α combined, single morphism labeling function [rho B shows the access structure a B The number, the attribute set [rho B (i) is L B rows N B columns corresponding to the access i-th set corresponding to the structure A B, share information generator matrix M B is the i-th row is the attribute set [rho B (i) (M B ) i is a vector corresponding to the i-th row of the share information generation matrix M B , L A , N A , L B and N B are integers, n A is the key exchange device α and the key A predetermined integer 1 to N A shared by the exchange device β, n B is a predetermined integer 1 to N B shared by the key exchange device α and the key exchange device β, and k A is Elements of the attribute set S A , k B are elements of the attribute set S B , r and z are integers from 0 to p−1, h [1],..., H [att ′] are elements of the group G, (g , g ^ r, g T ^ z, h [1], ..., h [att ']) is a master public key, g ^ z is a master secret key, t a is greater than or equal to 0 p-1 or less, t B is an integer of 0 or more and p-1 or less, S ′ A = g ^ z · g ^ (rt A ), S ′ B = g ^ z · g ^ (rt B ), T A = g ^ t A, T B = g ^ t B, S A [k A] = h [k A] ^ t A, S B [k B] = h [k B] ^ t B, {S A } Is a set of S A [k A ], {S B } is a set of S B [k B ], {U i } is a set of U i , {X i } is a set of X i , {V i } is A set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, (+) is a symbol indicating a bitwise exclusive OR,
The key exchange device α
A first recording unit for recording S ′ A , T A , {S A } as a long-term secret key;
An access structure A A is determined, a disposable public key vk A and a disposable secret key sk A are generated according to a key generation algorithm gen for a disposable signature, and a dummy attribute set W A = {W 1 —vk A 1 ,..., W d —vk Ad, ..., W D _vk AD } ( however, vk Ad is d-th bit of the disposable public key vk a) is set and the access structure a a or all of the dummy attributes W 1 _vk A1, ..., W D _vk A first access structure determination unit that generates a share information generation matrix M A and a bijective labeling function ρ A of a linear secret sharing method corresponding to a condition satisfying AD ;
1 ≦ j ≦ N A u = (u_1, ..., u_N A) a u_j from 0 or p-1 following integer selected randomly for a, selected at random x from 0 or p-1 an integer A first short-term secret key generation unit that randomly selects x i from 0 to p−1 for 1 ≦ i ≦ LA;
1 ≦ i ≦ L A computes the inner product of the vectors u and vector (M A) i and share lambda Ai for, U = g ^ and U_n A and X = g ^ x, U for 1 ≦ i ≦ L A i = g ^ (rλ Ai ) h [ρ A (i)] ^ (− x i ) and X i = g ^ x i are calculated, and sk A is keyed according to the algorithm sig for signature generation of the disposable signature, ( U, {U i }, X, {X i }) as a message, a first exchange information generation unit that generates a disposable signature s A ;
A first transmitter that transmits EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) to the key exchange device β;
A first receiving unit for receiving EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) from the key exchange device β;
I A =: the {i ρ B (i) ∈S A} the set I A and I 'A = {i: ρ B (i) ∈W B} to become set I' obtains the A, share information generator matrix For a valid share set {λ Bi } of secret information v_n B corresponding to M B ,
Figure 0005650630
A first secret information acquisition unit for obtaining an integer w Ai and an integer w ′ Ai of 0 or more and p−1 or less for which
Check whether the attribute set S A satisfies the share information generation matrix M B and the injection labeling function ρ B , and that all of V, {V i }, Y, {Y i } are elements of the group G The result of verifying vk B as a key and (V, {V i }, Y, {Y i }, s B ) as a message according to the algorithm for verifying the disposable signature is true,
Figure 0005650630
A first attribute confirmation unit for confirming that
Figure 0005650630
σ 1 = (g T ^ z) ^ u_n A
σ 3 = e (g ^ r, Y) ^ x
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A first session key calculation unit to be obtained as follows:
At least u_j (1 ≦ j ≦ N A ), x, x i (1 ≦ i ≦ L A ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , σ ′ 2 , σ ′ 3 , Sid, sk A , a first intermediate information erasing unit,
With
The key exchange device β
A second recording unit for recording S ′ B , T B , {S B } as a long-term secret key;
An access structure A B is determined, a disposable public key vk B and a disposable secret key sk B are generated according to a key generation algorithm gen for a disposable signature, and a dummy attribute set W B = {W 1 —vk B 1 ,..., W d —vk Bd ,..., W D — vk BD } (where vk Bd is the d-th bit of the disposable public key vk B ), and the access structure A B or all dummy attributes W 1 — vk B1 ,…, W D — vk and a second access structure determination unit for generating a linear share information generator matrix secret sharing scheme M B and injective labeling function [rho B corresponding to the condition satisfying the BD,
1 ≦ j ≦ N B v = (v_1, ..., v_N B) a v_j from 0 or p-1 following integer selected randomly for a, selected at random y from 0 or p-1 an integer a second short-term private key generation unit to select randomly y i from 0 or p-1 an integer for 1 ≦ i ≦ L B,
1 ≦ i ≦ L B calculates the inner product between the vector v and the vector (M B) i for a share λ Bi, V = g ^ v_n B and Y = g ^ y and, V for 1 ≦ i ≦ L B i = g ^ (rλ Bi) h [ρ B (i)] ^ (- y i) and Y i = g ^ a y i is calculated, the key to sk B according to the algorithm sig of disposable signature signature generation, ( V, {V i }, Y, {Y i }) as a message, a second exchange information generating unit that generates a disposable signature s B ;
A second transmitter that transmits EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) to the key exchange device α;
A second receiving unit that receives EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) from the key exchange device α;
I B =: the {i ρ A (i) ∈S B} set I B and I: seeking 'B = {i ρ A ( i) ∈W A} to become set I' B, share information generator matrix For a valid share set {λ Ai } of secret information u_n A corresponding to M A ,
Figure 0005650630
A second secret information acquisition unit that obtains an integer w Bi and an integer w ′ Bi that are equal to or greater than 0 and equal to or less than p−1.
Confirm that the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A , and that all of U, {U i }, X, {X i } are elements of the group G The result of verifying vk A as a key and (U, {U i }, X, {X i }, s A ) as a message according to the algorithm for verifying the disposable signature is true,
Figure 0005650630
A second attribute confirmation unit for confirming that
Figure 0005650630
σ 2 = (g T ^ z) ^ v_n B
σ 3 = e (g ^ r, X) ^ y
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A second session key calculation unit to be obtained as follows:
At least v_j (1 ≦ j ≦ N B ), y, y i (1 ≦ i ≦ L B ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , σ ′ 2 , σ ′ 3 , Sid, sk B , a second intermediate information erasing unit,
A key exchange system.
請求項1記載の鍵交換システムであって、
さらに、マスタ鍵生成部と長期秘密鍵生成部とを有する鍵生成装置を備え、
前記r,z,h[1],…,h[att’]は、前記マスタ鍵生成部がランダムに選定したものであり、マスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])とマスタ秘密鍵g^zは前記マスタ鍵生成部が生成したものであり、
前記tとtは前記長期秘密鍵生成部がランダムに選定したものであり、S’とS’、TとT、S[k]とS[k]は前記長期秘密鍵生成部が計算したものであり、
前記鍵交換装置αが記録しておく前記長期秘密鍵(S’,T,{S})は前記鍵生成装置からを取得したものであり、前記鍵交換装置βが記録しておく前記長期秘密鍵(S’,T,{S})は前記鍵生成装置から取得したものである
ことを特徴とする鍵交換システム。
The key exchange system according to claim 1,
And a key generation device having a master key generation unit and a long-term secret key generation unit,
The r, z, h [1] , ..., h [att '] , the are those that master key generating unit was selected at random, master public key (g, g ^ r, g T ^ z, h [ 1], ..., h [att ']) and the master secret key g ^ z are generated by the master key generation unit,
The t A and t B are randomly selected by the long-term secret key generation unit, and S ′ A and S ′ B , T A and T B , S A [k A ] and S B [k B ] are The long-term secret key generation unit is calculated,
The long-term secret key (S ′ A , T A , {S A }) recorded by the key exchange device α is obtained from the key generation device, and is recorded by the key exchange device β. The long-term secret key (S ′ B , T B , {S B }) is obtained from the key generation device.
セッション鍵を交換する鍵交換装置であって、
鍵交換する対象の鍵交換装置は、当該鍵交換装置と同じ構成であり、
κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号、Pは属性を示す属性要素、属性集合Sは当該鍵交換装置の属性を示す属性要素Pの集合、アクセス構造Aは当該鍵交換装置が鍵交換する対象の鍵交換装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは鍵交換する対象の鍵交換装置の属性を示す属性要素Pの集合、アクセス構造Aは鍵交換する対象の鍵交換装置が求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは当該鍵交換装置と鍵交換する対象の鍵交換装置とで共有するあらかじめ定めた1以上N以下の整数、nは当該鍵交換装置と鍵交換する対象の鍵交換装置とで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、(g,g^r,g^z,h[1],…,h[att’])はマスタ公開鍵、g^zはマスタ秘密鍵、tは0以上p−1以下の整数、tは0以上p−1以下の整数、S’=g^z・g^(rt)、S’=g^z・g^(rt)、T=g^t、T=g^t、S[k]=h[k]^t、S[k]=h[k]^t、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号であり
期秘密鍵としてS’,T,{S}を記録する記録部と、
アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkA1,…,W_vkAd,…,W_vkAD}(ただし、vkAdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkA1,…,W_vkADを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成するアクセス構造決定部と、
1≦j≦Nについてu_jを0以上p−1以下の整数からランダムに選定してu=(u_1,…,u_N)とし、xを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてxを0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
1≦i≦Lについてベクトルuとベクトル(Mとの内積を計算してシェアλAiとし、U=g^u_nとX=g^xと、1≦i≦LについてU=g^(rλAi)h[ρ(i)]^(−x)とX=g^xを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(U,{U},X,{X})をメッセージとする使い捨て署名sを生成する交換情報生成部と、
EPK=(U,{U},X,{X},M,ρ,vk,s)を鍵交換する対象の装置に送信する送信部と、
鍵交換する対象の装置から、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を受信する受信部と、
={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報v_nの正当なシェア集合{λBi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wAiと整数w’Aiを求める秘密情報取得部と、
属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、V,{V},Y,{Y}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(V,{V},Y,{Y},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する属性確認部と、
Figure 0005650630
σ=(g^z)^u_n
σ=e(g^r,Y)^x
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求めるセッション鍵計算部と、
少なくともu_j(1≦j≦N)、x、x(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する中間情報消去部と、
を備える鍵交換装置。
A key exchange device for exchanging session keys,
The key exchange device subject to key exchange has the same configuration as the key exchange device,
κ is an integer, p is κ-bit prime, G and G T is the group of order p, g is generator of the group G, g T is generator of the group G T, e is as G × G → G T F_σ is a pseudo-random function that converts an integer of arbitrary length into an integer of κ bits according to the specified key space Kspace value σ, and Ext converts an element of the group G into a value of the key space Kspace Strong random extractor, D is an integer, d is an integer between 1 and D, gen is a key generation algorithm for a disposable signature such that the bit length of the verification key is D, sig is the bit length of the verification key is D An algorithm for generating a signature for a disposable signature, ver is an algorithm for verifying a disposable signature in which the bit length of the verification key is D, att ′ is an integer indicating the total number of elements of the attribute, and W d _R is the d th The information indicating the dummy attribute is a bit of 1 bit or more. Symbol indicating the Tsu preparative column R, P n is an attribute element indicating attributes, the set of attribute set S A is the attribute element P n indicating the attribute of the key exchange apparatus, the access structure A A has the key exchange device A set of combinations of attribute elements P n required for a key exchange device to be exchanged with key, a bijective labeling function ρ A corresponds to a function indicating the access structure A A, and an attribute set ρ A (i) corresponds to the access structure A A I-th set, share information generation matrix M A is a matrix of L A rows and N A columns in which i-th row corresponds to attribute set ρ A (i), and (M A ) i is i of share information generation matrix M A The vector corresponding to the second row, the attribute set S B is a set of attribute elements P n indicating the attributes of the key exchange device to be exchanged, and the access structure A B is the attribute element P required by the key exchange device to be exchanged. n set of combination of, injection labeling Number [rho B function indicating the access structure A B, i th set attribute set [rho B (i) is that corresponding to the access structure A B, share information generator matrix M B is the i-th row is the attribute set [rho B ( i) a matrix of L B rows and N B columns corresponding to i), (M B ) i is a vector corresponding to the i th row of the share information generation matrix M B , L A , N A , L B and N B are integers, shared n a is predetermined by one or more, n a less integer shared by the target key exchange device for the key exchange device and key exchange, n B is subject to key exchange device for the key exchange device and key exchange A predetermined integer of 1 to N B , k A is an element of the attribute set S A , k B is an element of the attribute set S B , r and z are integers of 0 to p−1, h [1], ..., h [att '] is the group G based on, (g, g ^ r, g T ^ z, h [1], ..., h [att' ]) Is a master public key, g ^ z is a master secret key, t A is greater than or equal to 0 p-1 an integer, t B is greater than or equal to 0 p-1 an integer, S 'A = g ^ z · g ^ ( rt A ), S ′ B = g ^ z · g ^ (rt B ), T A = g ^ t A , T B = g ^ t B , S A [k A ] = h [k A ] ^ t A , S B [k B ] = h [k B ] ^ t B , {S A } is a set of S A [k A ], {S B } is a set of S B [k B ], and {U i } is A set of U i , {X i } is a set of X i , {V i } is a set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, and (+) is a bitwise exclusion Is a symbol indicating a logical OR ,
S 'A as long-term private key, T A, and a recording unit for recording the {S A},
An access structure A A is determined, a disposable public key vk A and a disposable secret key sk A are generated according to a key generation algorithm gen for a disposable signature, and a dummy attribute set W A = {W 1 —vk A 1 ,..., W d —vk Ad, ..., W D _vk AD } ( however, vk Ad is d-th bit of the disposable public key vk a) is set and the access structure a a or all of the dummy attributes W 1 _vk A1, ..., W D _vk an access structure determination unit for generating a share information generator matrix M a and injective labeling function [rho a corresponding linear secret sharing scheme in conditions satisfying the AD,
1 ≦ j ≦ N A u = (u_1, ..., u_N A) a u_j from 0 or p-1 following integer selected randomly for a, selected at random x from 0 or p-1 an integer A short-term secret key generation unit that randomly selects x i from an integer of 0 to p−1 for 1 ≦ i ≦ LA;
1 ≦ i ≦ L A computes the inner product of the vectors u and vector (M A) i and share lambda Ai for, U = g ^ and U_n A and X = g ^ x, U for 1 ≦ i ≦ L A i = g ^ (rλ Ai ) h [ρ A (i)] ^ (− x i ) and X i = g ^ x i are calculated, and sk A is keyed according to the algorithm sig for signature generation of the disposable signature, ( U, {U i }, X, {X i }) as an exchange information generating unit that generates a disposable signature s A having a message;
A transmitter that transmits EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) to a target device for key exchange;
A receiving unit that receives EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) from a device to be subjected to key exchange;
I A =: the {i ρ B (i) ∈S A} the set I A and I 'A = {i: ρ B (i) ∈W B} to become set I' obtains the A, share information generator matrix For a valid share set {λ Bi } of secret information v_n B corresponding to M B ,
Figure 0005650630
A secret information acquisition unit for obtaining an integer w Ai and an integer w ′ Ai of 0 to p−1 that holds
Check whether the attribute set S A satisfies the share information generation matrix M B and the injection labeling function ρ B , and that all of V, {V i }, Y, {Y i } are elements of the group G The result of verifying vk B as a key and (V, {V i }, Y, {Y i }, s B ) as a message according to the algorithm for verifying the disposable signature is true,
Figure 0005650630
An attribute confirmation unit for confirming that
Figure 0005650630
σ 1 = (g T ^ z) ^ u_n A
σ 3 = e (g ^ r, Y) ^ x
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A session key calculation unit to be obtained as follows,
At least u_j (1 ≦ j ≦ N A ), x, x i (1 ≦ i ≦ L A ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , σ ′ 2 , σ ′ 3 , Sid, sk A , an intermediate information erasing unit,
A key exchange device comprising:
セッション鍵を交換する鍵交換装置であって、
鍵交換する対象の鍵交換装置は、当該鍵交換装置と同じ構成であり、
κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号、Pは属性を示す属性要素、属性集合Sは鍵交換する対象の鍵交換装置の属性を示す属性要素Pの集合、アクセス構造Aは鍵交換する対象の鍵交換装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは当該鍵交換装置の属性を示す属性要素Pの集合、アクセス構造Aは当該鍵交換装置が鍵交換する対象の鍵交換装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは当該鍵交換装置と鍵交換する対象の鍵交換装置とで共有するあらかじめ定めた1以上N以下の整数、nは当該鍵交換装置と鍵交換する対象の鍵交換装置とで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、(g,g^r,g^z,h[1],…,h[att’])はマスタ公開鍵、g^zはマスタ秘密鍵、tは0以上p−1以下の整数、tは0以上p−1以下の整数、S’=g^z・g^(rt)、S’=g^z・g^(rt)、T=g^t、T=g^t、S[k]=h[k]^t、S[k]=h[k]^t、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号であり、
長期秘密鍵としてS’,T,{S}を記録する記録部と、
アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkB1,…,W_vkBd,…,W_vkBD}(ただし、vkBdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkB1,…,W_vkBDを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成するアクセス構造決定部と、
1≦j≦Nについてv_jを0以上p−1以下の整数からランダムに選定してv=(v_1,…,v_N)とし、yを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてyを0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
1≦i≦Lについてベクトルvとベクトル(Mとの内積を計算してシェアλBiとし、V=g^v_nとY=g^yと、1≦i≦LについてV=g^(rλBi)h[ρ(i)]^(−y)とY=g^yを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(V,{V},Y,{Y})をメッセージとする使い捨て署名sを生成する交換情報生成部と、
EPK=(V,{V},Y,{Y},M,ρ,vk,s)を鍵交換する対象の鍵交換装置に送信する送信部と、
鍵交換する対象の鍵交換装置から、EPK=(U,{U},X,{X},M,ρ,vk,s)を受信する受信部と、
={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報u_nの正当なシェア集合{λAi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wBiと整数w’Biを求める秘密情報取得部と、
属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認することと、U,{U},X,{X}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(U,{U},X,{X},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する属性確認部と、
Figure 0005650630
σ=(g^z)^v_n
σ=e(g^r,X)^y
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求めるセッション鍵計算部と、
少なくともv_j(1≦j≦N)、y、y(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する中間情報消去部と、
を備える鍵交換装置。
A key exchange device for exchanging session keys,
The key exchange device subject to key exchange has the same configuration as the key exchange device,
κ is an integer, p is κ-bit prime, G and G T is the group of order p, g is generator of the group G, g T is generator of the group G T, e is as G × G → G T F_σ is a pseudo-random function that converts an integer of arbitrary length into an integer of κ bits according to the specified key space Kspace value σ, and Ext converts an element of the group G into a value of the key space Kspace Strong random extractor, D is an integer, d is an integer between 1 and D, gen is a key generation algorithm for a disposable signature such that the bit length of the verification key is D, sig is the bit length of the verification key is D An algorithm for generating a signature for a disposable signature, ver is an algorithm for verifying a disposable signature in which the bit length of the verification key is D, att ′ is an integer indicating the total number of elements of the attribute, and W d _R is the d th The information indicating the dummy attribute is a bit of 1 bit or more. P n is an attribute element indicating an attribute, P n is an attribute element indicating an attribute, S A is a set of attribute elements P n indicating an attribute of a key exchange device to be exchanged, and an access structure A A is a key A set of combinations of attribute elements P n required for the key exchange apparatus to be exchanged, the injection labeling function ρ A corresponds to the function indicating the access structure A A , and the attribute set ρ A (i) corresponds to the access structure A A The i-th set, the share information generation matrix M A is a matrix of L A rows and N A columns where the i-th row corresponds to the attribute set ρ A (i), and (M A ) i is the i-th of the share information generation matrix M A vector corresponding to a row, attribute set S B is the set of attributes element P n indicating the attribute of the key exchange apparatus, the access structure a B attributes element P to determine the key exchange device for which the key exchange device is a key exchange n set of combination of, injection labeling Number [rho B function indicating the access structure A B, i th set attribute set [rho B (i) is that corresponding to the access structure A B, share information generator matrix M B is the i-th row is the attribute set [rho B ( i) a matrix of L B rows and N B columns corresponding to i), (M B ) i is a vector corresponding to the i th row of the share information generation matrix M B , L A , N A , L B and N B are integers, shared n a is predetermined by one or more, n a less integer shared by the target key exchange device for the key exchange device and key exchange, n B is subject to key exchange device for the key exchange device and key exchange A predetermined integer of 1 to N B , k A is an element of the attribute set S A , k B is an element of the attribute set S B , r and z are integers of 0 to p−1, h [1], ..., h [att '] is the group G based on, (g, g ^ r, g T ^ z, h [1], ..., h [att' ]) Is a master public key, g ^ z is a master secret key, t A is greater than or equal to 0 p-1 an integer, t B is greater than or equal to 0 p-1 an integer, S 'A = g ^ z · g ^ ( rt A ), S ′ B = g ^ z · g ^ (rt B ), T A = g ^ t A , T B = g ^ t B , S A [k A ] = h [k A ] ^ t A , S B [k B ] = h [k B ] ^ t B , {S A } is a set of S A [k A ], {S B } is a set of S B [k B ], and {U i } is A set of U i , {X i } is a set of X i , {V i } is a set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, and (+) is a bitwise exclusion Is a symbol indicating a logical OR,
A recording unit for recording S ′ B , T B , {S B } as a long-term secret key;
An access structure A B is determined, a disposable public key vk B and a disposable secret key sk B are generated according to a key generation algorithm gen for a disposable signature, and a dummy attribute set W B = {W 1 —vk B 1 ,..., W d —vk Bd ,..., W D — vk BD } (where vk Bd is the d-th bit of the disposable public key vk B ), and the access structure A B or all dummy attributes W 1 — vk B1 ,…, W D — vk an access structure determination unit for generating a linear share information generator matrix secret sharing scheme M B and injective labeling function [rho B corresponding to the condition satisfying the BD,
1 ≦ j ≦ N B v = (v_1, ..., v_N B) a v_j from 0 or p-1 following integer selected randomly for a, selected at random y from 0 or p-1 an integer , short-term private key generating section to select at random the y i from 0 or p-1 an integer for 1 ≦ i ≦ L B,
1 ≦ i ≦ L B calculates the inner product between the vector v and the vector (M B) i for a share λ Bi, V = g ^ v_n B and Y = g ^ y and, V for 1 ≦ i ≦ L B i = g ^ (rλ Bi) h [ρ B (i)] ^ (- y i) and Y i = g ^ a y i is calculated, the key to sk B according to the algorithm sig of disposable signature signature generation, ( V, {V i }, Y, {Y i }) as a message and an exchange information generation unit that generates a disposable signature s B.
EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B )
A receiving unit that receives EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) from the key exchange device to be exchanged;
I B =: the {i ρ A (i) ∈S B} set I B and I: seeking 'B = {i ρ A ( i) ∈W A} to become set I' B, share information generator matrix For a valid share set {λ Ai } of secret information u_n A corresponding to M A ,
Figure 0005650630
A secret information acquisition unit that obtains an integer w Bi and an integer w ′ Bi that are equal to or larger than 0 and equal to or smaller than p−1.
Confirm that the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A , and that all of U, {U i }, X, {X i } are elements of the group G The result of verifying vk A as a key and (U, {U i }, X, {X i }, s A ) as a message according to the algorithm for verifying the disposable signature is true,
Figure 0005650630
An attribute confirmation unit for confirming that
Figure 0005650630
σ 2 = (g T ^ z) ^ v_n B
σ 3 = e (g ^ r, X) ^ y
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A session key calculation unit to be obtained as follows,
At least v_j (1 ≦ j ≦ N B ), y, y i (1 ≦ i ≦ L B ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , σ ′ 2 , σ ′ 3 , Sid, sk B , an intermediate information erasing unit,
A key exchange device comprising:
少なくとも鍵交換装置αと鍵交換装置βとを備える鍵交換システムを用いて、セッション鍵を交換する鍵交換方法であって、
κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、F_σは任意長の整数を指定された鍵空間Kspaceの値σにしたがってκビットの整数に変換する擬似ランダム関数、Extは群Gの元を鍵空間Kspaceの値に変換する強ランダム抽出器、Dは整数、dは1以上D以下の整数、genは検証鍵のビット長がDであるような使い捨て署名の鍵生成のアルゴリズム、sigは検証鍵のビット長がDであるような使い捨て署名の署名生成のアルゴリズム、verは検証鍵のビット長がDであるような使い捨て署名の検証のアルゴリズム、att’は属性の全要素数を示す整数、W_Rはd番目のダミー属性を示す情報が1ビット以上のビット列Rであることを示す記号、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、属性集合Sは鍵交換装置βの属性を示す属性要素Pの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mはシェア情報生成行列Mのi番目の行に対応するベクトル、L、N、L、Nは整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、nは前記鍵交換装置αと前記鍵交換装置βとで共有するあらかじめ定めた1以上N以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、h[1],…,h[att’]は群Gの元、(g,g^r,g^z,h[1],…,h[att’])はマスタ公開鍵、g^zはマスタ秘密鍵、tは0以上p−1以下の整数、tは0以上p−1以下の整数、S’=g^z・g^(rt)、S’=g^z・g^(rt)、T=g^t、T=g^t、S[k]=h[k]^t、S[k]=h[k]^t、{S}はS[k]の集合、{S}はS[k]の集合、{U}はUの集合、{X}はXの集合、{V}はVの集合、{Y}はYの集合、^はべき乗を示す記号、(+)はビットごとの排他的論理和を示す記号であり、
前記鍵交換装置αは、長期秘密鍵としてS’,T,{S}を記録しておき、
前記鍵交換装置βは、長期秘密鍵としてS’,T,{S}を記録しておき、
前記鍵交換装置αが、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkA1,…,W_vkAd,…,W_vkAD}(ただし、vkAdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkA1,…,W_vkADを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する第1のアクセス構造決定ステップと、
前記鍵交換装置αが、1≦j≦Nについてu_jを0以上p−1以下の整数からランダムに選定してu=(u_1,…,u_N)とし、xを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてxを0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成ステップと、
前記鍵交換装置αが、1≦i≦Lについてベクトルuとベクトル(Mとの内積を計算してシェアλAiとし、U=g^u_nとX=g^xと、1≦i≦LについてU=g^(rλAi)h[ρ(i)]^(−x)とX=g^xを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(U,{U},X,{X})をメッセージとする使い捨て署名sを生成する第1の交換情報生成ステップと、
前記鍵交換装置αが、EPK=(U,{U},X,{X},M,ρ,vk,s)を前記鍵交換装置βに送信する第1の送信ステップと、
前記鍵交換装置βが、アクセス構造Aを決定し、使い捨て署名の鍵生成のアルゴリズムgenにしたがって使い捨て公開鍵vkと使い捨て秘密鍵skを生成し、ダミー属性集合W={W_vkB1,…,W_vkBd,…,W_vkBD}(ただし、vkBdは使い捨て公開鍵vkのd番目のビット)を設定し、当該アクセス構造A又はすべてのダミー属性W_vkB1,…,W_vkBDを満たす条件に対応する線形秘密分散法のシェア情報生成行列Mと単射ラベリング関数ρを生成する第2のアクセス構造決定ステップと、
前記鍵交換装置βが、1≦j≦Nについてv_jを0以上p−1以下の整数からランダムに選定してv=(v_1,…,v_N)とし、yを0以上p−1以下の整数からランダムに選定し、1≦i≦Lについてyを0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成ステップと、
前記鍵交換装置βが、1≦i≦Lについてベクトルvとベクトル(Mとの内積を計算してシェアλBiとし、V=g^v_nとY=g^yと、1≦i≦LについてV=g^(rλBi)h[ρ(i)]^(−y)とY=g^yを計算し、使い捨て署名の署名生成のアルゴリズムsigにしたがってskを鍵、(V,{V},Y,{Y})をメッセージとする使い捨て署名sを生成する第2の交換情報生成ステップと、
前記鍵交換装置βが、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を前記鍵交換装置αに送信する第2の送信ステップと、
前記鍵交換装置βが、前記鍵交換装置αから、EPK=(U,{U},X,{X},M,ρ,vk,s)を受信する第2の受信ステップと、
前記鍵交換装置βが、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認する第2の簡易属性確認ステップと、
前記鍵交換装置βが、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報u_nの正当なシェア集合{λAi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wBiと整数w’Biを求める第2の秘密情報取得ステップと、
前記鍵交換装置βが、U,{U},X,{X}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(U,{U},X,{X},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する第2の属性確認ステップと、
前記鍵交換装置βが、
Figure 0005650630
σ=(g^z)^v_n
σ=e(g^r,X)^y
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める第2のセッション鍵計算ステップと、
前記鍵交換装置βが、少なくともv_j(1≦j≦N)、y、y(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する第2の中間情報消去ステップと、
前記鍵交換装置αが、前記鍵交換装置βから、EPK=(V,{V},Y,{Y},M,ρ,vk,s)を受信する第1の受信ステップと、
前記鍵交換装置αが、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすかを確認する第1の簡易属性確認ステップと、
前記鍵交換装置αが、I={i:ρ(i)∈S}となる集合IとI’={i:ρ(i)∈W}となる集合I’を求め、シェア情報生成行列Mに対応する秘密情報v_nの正当なシェア集合{λBi}について、
Figure 0005650630
が成り立つ0以上p−1以下の整数wAiと整数w’Aiを求める第1の秘密情報取得ステップと、
前記鍵交換装置αが、V,{V},Y,{Y}のすべてが群Gの元であること、使い捨て署名の検証のアルゴリズムにしたがってvkを鍵、(V,{V},Y,{Y},s)をメッセージとして検証した結果が真であること、
Figure 0005650630
が成り立つことを確認する第1の属性確認ステップと、
前記鍵交換装置αが、
Figure 0005650630
σ=(g^z)^u_n
σ=e(g^r,Y)^x
を計算し、σ’←Ext(σ),σ’←Ext(σ),σ’←Ext(σ)を計算し、セッション識別子sidを(EPK,EPK)に設定し、セッション鍵Kを、
K=F_σ’(sid)(+)F_σ’(sid)(+)F_σ’(sid)
のように求める第1のセッション鍵計算ステップと、
前記鍵交換装置αが、少なくともu_j(1≦j≦N)、x、x(1≦i≦L)、EPK、EPK、σ、σ、σ、σ’、σ’、σ’、sid、skを消去する第1の中間情報消去ステップと、
を有する鍵交換方法。
A key exchange method for exchanging session keys using a key exchange system including at least a key exchange device α and a key exchange device β,
κ is an integer, p is κ-bit prime, G and G T is the group of order p, g is generator of the group G, g T is generator of the group G T, e is as G × G → G T F_σ is a pseudo-random function that converts an integer of arbitrary length into an integer of κ bits according to the specified key space Kspace value σ, and Ext converts an element of the group G into a value of the key space Kspace Strong random extractor, D is an integer, d is an integer between 1 and D, gen is a key generation algorithm for a disposable signature such that the bit length of the verification key is D, sig is the bit length of the verification key is D An algorithm for generating a signature for a disposable signature, ver is an algorithm for verifying a disposable signature in which the bit length of the verification key is D, att ′ is an integer indicating the total number of elements of the attribute, and W d _R is the d th The information indicating the dummy attribute is a bit of 1 bit or more. Symbol indicating the Tsu preparative column R, P n is an attribute element indicating attributes, the set of attribute set S A is the attribute element P n indicating the attribute of the key exchange apparatus alpha, access structure A A key exchange apparatus alpha is A set of combinations of attribute elements P n to be obtained from the key exchange device β, the injection labeling function ρ A is a function indicating the access structure A A , and the attribute set ρ A (i) is an i-th corresponding to the access structure A A The set, share information generation matrix M A is a matrix of L A rows N A columns in which the i-th row corresponds to the attribute set ρ A (i), and (M A ) i is the i-th row of the share information generation matrix M A corresponding set of vectors, attribute set S B is the set of attributes element P n indicating the attribute of the key exchange apparatus beta, access structure a B is the attribute element P n key exchange apparatus beta seek key exchange apparatus α combined, single morphism labeling function [rho B shows the access structure a B The number, the attribute set [rho B (i) is L B rows N B columns corresponding to the access i-th set corresponding to the structure A B, share information generator matrix M B is the i-th row is the attribute set [rho B (i) (M B ) i is a vector corresponding to the i-th row of the share information generation matrix M B , L A , N A , L B and N B are integers, n A is the key exchange device α and the key A predetermined integer 1 to N A shared by the exchange device β, n B is a predetermined integer 1 to N B shared by the key exchange device α and the key exchange device β, and k A is Elements of the attribute set S A , k B are elements of the attribute set S B , r and z are integers from 0 to p−1, h [1],..., H [att ′] are elements of the group G, (g , g ^ r, g T ^ z, h [1], ..., h [att ']) is a master public key, g ^ z is a master secret key, t a is greater than or equal to 0 p-1 or less, t B is an integer of 0 or more and p-1 or less, S ′ A = g ^ z · g ^ (rt A ), S ′ B = g ^ z · g ^ (rt B ), T A = g ^ t A, T B = g ^ t B, S A [k A] = h [k A] ^ t A, S B [k B] = h [k B] ^ t B, {S A } Is a set of S A [k A ], {S B } is a set of S B [k B ], {U i } is a set of U i , {X i } is a set of X i , {V i } is A set of V i , {Y i } is a set of Y i , ^ is a symbol indicating a power, (+) is a symbol indicating a bitwise exclusive OR,
The key exchange device α records S ′ A , T A , {S A } as long-term secret keys,
The key exchange device β records S ′ B , T B , {S B } as long-term secret keys,
The key exchange device α determines an access structure A A , generates a disposable public key vk A and a disposable secret key sk A according to a key generation algorithm gen for a disposable signature, and sets a dummy attribute set W A = {W 1 _vk. A1, ..., W d _vk Ad , ..., W D _vk AD} ( however, vk Ad is d-th bit of the disposable public key vk a) is set and the access structure a a or all of the dummy attributes W 1 _vk A1, ..., a first access structure determination step of generating a W D _vk linear secret sharing scheme share information generation matrix corresponding to the condition satisfying the AD M a and injective labeling function [rho a,
The key exchange apparatus α is, 1 ≦ j ≦ N a u_j from 0 or p-1 an integer for A be selected randomly u = (u_1, ..., u_N A) and the x 0 or p-1 or less A first short-term secret key generation step that randomly selects x i from 0 to p−1 for 1 ≦ i ≦ LA,
The key exchange device α calculates the inner product of the vector u and the vector (M A ) i for 1 ≦ i ≦ L A to obtain a share λ Ai , U = g ^ u_n A , X = g ^ x, 1 ≦ i ≦ L A U i = g ^ (rλ Ai ) h [ρ A (i)] ^ (− x i ) and X i = g ^ x i are calculated, and the signature generation algorithm sig of the disposable signature is calculated. Accordingly, a first exchange information generating step for generating a disposable signature s A having sk A as a key and (U, {U i }, X, {X i }) as a message;
First transmission in which the key exchange device α transmits EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) to the key exchange device β. Steps,
The key exchange device β is to determine an access structure A B, generates a disposable public key vk B and disposable secret key sk B according to the algorithm gen key generation disposable signature, dummy attribute set W B = {W 1 _vk B1, ..., W d _vk Bd , ..., W D _vk BD} ( however, vk Bd disposable public key vk d th bit of B) is set and the access structure a B or all of the dummy attributes W 1 _vk B1, ..., and a second access structure determination step of generating a W D linear secret sharing scheme share information generation matrix corresponding to the condition satisfying the _vk BD M B and injective labeling function [rho B,
The key exchange device β is, 1 ≦ j ≦ N B are selected randomly v_j from 0 or p-1 an integer for v = (v_1, ..., v_N B) and the y 0 or p-1 or less selected randomly from integers, a second short-term private key generation step of selecting from 1 ≦ i ≦ L integer of 0 to p-1 below y i for B randomly,
The key exchange device β calculates an inner product of a vector v and a vector (M B ) i for 1 ≦ i ≦ L B to obtain a share λ Bi, and V = g ^ v_n B , Y = g ^ y, 1 ≦ i ≦ L B for V i = g ^ (rλ Bi ) h [ρ B (i)] ^ (- y i) and calculates the Y i = g ^ y i, the algorithm sig signature generation disposable signature Therefore, a second exchange information generation step for generating a disposable signature s B with sk B as a key and (V, {V i }, Y, {Y i }) as a message;
Second transmission in which the key exchange device β transmits EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) to the key exchange device α. Steps,
The key exchange device β receives the second EPK A = (U, {U i }, X, {X i }, M A , ρ A , vk A , s A ) from the key exchange device α. Receiving step;
A second simple attribute confirmation step in which the key exchange device β confirms whether the attribute set S B satisfies the share information generation matrix M A and the injection labeling function ρ A ;
The key exchange device β is, I B =: the {i ρ A (i) ∈S B} set I B and I 'B = {i: ρ A (i) ∈W A} to become set I' B For a valid share set {λ Ai } of the secret information u_n A corresponding to the share information generation matrix M A ,
Figure 0005650630
A second secret information acquisition step for obtaining an integer w Bi and an integer w ′ Bi that are equal to or larger than 0 and equal to or smaller than p−1, and
The key exchange device β is configured such that U, {U i }, X, {X i } are all elements of the group G, vk A is keyed according to a disposable signature verification algorithm, and (U, {U i }, X, {X i }, s A ) are verified as messages,
Figure 0005650630
A second attribute confirmation step for confirming that
The key exchange device β
Figure 0005650630
σ 2 = (g T ^ z) ^ v_n B
σ 3 = e (g ^ r, X) ^ y
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A second session key calculation step determined as follows:
The key exchange device β has at least v_j (1 ≦ j ≦ N B ), y, y i (1 ≦ i ≦ L B ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , a second intermediate information erasing step for erasing σ ′ 2 , σ ′ 3 , sid, sk B ;
The key exchange device α receives first EPK B = (V, {V i }, Y, {Y i }, M B , ρ B , vk B , s B ) from the key exchange device β. Receiving step;
A first simple attribute confirmation step in which the key exchange device α confirms whether the attribute set S A satisfies the share information generation matrix M B and the injection labeling function ρ B ;
The key exchange apparatus α is, I A =: the {i ρ B (i) ∈S A} the set I A and I 'A =: the {i ρ B (i) ∈W B} the set I' A For a valid share set {λ Bi } of the secret information v_n B corresponding to the share information generation matrix M B ,
Figure 0005650630
A first secret information acquisition step for obtaining an integer w Ai and an integer w ′ Ai of 0 to p−1 satisfying
The key exchange device α is configured such that V, {V i }, Y, {Y i } are all elements of the group G, vk B is keyed according to the algorithm for verifying the disposable signature, and (V, {V i }, Y, {Y i }, s B ) as a message is verified to be true,
Figure 0005650630
A first attribute confirmation step for confirming that
The key exchange device α is
Figure 0005650630
σ 1 = (g T ^ z) ^ u_n A
σ 3 = e (g ^ r, Y) ^ x
Σ ′ 1 ← Ext (σ 1 ), σ ′ 2 ← Ext (σ 2 ), σ ′ 3 ← Ext (σ 3 ) are calculated, and the session identifier sid is set to (EPK A , EPK B ) Session key K
K = F_σ ′ 1 (sid) (+) F_σ ′ 2 (sid) (+) F_σ ′ 3 (sid)
A first session key calculation step obtained as follows:
The key exchange device α has at least u_j (1 ≦ j ≦ N A ), x, x i (1 ≦ i ≦ L A ), EPK A , EPK B , σ 1 , σ 2 , σ 3 , σ ′ 1 , a first intermediate information erasing step for erasing σ ′ 2 , σ ′ 3 , sid, sk A ;
A key exchange method.
請求項記載の鍵交換方法であって、
前記鍵交換システムは、さらにマスタ鍵生成手段と長期秘密鍵生成手段も備え、
前記マスタ鍵生成手段が、前記r,z,h[1],…,h[att’]をランダムに選定し、マスタ公開鍵(g,g^r,g^z,h[1],…,h[att’])とマスタ秘密鍵g^zを生成するマスタ鍵生成ステップと、
前記長期秘密鍵生成手段が、前記tとtをランダムに選定し、S’とS’、TとT、S[k]とS[k]を計算する長期秘密鍵生成ステップと、
前記鍵交換装置αが、長期秘密鍵としてS’,T,{S}を取得する第1の長期秘密鍵取得ステップと、
前記鍵交換装置βが、長期秘密鍵としてS’,T,{S}を取得する第2の長期秘密鍵取得ステップ
も有することを特徴とする鍵交換方法。
The key exchange method according to claim 5 , comprising:
The key exchange system further includes a master key generation unit and a long-term secret key generation unit,
The master key generating means, the r, z, h [1] , ..., h the [att '] selected at random, master public key (g, g ^ r, g T ^ z, h [1], ..., h [att ']) and a master key generating step for generating a master secret key g ^ z;
The long-term secret key generation means randomly selects t A and t B , and calculates S ′ A and S ′ B , T A and T B , S A [k A ] and S B [k B ]. A long-term secret key generation step;
A first long-term secret key obtaining step in which the key exchange device α obtains S ′ A , T A , {S A } as a long-term secret key;
The key exchange method, characterized in that the key exchange device β also has a second long-term secret key acquisition step of acquiring S ′ B , T B , {S B } as a long-term secret key.
請求項3または4記載の鍵交換装置としてコンピュータを機能させるための鍵交換プログラム。 Key exchange program for causing a computer to function as the key exchange equipment according to claim 3 or 4, wherein.
JP2011254796A 2011-11-22 2011-11-22 Key exchange system, key exchange device, key exchange method, key exchange program Expired - Fee Related JP5650630B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011254796A JP5650630B2 (en) 2011-11-22 2011-11-22 Key exchange system, key exchange device, key exchange method, key exchange program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011254796A JP5650630B2 (en) 2011-11-22 2011-11-22 Key exchange system, key exchange device, key exchange method, key exchange program

Publications (2)

Publication Number Publication Date
JP2013110628A JP2013110628A (en) 2013-06-06
JP5650630B2 true JP5650630B2 (en) 2015-01-07

Family

ID=48706974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011254796A Expired - Fee Related JP5650630B2 (en) 2011-11-22 2011-11-22 Key exchange system, key exchange device, key exchange method, key exchange program

Country Status (1)

Country Link
JP (1) JP5650630B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101870A (en) 2017-03-06 2018-09-14 고려대학교 산학협력단 Method and system for data sharing using attribute-based encryption in cloud computing

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6228903B2 (en) * 2014-10-08 2017-11-08 日本電信電話株式会社 Information sharing system and method, information sharing apparatus and program
CN112602135B (en) * 2018-08-13 2024-05-24 日本电信电话株式会社 Secret linking system, secret linking method, secret calculation device, and recording medium
WO2020036127A1 (en) * 2018-08-13 2020-02-20 日本電信電話株式会社 Secret join information generation system, secret join system, methods therefor, secret calculation device, and program
CN111555886B (en) * 2020-04-24 2022-07-26 深圳市赛为智能股份有限公司 Internet of things data authentication method and device, computer equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4924943B2 (en) * 2007-09-04 2012-04-25 Kddi株式会社 Authenticated key exchange system, authenticated key exchange method and program
WO2011073894A1 (en) * 2009-12-18 2011-06-23 Koninklijke Philips Electronics N.V. Digital rights management using attribute-based encryption
JP5457848B2 (en) * 2010-01-18 2014-04-02 日本電信電話株式会社 ID-based authentication key exchange system, authentication key exchange method, authentication key exchange apparatus, program thereof, and recording medium
JP5424974B2 (en) * 2010-04-27 2014-02-26 三菱電機株式会社 Cryptographic processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device
JP5486468B2 (en) * 2010-11-19 2014-05-07 日本電信電話株式会社 Key exchange device, key generation device, key exchange system, key exchange method, program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101870A (en) 2017-03-06 2018-09-14 고려대학교 산학협력단 Method and system for data sharing using attribute-based encryption in cloud computing

Also Published As

Publication number Publication date
JP2013110628A (en) 2013-06-06

Similar Documents

Publication Publication Date Title
US11290267B2 (en) Multi-party security computing method and apparatus, and electronic device
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
WO2011052056A1 (en) Data processing device
CN104967693B (en) Towards the Documents Similarity computational methods based on full homomorphism cryptographic technique of cloud storage
JP5650630B2 (en) Key exchange system, key exchange device, key exchange method, key exchange program
KR101082917B1 (en) Method for verifying the integrity of a user's data in remote computing and System thereof
JP7101031B2 (en) Blockchain network and confirmation method for it
CN112118245B (en) Key management method, system and equipment
Wang et al. A general location-authentication based secure participant recruitment scheme for vehicular crowdsensing
JP2014515125A (en) Method, computer program, and apparatus for data encryption
JP2007114494A (en) Secrecy computing method and device
CN113079177B (en) Remote sensing data sharing method based on time and decryption frequency limitation
JP6700797B2 (en) Key generation device, intermediate encryption device, entrusted encryption device, decryption device and their programs, and personal information protection system
JP5448864B2 (en) Commitment system, master device, transmission device, reception device, commitment method, program, recording medium
JP3314900B2 (en) Information delivery method and system using zero knowledge proof protocol
JP5512598B2 (en) Information sharing system, method, apparatus and program
CN114362958B (en) Intelligent home data security storage auditing method and system based on blockchain
JP5651609B2 (en) Searchable cryptographic system, search device, calculation device, and program
JP5097102B2 (en) Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium
JP6251163B2 (en) Encryption signature system, encryption signature device, arbitration device, encryption verification device, encryption signature operation device, encryption signature method, program
JP5931795B2 (en) KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM
WO2021019782A1 (en) Owner identity confirmation system and owner identity confirmation method
JP5427156B2 (en) Key exchange device, key exchange system, key exchange method, key exchange program
JP5142361B2 (en) Validity verification device
JP5486468B2 (en) Key exchange device, key generation device, key exchange system, key exchange method, program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141113

R150 Certificate of patent or registration of utility model

Ref document number: 5650630

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees