JP2012244232A - Information sharing system, method, device and program - Google Patents
Information sharing system, method, device and program Download PDFInfo
- Publication number
- JP2012244232A JP2012244232A JP2011109490A JP2011109490A JP2012244232A JP 2012244232 A JP2012244232 A JP 2012244232A JP 2011109490 A JP2011109490 A JP 2011109490A JP 2011109490 A JP2011109490 A JP 2011109490A JP 2012244232 A JP2012244232 A JP 2012244232A
- Authority
- JP
- Japan
- Prior art keywords
- information
- information sharing
- sharing apparatus
- shared secret
- short
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
この発明は、情報セキュリティ技術に関する。特に、二者間で同じ情報を共有するための技術に関する。 The present invention relates to information security technology. In particular, the present invention relates to a technique for sharing the same information between two parties.
二者間でセッション鍵等の情報を共有する技術として、以下のような階層型ID鍵交換方式が知られている(例えば、非特許文献1参照。)。 As a technique for sharing information such as a session key between two parties, the following hierarchical ID key exchange method is known (for example, see Non-Patent Document 1).
<公開パラメータ>PIDをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。セキュリティパラメータをkとする。pをkビット素数とし、G,GTをそれぞれ双線形写像e:G×G→GT を効率的に計算可能なg,gTを生成元とする群とする。H1:{0,1}*→G、H2:{0,1}*→Zp、H:{0,1}*→{0,1}kをハッシュ関数とする。 <Public parameter> PID is a protocol ID, and a unique ID corresponding to the protocol specification. Let k be the security parameter. Let p be a k-bit prime number, and G and G T be a group having g and g T that can be efficiently calculated as a bilinear map e: G × G → G T , respectively. H 1 : {0,1} * → G, H 2 : {0,1} * → Z p , and H: {0,1} * → {0,1} k are hash functions.
<鍵生成>鍵生成アルゴリズムは、一様ランダムにマスタ秘密鍵s0∈Zpを選び、S0=1Gを設定する。1GはGの単位元である。鍵生成アルゴリズムは、マスタ公開鍵P0=g及びQ0=P0 s0を計算して公開する。 <Key generation> The key generation algorithm uniformly selects a master secret key s 0 εZ p and sets S 0 = 1 G. 1G is a unit element of G. The key generation algorithm calculates and publicizes the master public keys P 0 = g and Q 0 = P 0 s0 .
<鍵抽出>ID=(ID1,…,IDt-1)に対応するユーザ装置は初期化として、st-1∈Zpを一様ランダムに選び、秘密の状態情報として保持する。同様にして他のユーザのそれぞれも、秘密の状態情報としてZpの元を一様ランダムに選択して保持する。ID=(ID1,…,IDt-1)に対応するユーザは鍵抽出者として自分の長期秘密鍵(St-1,Q1,…,Qt-1)を用いて、そのユーザの下位のユーザであってID’=(ID1,…,IDt-1,IDt)に対応するユーザ向けに次のように長期秘密鍵(St,Q1,…,Qt-1,Qt)を生成する。ここで、Pt=H1(ID1,…,IDt-1,IDt)、St=St-1Pt st-1、Qt=P0 stである。 <Key extraction> The user apparatus corresponding to ID = (ID 1 ,..., ID t−1 ) selects s t−1 εZ p uniformly and randomly as initialization, and holds it as secret state information. Similarly, each of the other users also selects and holds the element of Z p as secret state information uniformly at random. The user corresponding to ID = (ID 1 , ..., ID t-1 ) uses his / her long-term secret key (S t-1 , Q 1 , ..., Q t-1 ) as a key extractor, and For lower-level users who correspond to ID '= (ID 1 , ..., ID t-1, ID t ), the long-term secret key (S t , Q 1 , ..., Q t-1, Q t ) is generated. Here, P t = H 1 (ID 1 ,..., ID t−1 , ID t ), S t = S t−1 P t st−1 , and Q t = P 0 st .
<鍵交換>以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDA=(IDA,1,…,IDA,α)に対応する長期秘密鍵を持ち、ユーザUBはIDB=(IDB,1,…,IDB,β)に対応する長期秘密鍵を持つとする。 <Key Exchange> In the following, it is assumed that user U A is the initiator of the key exchange session and user U B is the responder. User U A has a long-term secret key corresponding to ID A = (ID A, 1 , ..., ID A, α ), and user U B has ID B = (ID B, 1 , ..., ID B, β ) Suppose you have a corresponding long-term secret key.
1.ユーザUAはランダムに短期秘密鍵x~∈UZpを選ぶ。このとき、ユーザUAは、x=H2(SA,α,x~)を計算し、短期公開鍵epkIDB=(X0=P0 x,XB,2=PB,2 x,…,XB,β=PB,β x)を計算する。ただし、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)である。ユーザUAは、epkIDBをユーザUBに送る。 1. User U A randomly selects a short-term secret key x ~ ∈ U Z p . At this time, the user U A calculates x = H 2 (S A, α , x ~ ), and the short-term public key epk IDB = (X 0 = P 0 x , X B, 2 = P B, 2 x , ..., X B, β = P B, β x ) is calculated. However, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i ≦ β). User U A sends an epk IDB to user U B.
2.ユーザUBはランダムに短期秘密鍵y~∈UZpを選ぶ。このとき、ユーザUBは、y=H2(SB,β,y~)を計算し、短期公開鍵epkIDA=(Y0=P0 y,YA,2=PA,2 y,…,YA,α=PA,α y)を計算する。ただし、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)である。ユーザUBは、epkIDAをユーザUAに送る。 2. User U B randomly selects the short-term secret key y ~ ∈ U Z p . At this time, the user U B calculates y = H 2 (S B, β , y ~ ), and the short-term public key epk IDA = (Y 0 = P 0 y , Y A, 2 = P A, 2 y , ..., Y A, α = P A, α y ). However, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i ≦ α). User U B sends epk IDA to user U A.
ユーザUBは、共有秘密情報σ1,σ2,σ3をそれぞれ次のように計算する。 User U B calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.
σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)
σ2=e(Q0,PA,1)y
σ3=(X0)y
その後、ユーザUBは、セッション鍵K=H(σ1,σ2,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (X 0 , S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i )
σ 2 = e (Q 0 , P A, 1 ) y
σ 3 = (X 0 ) y
Thereafter, the user U B calculates and outputs a session key K = H (σ 1 , σ 2 , σ 3 , PID, ID A , ID B , epk IDB , epk IDA ), and ends the session.
3.ユーザUAは、共有秘密情報σ1,σ2,σ3をそれぞれ次のように計算する。 3. The user U A calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.
σ1=e(Q0,PB,1)x
σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)
σ3=(Y0)x
その後、ユーザUAは、セッション鍵K=H(σ1,σ2,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (Q 0 , P B, 1 ) x
σ 2 = e (Y 0 , S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i )
σ 3 = (Y 0 ) x
Thereafter, the user U A calculates and outputs a session key K = H (σ 1 , σ 2 , σ 3 , PID, ID A , ID B , epk IDB , epk IDA ), and ends the session.
共有秘密情報には次の関係があるため、ユーザUAが計算した共有秘密情報σ1,σ2,σ3はそれぞれユーザUBが計算した共有秘密情報σ1,σ2,σ3と一致する。 Since the shared secret information has the following relationship, the shared secret information σ 1 , σ 2 , σ 3 calculated by the user U A matches the shared secret information σ 1 , σ 2 , σ 3 calculated by the user U B, respectively. To do.
σ1=Πi=1 βe(P0,PB,i)xsi-1/Πi=2 βe(P0,PB,i)xsi-1=e(Q0,PB,1)x=e(P0,PB,1)s0x
σ2=Πi=1 αe(P0,PA,i)ysi-1/Πi=2 αe(P0,PA,i)ysi-1=e(Q0,PA,1)y=e(P0,PA,1)s0y
σ3=(X0)y=(Y0)x=P0 xy
このようにして、同一の共有情報であるセッション鍵Kが共有される。
σ 1 = Π i = 1 β e (P 0 , P B, i ) xsi-1 / Π i = 2 β e (P 0 , P B, i ) xsi-1 = e (Q 0 , P B, 1 ) x = e (P 0 , P B, 1 ) s0x
σ 2 = Π i = 1 α e (P 0 , P A, i ) ysi-1 / Π i = 2 α e (P 0 , P A, i ) ysi-1 = e (Q 0 , P A, 1 ) y = e (P 0 , P A, 1 ) s0y
σ 3 = (X 0 ) y = (Y 0 ) x = P 0 xy
In this way, the session key K which is the same shared information is shared.
背景技術に記載した技術では、安全性を保証するためにいわゆるギャップ問題の難しさを仮定する必要がある。ギャップ問題とは、探索問題を解くために判定オラクルの利用を許した問題のことであり、一般にいわゆる探索問題よりも解きやすい問題となる。よって、ギャップ問題の難しさを仮定するよりも、探索問題の難しさを仮定した方が仮定を弱めることができるので望ましい。 In the technique described in the background art, it is necessary to assume the difficulty of a so-called gap problem in order to guarantee safety. A gap problem is a problem that allows the use of a decision oracle to solve a search problem, and is generally easier to solve than a so-called search problem. Therefore, it is desirable to assume the difficulty of the search problem rather than to assume the difficulty of the gap problem because the assumption can be weakened.
この発明の課題は、探索問題の難しさを仮定することにより安全性が保証される情報共有システム、方法、装置及びプログラムを提供することである。 An object of the present invention is to provide an information sharing system, method, apparatus, and program in which safety is guaranteed by assuming difficulty of a search problem.
この発明の一態様による情報共有システムは、プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置UAの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置UBの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、短期公開鍵epkIDBを情報共有装置UBに送信する送信部と、短期公開鍵epkIDAを情報共有装置UBから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UAと、短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、短期公開鍵epkIDAを情報共有装置UAに送信する送信部と、短期公開鍵epkIDBを情報共有装置UAから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UBと、を含む。 In the information sharing system according to one aspect of the present invention, PID which is a protocol ID is a predetermined bit string, and H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function. , F is a predetermined function, G and G T are groups that have bilinear maps e: G × G → G T that can be calculated as g and g T , respectively, and the unit element of G is 1 G S 0 = 1 G , master public key P 0 = g, Q 0 = P 0 s0 ∈G, and information sharing apparatus corresponding to ID = (ID 1 , ID 2 ,..., ID t-1 ) The secret information is s t-1 ∈Z p , the long-term secret key of the information sharing device is (S t-1 , Q 1 , ..., Q t-1 ), and the information sharing device below the information sharing device Where the long-term secret key of the information sharing device corresponding to ID ′ = (ID 1 , ID 2 ,..., ID t−1 , ID t ) is (S t , Q 1 ,..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = ( ID a, 1, ..., long secret of ID a, the information sharing apparatus corresponding to alpha) U a The key (S A, α, Q A , 1, ..., Q A, α), ID B = (ID B, 1, ..., ID B, β) a long secret key of the information sharing apparatus U B corresponding to (S B, β , Q B, 1 , ..., Q B, β ) as a short-term secret key generator for generating short-term secret keys x ~ 1 , x ~ 2 ∈Z p , and x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ) and a hash value calculator, and P B, i = H 1 (ID B, 1 ,, ..., ID B , i ) (1 ≤ i ≤ β), short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 , ..., X B, β = P B, β x1 , X 0 ′ = P 0 x2 , X B, 2 ′ = P B, 2 x2 ,…, X B, β ′ = P B, β x2 ) and short-term public key epk IDB a transmission unit for transmitting to the shared device U B, a receiver for receiving a short-term public key epk IDA from the information sharing apparatus U B, the first shared secret σ 1 = e (Q 0, P B, 1) to x1 A first shared secret information calculation unit for calculating, a second shared secret information calculation unit for calculating the second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x2 , and a third shared secret information σ 2 = e (Y 0 , S A, α ) / Π i = 2 α Third shared secret information calculation unit for calculating e (Q A, i-1 , Y A, i ), and fourth shared secret information σ 2 ′ = e (Y 0 ′, S A, α ) / Π i = 2 The fourth shared secret information calculation unit that calculates α e (Q A, i-1 , Y A, i ') and the fifth secret information calculation unit σ 3 = (Y 0 ) x1 Information sharing including a calculation unit and a shared information generation unit that calculates F (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ) a device U a, a short-term private key generating unit for generating a short term private key y ~ 1, y ~ 2 ∈Z p, y 1 = H 2 (S B, β, y ~ 1) and y 2 = H 2 ( A hash value calculation unit for calculating S B, β , y ~ 2 ) and a short-term public key epk as P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α) IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A , 2 y2, ..., Y a , α '= P a, a short-term public key generation unit for calculating the alpha y2), a transmission unit for transmitting the short-term public key epk IDA to the information sharing apparatus U a, short-term public key epk receive IDB from the information sharing apparatus U a A receiving unit that, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i) a first co-calculating the Secret information calculation section and second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ') Second shared secret information calculation unit, third shared secret information σ 2 = e (Q 0 , P A, 1 ) y1 and fourth shared secret information σ 2 '= a fourth shared secret information calculation unit for calculating e (Q 0 , P A, 1 ) y2 , a fifth secret information calculation unit for calculating a fifth secret information calculation unit σ 3 = (X 0 ) y1 , and F ( an information sharing device U B including a shared information generating unit that calculates σ 1 , σ 1 ′, σ 2 , σ 2 ′, σ 3 , PID, ID A , ID B , epk IDB , epk IDA ) Including.
探索問題の難しさを仮定することにより安全性を保証することができる。 Safety can be ensured by assuming the difficulty of the search problem.
以下、図面を参照してこの発明の一実施形態を説明する。 An embodiment of the present invention will be described below with reference to the drawings.
[アルゴリズム]
まず、この発明のアルゴリズムの例について説明する。
[algorithm]
First, an example of the algorithm of the present invention will be described.
<公開パラメータ>PIDをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。すなわち、PIDはプロトコル仕様に応じた所定のビット列である。セキュリティパラメータをkとする。kは、所定の正の整数である。pをkビット素数とし、G,GTをそれぞれ双線形写像e:G×G→GTを効率的に計算可能なg,gTを生成元とする群とする。H1:{0,1}*→G、H2:{0,1}*→Zp、H:{0,1}*→{0,1}kをハッシュ関数とする。 <Public parameter> PID is a protocol ID, and a unique ID corresponding to the protocol specification. That is, the PID is a predetermined bit string corresponding to the protocol specification. Let k be the security parameter. k is a predetermined positive integer. Let p be a k-bit prime number, and G and G T be a group having g and g T that can be efficiently calculated as a bilinear map e: G × G → G T , respectively. H 1 : {0,1} * → G, H 2 : {0,1} * → Z p , and H: {0,1} * → {0,1} k are hash functions.
<鍵生成>鍵生成アルゴリズムは、一様ランダムにマスタ秘密鍵s0∈Zpを選び、S0=1Gを設定する。1GはGの単位元である。鍵生成アルゴリズムは、マスタ公開鍵P0=g及びQ0=P0 s0を計算して公開する。ここで、P0の右肩の「s0」は「s0」を意味する。このように、ある文字の上付きの文字及び数字の一部がその上付きの中で更に上付き又は下付きである場合がある点に留意する。同様に、ある文字の下付きの文字及び数字の一部がその下付きの中で更に上付き又は下付きである場合がある点に留意する。 <Key generation> The key generation algorithm uniformly selects a master secret key s 0 εZ p and sets S 0 = 1 G. 1G is a unit element of G. The key generation algorithm calculates and publicizes the master public keys P 0 = g and Q 0 = P 0 s0 . Here, “s0” on the right shoulder of P 0 means “s 0 ”. Thus, it should be noted that some superscripts and numbers of a character may be superscripts or subscripts in the superscript. Similarly, it should be noted that some subscript letters and numbers of a character may be further superscripts or subscripts within the subscript.
<鍵抽出>ID=(ID1,…,IDt-1)に対応するユーザ装置は初期化として、st-1∈Zpを一様ランダムに選び、秘密の状態情報として保持する。同様にして他のユーザのそれぞれも、秘密の状態情報としてZpの元を一様ランダムに選択して保持する。ID=(ID1,…,IDt-1)に対応するユーザは鍵抽出者として自分の長期秘密鍵(St-1,Q1,…,Qt-1)を用いて、そのユーザの下位のユーザであってID’=(ID1,…,IDt-1,IDt)に対応するユーザ向けに次のように長期秘密鍵(St,Q1,…,Qt-1,Qt)を生成する。ここで、Pt=H1(ID1,…,IDt-1,IDt)、St=St-1Pt st-1、Qt=P0 stである。 <Key extraction> The user apparatus corresponding to ID = (ID 1 ,..., ID t−1 ) selects s t−1 εZ p uniformly and randomly as initialization, and holds it as secret state information. Similarly, each of the other users also selects and holds the element of Z p as secret state information uniformly at random. The user corresponding to ID = (ID 1 , ..., ID t-1 ) uses his / her long-term secret key (S t-1 , Q 1 , ..., Q t-1 ) as a key extractor, and For lower-level users who correspond to ID '= (ID 1 , ..., ID t-1, ID t ), the long-term secret key (S t , Q 1 , ..., Q t-1, Q t ) is generated. Here, P t = H 1 (ID 1 ,..., ID t−1 , ID t ), S t = S t−1 P t st−1 , and Q t = P 0 st .
<鍵交換>以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDA=(IDA,1,…,IDA,α)に対応する長期秘密鍵(SA,α,QA,1,…,QA,α)を持ち、ユーザUBはIDB=(IDB,1,…,IDB,β)に対応する長期秘密鍵(SB,β,QB,1,…,QB,β)を持つとする。 <Key Exchange> In the following, it is assumed that user U A is the initiator of the key exchange session and user U B is the responder. User U A has a long-term secret key (S A, α , Q A, 1 , ..., Q A, α ) corresponding to ID A = (ID A, 1 , ..., ID A, α ) and user U B Is assumed to have a long-term secret key (S B, β , Q B, 1 ,..., Q B, β ) corresponding to ID B = (ID B, 1 , ..., ID B, β ).
1.ユーザUAはランダムに短期秘密鍵x~ 1,x~ 2∈UZpを選ぶ。このとき、ユーザUAは、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算し、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する。ただし、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)である。ユーザUAは、epkIDBをユーザUBに送る。 1. User U A randomly selects short-term secret keys x ~ 1 , x ~ 2 ∈ U Z p . At this time, the user U A calculates x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ), and the short-term public key epk IDB = ( X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ). However, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i ≦ β). User U A sends an epk IDB to user U B.
2.ユーザUBはランダムに短期秘密鍵y~ 1,y~ 2∈Zpを選ぶ。このとき、ユーザUBは、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算し、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する。ただし、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)である。ユーザUBは、epkIDAをユーザUAに送る。 2. The user U B randomly selects the short-term secret key y ~ 1 , y ~ 2 ∈ Z p . At this time, the user U B calculates y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ), and the short-term public key epk IDA = ( Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 , ..., Y A, α '= P A, α y2 ). However, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i ≦ α). User U B sends epk IDA to user U A.
ユーザUBは、共有秘密情報σ1,σ2,σ3をそれぞれ次のように計算する。 User U B calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.
σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)
σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)
σ2=e(Q0,PA,1)y1
σ2’=e(Q0,PA,1)y2
σ3=(X0)y1
その後、ユーザUBは、セッション鍵K=H(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (X 0 , S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i )
σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ')
σ 2 = e (Q 0 , P A, 1 ) y1
σ 2 '= e (Q 0 , P A, 1 ) y2
σ 3 = (X 0 ) y1
After that, the user U B calculates and outputs the session key K = H (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ). End the session.
3.ユーザUAは、共有秘密情報σ1,σ1’,σ2,σ2’,σ3をそれぞれ次のように計算する。 3. The user U A calculates the shared secret information σ 1 , σ 1 ′, σ 2 , σ 2 ′, and σ 3 as follows.
σ1=e(Q0,PB,1)x1
σ1’=e(Q0,PB,1)x2
σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)
σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)
σ3=(Y0)x1
その後、ユーザUAは、セッション鍵K=H(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (Q 0 , P B, 1 ) x1
σ 1 '= e (Q 0 , P B, 1 ) x2
σ 2 = e (Y 0 , S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i )
σ 2 '= e (Y 0 ', S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i ')
σ 3 = (Y 0 ) x1
After that, the user U A calculates and outputs the session key K = H (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ). End the session.
共有秘密情報には次の関係があるため、ユーザUAが計算した共有秘密情報σ1,σ1’,σ2,σ2’,σ3はそれぞれユーザUBが計算した共有秘密情報σ1,σ1’,σ2,σ2’,σ3と一致する。
Since the shared secret information have the following relationship, the user U A shared secret sigma 1 which has been calculated, σ 1 ', σ 2, σ 2',
σ1=e(P0,Πi=1 βPB,i si-1)x1/Πi=2 βe(P0 si-1,PB,i x1)=Πi=1 βe(P0,PB,i)x1si-1/Πi=2 βe(P0,PB,i)x1si-1=e(Q0,PB,1)x1=e(P0,PB,1)s0x1
σ1’=e(P0,Πi=1 βPB,i si-1)x2/Πi=2 βe(P0 si-1,PB,i x2)=Πi=1 βe(P0,PB,i)x2si-1/Πi=2 βe(P0,PB,i)x2si-1=e(Q0,PB,1)x2=e(P0,PB,1)s0x2
σ2=e(P0,Πi=1 αPA,i si-1)y1/Πi=2 αe(P0 si-1,PA,i y1)=Πi=1 αe(P0,PA,i)y1si-1/Πi=2 αe(P0,PA,i)y1si-1=e(Q0,PA,1)y1=e(P0,PA,1)s0y1
σ2’=e(P0,Πi=1 αPA,i si-1)y2/Πi=2 αe(P0 si-1,PA,i y2)=Πi=1 αe(P0,PA,i)y2si-1/Πi=2 αe(P0,PA,i)y2si-1=e(Q0,PA,1)y2=e(P0,PA,1)s0y2
σ3=(X0)y1=(Y0)x1=P0 x1y1
このようにして、同一の共有情報であるセッション鍵Kが共有される。
σ 1 = e (P 0 , Π i = 1 β P B, i si-1 ) x1 / Π i = 2 β e (P 0 si-1 , P B, i x1 ) = Π i = 1 β e ( P 0 , P B, i ) x1si-1 / Π i = 2 β e (P 0 , P B, i ) x1si-1 = e (Q 0 , P B, 1 ) x1 = e (P 0 , P B , 1 ) s0x1
σ 1 '= e (P 0 , Π i = 1 β P B, i si-1 ) x2 / Π i = 2 β e (P 0 si-1 , P B, i x2 ) = Π i = 1 β e (P 0 , P B, i ) x2si-1 / Π i = 2 β e (P 0 , P B, i ) x2si-1 = e (Q 0 , P B, 1 ) x2 = e (P 0 , P B, 1 ) s0x2
σ 2 = e (P 0 , Π i = 1 α P A, i si-1 ) y1 / Π i = 2 α e (P 0 si-1 , P A, i y1 ) = Π i = 1 α e ( P 0 , P A, i ) y1si-1 / Π i = 2 α e (P 0 , P A, i ) y1si-1 = e (Q 0 , P A, 1 ) y1 = e (P 0 , P A , 1 ) s0y1
σ 2 '= e (P 0 , Π i = 1 α P A, i si-1 ) y2 / Π i = 2 α e (P 0 si-1 , P A, i y2 ) = Π i = 1 α e (P 0 , P A, i ) y2si-1 / Π i = 2 α e (P 0 , P A, i ) y2si-1 = e (Q 0 , P A, 1 ) y2 = e (P 0 , P A, 1 ) s0y2
σ 3 = (X 0 ) y1 = (Y 0 ) x1 = P 0 x1y1
In this way, the session key K which is the same shared information is shared.
[実施形態]
次に、上記[アルゴリズム]の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置UA及び情報共有装置UBから構成される。情報共有装置UAが[アルゴリズム]の欄で説明したユーザUAに対応し、情報共有装置UBが[アルゴリズム]の欄で説明したユーザUBに対応する。情報共有装置UAは図4に例示した処理を行い、情報共有装置UBは図5に例示した処理を行う。
[Embodiment]
Next, an example of an information sharing system that executes the algorithm described in the above [Algorithm] column will be described. The information sharing system, as illustrated in FIG. 1, an information sharing apparatus U A and the information sharing apparatus U B. Information sharing device U A corresponds to the user U A mentioned in the description of the algorithm, the information sharing apparatus U B corresponding to the user U B mentioned in the description of the algorithm. Information sharing apparatus U A performs the processing illustrated in FIG. 4, the information sharing apparatus U B performs the processing illustrated in FIG.
情報共有の前に、[アルゴリズム]の<鍵抽出>の欄で説明した方法により、マスタ秘密鍵s0及びマスタ公開鍵P0=g及びQ0=P0 s0等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。また、情報共有の前に、情報共有装置UA及び情報共有装置UBには、[アルゴリズム]の<鍵抽出>の欄で説明した方法により、ID及び秘密の状態情報及び長期秘密鍵が予め定められ、必要に応じて記憶部10及び記憶部20に記憶されているものとする。これらの記憶部10及び20に記憶されたデータは、適宜読み出されて下記に説明する計算が行われる。
Necessary for information sharing such as master secret key s 0 and master public key P 0 = g and Q 0 = P 0 s0 by the method described in the <Key extraction> column of [Algorithm] before information sharing It is assumed that various parameters are set and stored in the
情報共有装置UAのIDを、IDA=(IDA,1,…,IDA,α)とする。αは正の整数である。このように、IDAはα個のIDAの断片IDA,1,…,IDA,αから構成される。[アルゴリズム]の<鍵抽出>の欄で説明した方法により定められた情報共有装置UAの長期秘密鍵を(SA,α,QA,1,…,QA,α)とする。 The ID of the information sharing apparatus U A, ID A = (ID A, 1, ..., ID A, α) to. α is a positive integer. In this way, ID A is composed of α ID A fragments ID A, 1 ,..., ID A, α . [Algorithm] of the long-term private key column in the information sharing apparatus defined by the method described U A of <key extraction> (S A, α, Q A, 1, ..., Q A, α) to.
情報共有装置UBのIDを、IDB=(IDB,1,…,IDB,β)とする。βは正の整数である。このように、IDBはβ個のIDBの断片IDB,1,…,IDB,βから構成される。[アルゴリズム]の<鍵抽出>の欄で説明した方法により定められた情報共有装置UBの長期秘密鍵を(SB,β,QB,1,…,QB,β)とする。 The ID of the information sharing apparatus U B, ID B = (ID B, 1, ..., ID B, β) to. β is a positive integer. Thus, ID B is composed of β ID B fragments ID B, 1 ,..., ID B, β . [Algorithm] long term private key of the <key extraction> information sharing apparatus as defined by the method described in the column of U B (S B, β, Q B, 1, ..., Q B, β) to.
情報共有装置UA及び情報共有装置UBによる自分より下位の情報共有装置(ユーザ)に対する鍵の抽出、すなわち長期秘密鍵の生成は、それぞれ図2,3の鍵抽出部112,212により行われる。
Information sharing apparatus U A and the information sharing apparatus U B extracted key for the lower information sharing device than their (user) by, i.e. generation of long-term secret key is performed by the
情報共有装置UAは、図2に示すように、記憶部10、短期秘密鍵生成部11、ハッシュ値計算部12、短期公開鍵生成部13、送信部14、受信部15、第一共有秘密情報生成部16、第二共有秘密情報生成部17、第三共有秘密情報生成部18、第四共有秘密情報生成部19、第五共有秘密情報生成部110、共有情報生成部111、鍵抽出部112を例えば含む。
Information sharing apparatus U A, as shown in FIG. 2, the
情報共有装置UBは、図3に示すように、記憶部20、短期秘密鍵生成部21、ハッシュ値計算部22、短期公開鍵生成部23、送信部24、受信部25、第一共有秘密情報生成部26、第二共有秘密情報生成部27、第三共有秘密情報生成部28、第四共有秘密情報生成部29、第五共有秘密情報生成部210、共有情報生成部211、鍵抽出部212を例えば含む。
Information sharing apparatus U B, as shown in FIG. 3, the
情報共有装置UAの短期秘密鍵生成部11(図2)は、短期秘密鍵x~ 1,x~ 2∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵y~ 1,y~ 2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵x~ 1,x~ 2は、ハッシュ値計算部12に送信される。
Short-term secret
情報共有装置UAのハッシュ値計算部12は、短期秘密鍵x~ 1,x~ 2及び長期秘密鍵の中のSA,αを用いて、ハッシュ値x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算する(ステップA2)。ハッシュ値x1は、短期公開鍵生成部13、第一共有秘密情報生成部16、第五共有秘密情報生成部110に送信される。ハッシュ値x2は、短期公開鍵生成部13、第二共有秘密情報生成部17に送信される。
Hash value calculation unit of the information sharing
情報共有装置UAの短期公開鍵生成部13は、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する(ステップA3)。ここで、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)とする。計算された短期公開鍵epkIDBは、送信部14に送信される。
Short-term public
情報共有装置UAの送信部14は、短期公開鍵epkIDBを情報共有装置UAに送信する(ステップA4)。 Transmission unit 14 of the information sharing apparatus U A sends a short public key epk IDB to the information sharing apparatus U A (step A4).
情報共有装置UBの短期秘密鍵生成部21(図3)は、短期秘密鍵y~ 1,y~ 2∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵y~ 1,y~ 2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵y~ 1,y~ 2は、ハッシュ値計算部22に送信される。
Short-term private
情報共有装置UBのハッシュ値計算部22は、短期秘密鍵y~ 1,y~ 2及び長期秘密鍵の中のSB,βを用いて、ハッシュ値y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算する(ステップB2)。ハッシュ値y1は、短期公開鍵生成部23、第三共有秘密情報生成部28、第五共有秘密情報生成部210に送信される。ハッシュ値y2は、短期公開鍵生成部23、第四共有秘密情報生成部29に送信される。
Hash
情報共有装置UBの短期公開鍵生成部23は、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する(ステップB3)。ここで、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)とする。計算された短期公開鍵epkIDAは、送信部24に送信される。
The short-term public
情報共有装置UBの送信部24は、短期公開鍵epkIDAを情報共有装置UBに送信する(ステップB4)。
情報共有装置UBの受信部25は、短期公開鍵epkIDBを情報共有装置UAから受信する(ステップB5)。 Receiving unit 25 of the information sharing apparatus U B receives the short-term public key epk IDB from the information sharing apparatus U A (step B5).
情報共有装置UBの第一共有秘密情報生成部26は、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する(ステップB6)。計算された第一共有秘密情報σ1は、共有情報生成部211に送信される。
First shared secret
情報共有装置UBの第二共有秘密情報生成部27は、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する(ステップB7)。計算された第二共有秘密情報σ1’は、共有情報生成部211に送信される。
The second shared secret
情報共有装置UBの第三共有秘密情報生成部28は、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する(ステップB8)。計算された第三共有秘密情報σ2は、共有情報生成部211に送信される。
Third shared secret
情報共有装置UBの第四共有秘密情報生成部29は、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する(ステップB9)。計算された第四共有秘密情報σ2’は、共有情報生成部211に送信される。
Fourth shared secret
情報共有装置UBの第五共有秘密情報生成部210は、第五秘密情報計算部σ3=(X0)y1を計算する(ステップB10)。計算された第五秘密情報計算部σ3は、共有情報生成部211に送信される。
Fifth shared secret
情報共有装置UBの共有情報生成部211は、H(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報とする(ステップB11)。
Share
情報共有装置UAの受信部15(図2)は、短期公開鍵epkIDAを情報共有装置UAから受信する(ステップA5)。
情報共有装置UAの第一共有秘密情報生成部16は、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する(ステップA6)。計算された第一共有秘密情報σ1は、共有情報生成部111に送信される。
First shared secret
情報共有装置UAの第二共有秘密情報生成部17は、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する(ステップA7)。計算された第二共有秘密情報σ1’は、共有情報生成部111に送信される。
The second shared secret
情報共有装置UAの第三共有秘密情報生成部18は、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)(ステップA8)。計算された第三共有秘密情報σ2は、共有情報生成部111に送信される。
Third shared secret
情報共有装置UAの第四共有秘密情報生成部19は、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する(ステップA9)。計算された第四共有秘密情報σ2’は、共有情報生成部111に送信される。
Fourth shared secret
情報共有装置UAの第五共有秘密情報生成部110は、第五秘密情報計算部σ3=(Y0)x1を計算する(ステップA10)。計算された第五秘密情報計算部σ3は、共有情報生成部111に送信される。
Fifth shared secret
情報共有装置UAの共有情報生成部111は、H(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報とする(ステップA11)。この共有情報は、例えば認証鍵として用いられる。
Share
このようにして、情報共有が行われる。 In this way, information sharing is performed.
[変形例等]
情報共有装置UAの各部間のデータのやり取りは直接行われてもよいし、記憶部10を介して行われてもよい。同様に、情報共有装置UBの各部間のデータのやり取りは直接行われてもよいし、記憶部20を介して行われてもよい。
[Modifications, etc.]
Exchange of data between each part of the information sharing apparatus U A is may be performed directly or may be performed via the
上記の例では、共有情報生成部111及び共有情報生成部211は、ハッシュ関数Hを用いたが、任意の予め定められた関数Fを用いて共有情報を求めてもよい。すなわち、共有情報生成部111及び共有情報生成部211は、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報としてもよい。
In the above example, the shared
その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。 In addition, the present invention is not limited to the above-described embodiment. For example, 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.
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。 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.
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。 Needless to say, other modifications are possible without departing from the spirit of the present invention.
[安全性の証明]
このように、短期秘密鍵を二重化し、共有情報を計算するための共有秘密情報であって短期秘密鍵に由来する共有秘密情報を短期秘密鍵ごとに計算する。これにより、ギャップ問題の難しさを仮定することなく探索問題の難しさをのみを仮定することで安全性を証明することができる。以下、その安全性の証明の概要を説明する。
[Proof of safety]
In this way, the short-term secret key is duplicated, and the shared secret information for calculating the shared information and derived from the short-term secret key is calculated for each short-term secret key. Thus, it is possible to prove the safety by assuming only the difficulty of the search problem without assuming the difficulty of the gap problem. The outline of the safety proof will be described below.
まず、探索問題(探索双線形Diffie-Hellman問題)及びギャップ問題(ギャップ双線形Diffie-Hellman問題)の定義を説明する。 First, definitions of a search problem (search bilinear Diffie-Hellman problem) and a gap problem (gap bilinear Diffie-Hellman problem) will be described.
探索双線形Diffie-Hellman問題:κをセキュリティパラメータとし、Pをκビット素数とする。Gをgを生成元とする位数pの巡回群とし、GTをgTを生成元とする巡回群とする。e:G×G→GTを双線形写像とする。双線形Diffie-Hellman関数BDH:G3→GTをBDH(gu,gv,gw)=gT uvwとして定義する。解答者Sは一様ランダムに選ばれたU=gu,V=gv,W=gw,∈Gを入力され、BDH(U,V,W)の出力を試みる。解答者Sのアドバンテージを次のように定義する。 Search Bilinear Diffie-Hellman Problem: Let κ be a security parameter and P be a κ-bit prime. Let G be a cyclic group of order p with g as the generator, and G T be a cyclic group with g T as the generator. e: G × G → G T is a bilinear map. The bilinear Diffie-Hellman function BDH: G 3 → G T is defined as BDH (g u , g v , g w ) = g T uvw . The solver S receives U = g u , V = g v , W = g w , and ∈ G, which are uniformly selected at random, and tries to output BDH (U, V, W). The advantage of solver S is defined as follows:
ADVBDH(S)=Pr[U,V,W∈G,S(g,gT,U,V,)=BDH(U; V;W)]
ADVBDH(S)が無視できない確率であるとき、解答者Sは探索双線形Diffie-Hellman 問題を解いたという。
ADV BDH (S) = Pr [U, V, W∈G, S (g, g T , U, V,) = BDH (U; V; W)]
When ADV BDH (S) has a non-negligible probability, solver S is said to have solved the search bilinear Diffie-Hellman problem.
ギャップ双線形Diffie-Hellman 問題:κをセキュリティパラメータとし、pをκビット素数とする。Gをgを生成元とする位数pの巡回群とし、GTをgTを生成元とする巡回群とする。e:G×G→GTを双線形写像とする。双線形Diffie-Hellman関数BDH:G3→GTをBDH(gu,gv,gw)=gT uvwとして定義し、判定双線形Diffie-Hellman述語オラクルDBDH:G3×GT→{0,1}を(gu,gv,gw,gT r)を入力としuvw=r mod pが成り立つとき1を出力し、そうでなければ0を出力する関数として定義する。解答者Sは一様ランダムに選ばれたU=gu,V=gv,W=gw∈Gと判定双線形Diffie-Hellman 述語オラクルDBDH(・,・,・,・)へのアクセスを入力され、BDH(U,V,W)の出力を試みる。解答者Sのアドバンテージを次のように定義する。
Gap bilinear Diffie-Hellman Problem: Let κ be a security parameter and p be a κ-bit prime. Let G be a cyclic group of order p with g as the generator, and G T be a cyclic group with g T as the generator. e: G × G → G T is a bilinear map. Bilinear Diffie-Hellman function BDH: G 3 → G T is defined as BDH (g u , g v , g w ) = g T uvw and decision bilinear Diffie-Hellman predicate Oracle DBDH: G 3 × G T → { 0,1} is defined as a function that inputs (g u , g v , g w , g T r ) and outputs 1 when uvw = r mod p holds, and
ADVGBDH(S)=Pr[U,V,W∈G,SDBDH(・,・,・,・)(g,U,V,W)=BDH(U,V,W)]
ADVGBDH(S)が無視できない確率であるとき、解答者Sはギャップ双線形Diffie-Hellman問題を解いたという。
ADV GBDH (S) = Pr [U, V, W∈G, S DBDH (・, ・, ・, ・) (g, U, V, W) = BDH (U, V, W)]
When ADV GBDH (S) has a non-negligible probability, solver S is said to have solved the gap bilinear Diffie-Hellman problem.
ギャップ問題は上記のように判定オラクルのヒント付きの探索問題とみなせるので、ギャップ問題の方が真に易しい。 Since the gap problem can be regarded as a search problem with a hint of judgment oracle as described above, the gap problem is really easier.
情報共有方式の安全性証明を行う際は、「ギャップ問題、もしくは探索問題を解くことが難しいことを仮定すると、情報共有方式への攻撃者が存在しない」ことを示す必要がある。これは、対偶を取ることにより、「情報共有方式への攻撃者が存在すると仮定すると、問題を解く解答者を構成できる」ことを示すことと同値である。したがって、安全性証明では実際に攻撃者から解答者を構成する必要がある。そのためには解答者は攻撃者を実際の攻撃環境と見分けがつかないように動作させなければならない。 When performing the security proof of the information sharing method, it is necessary to indicate that "there is no attacker to the information sharing method assuming that it is difficult to solve the gap problem or the search problem". This is equivalent to showing that by taking an even number, "assuming that there is an attacker to the information sharing method, an answerer who can solve the problem can be constructed". Therefore, in the security proof, it is necessary to actually configure the answerer from the attacker. In order to do so, the respondent must operate the attacker in a way that is indistinguishable from the actual attack environment.
既存方式では、攻撃者が出力したσ1に対してσ1=e(PB,1,Q0)xとσ2=e(PA,1,Q0)yを解答者が検証し、結果に応じて動作を変えねばならない。しかし、解答者はxとyを知ることができないので、自分で上記の検証を行うことができない。よって、判定オラクルに(PB,1,Q0,X,σ1)と(PA,1,Q0,Y,σ2)を聞き、検証式が成り立つかどうかの答えをもらうことによって証明を行う。このためギャップ問題の難しさを仮定する必要がある。上記の情報共有方式では、双線形ペアリング関数を用いた方式の場合は、w2=s-rw1に対してZ1 rZ2=e(X,Y)sの真理値がZ1=e(X,Y)w1∧Z2=e(X,Y)w2の真理値と一致することを利用して検証を行う。このテクニックは落とし戸試験と呼ばれる。実施例では、任意のsとrについて、解答者は証明中でx2=s-rx1,y2=s’-r’y1と設定することでσ1 rσ1’=e(PB,1,Q0)sとσ2 r’σ2’=e(PA,1,Q0)s’の落とし戸試験を行うことで、σ1=e(PB,1,Q0)x1,σ1’=e(PB,1,Q0)x2,σ2=e(PA,1,Q0)y1,σ2’=e(PA,1,Q0)y2の検証をy1とx1を知ること無しに行うことができる。σ1 rσ1’=e(PB,1,Q0)sとσ2 r’σ2’=e(PA,1,Q0)s’は解答者の持つ情報のみで検証できるため、判定オラクルは不要であり、ギャップ問題の難しさを仮定する必要が無くなる。 In existing schemes, sigma 1 = e respect sigma 1 an attacker output (P B, 1, Q 0 ) x and σ 2 = e (P A, 1, Q 0) y the respondent verified, The operation must be changed according to the result. However, since the answerer cannot know x and y, he cannot perform the above verification by himself. Therefore, it is proved by hearing (P B, 1 , Q 0 , X, σ 1 ) and (P A, 1 , Q 0 , Y, σ 2 ) from the judgment oracle, and getting an answer as to whether the verification equation holds. I do. For this reason, it is necessary to assume the difficulty of the gap problem. In the above information sharing method, in the case of method using a bilinear pairing function, w 2 = Z 1 r Z 2 with respect to = s-rw 1 e (X , Y) truth value of s is Z 1 = e (X, Y) w1 ∧Z 2 = e (X, Y) Verify by using the fact that it matches the truth value of w2 . This technique is called the trapdoor test. In the example, for any s and r, the solver sets σ 1 r σ 1 '= e (P in the proof by setting x 2 = s-rx 1 , y 2 = s'-r'y 1 B, 1, Q 0) s and σ 2 r 'σ 2' = e (P a, 1, Q 0) by performing a trapdoor test s', σ 1 = e ( P B, 1, Q 0 ) x1 , σ 1 '= e (P B, 1 , Q 0 ) x2 , σ 2 = e (P A, 1 , Q 0 ) y1 , σ 2 ' = e (P A, 1 , Q 0 ) y2 Verification can be done without knowing y 1 and x 1 . σ 1 r σ 1 '= e (P B, 1 , Q 0 ) s and σ 2 r ' σ 2 '= e (P A, 1 , Q 0 ) s' can be verified only with the information held by the answerer The determination oracle is unnecessary, and it is not necessary to assume the difficulty of the gap problem.
10 記憶部
11 短期秘密鍵生成部
12 ハッシュ値計算部
13 短期公開鍵生成部
14 送信部
15 受信部
16 第一共有秘密情報生成部
17 第二共有秘密情報生成部
18 第三共有秘密情報生成部
19 第四共有秘密情報生成部
110 第五共有秘密情報生成部
111 共有情報生成部
112 鍵抽出部
20 記憶部
21 短期秘密鍵生成部
22 ハッシュ値計算部
23 短期公開鍵生成部
24 送信部
25 受信部
26 第一共有秘密情報生成部
27 第二共有秘密情報生成部
28 第三共有秘密情報生成部
29 第四共有秘密情報生成部
210 第五共有秘密情報生成部
211 共有情報生成部
212 鍵抽出部
10
Claims (6)
短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDBを情報共有装置UBに送信する送信部と、短期公開鍵epkIDAを上記情報共有装置UBから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UAと、
短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDAを上記情報共有装置UAに送信する送信部と、短期公開鍵epkIDBを上記情報共有装置UAから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UBと、
を含む情報共有システム。 PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys x ~ 1 , x ~ 2 ∈Z p , and x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ) and a hash value calculation unit for calculating P B, i = H 1 (ID B, 1 , ..., ID B, i ) (1 ≦ i ≦ β) and short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 ,… , X B, β '= P B, β x2) and short-term public key generation unit for calculating a transmission section that transmits the short-term public key epk IDB to the information sharing apparatus U B, short public key epk IDA said information a receiver for receiving from the shared device U B, the first shared secret σ 1 = e (Q 0, P B, 1) and the first shared secret information calculation unit for calculating a x1, a second shared secret sigma 1 ′ = e (Q 0 , P B, 1 ) x2 second shared secret information calculation unit and third shared secret information σ 2 = e (Y 0 , S A, α ) / Π i = 2 α Third shared secret information calculation unit for calculating e (Q A, i-1 , Y A, i ), and fourth shared secret information σ 2 ′ = e (Y 0 ′, S A, α ) / Π i = 2 α e (Q a, i -1, Y a, i ') a A fourth shared secret calculation unit for calculation, a fifth secret information calculation unit for calculating a fifth secret information calculation section σ 3 = (Y 0) x1 , F (σ 1, σ 1 ', σ 2, σ 2 ', and σ 3, PID, ID a, ID B, epk IDB, information sharing device including the shared information generation unit for calculating a epk IDA), the U a,
A short-term secret key generator for generating short-term secret keys y ~ 1 , y ~ 2 ∈Z p , and y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ) and a hash value calculation unit for calculating P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α), short-term public key epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y a, α '= P a, a short-term public key generation unit for calculating the alpha y2), and a transmission unit for transmitting the short-term public key epk IDA in the information sharing apparatus U a, a short-term public key epk IDB above a receiver for receiving from the information sharing apparatus U A, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i ) And a second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ′), a second shared secret information calculation unit that calculates third shared secret information σ 2 = e (Q 0 , P A, 1 ) y1 , a fourth shared secret information calculation unit, Shared secret information σ 2 '= e (Q 0 , P A, 1 ) y A fourth shared secret information calculation unit for calculating 2 , a fifth secret information calculation unit σ 3 = (X 0 ) y1 , a F (σ 1 , σ 1 ', σ 2 , sigma 2 ', and σ 3, PID, ID a, ID B, epk IDB, epk IDA) information sharing apparatus U B; and a shared information generating unit for calculating a,
Information sharing system.
所定の正の整数をセキュリティパラメータkとして、
上記関数Fは、ハッシュ関数H:{0,1}*→{0,1}である、
情報共有システム。 The information sharing system according to claim 1,
A predetermined positive integer as a security parameter k,
The function F is a hash function H: {0,1} * → {0,1}.
Information sharing system.
情報共有装置UAの短期秘密鍵生成部が、短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成ステップと、
情報共有装置UAのハッシュ値計算部が、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算ステップと、
情報共有装置UAの短期公開鍵生成部が、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成ステップと、
情報共有装置UAの送信部が、上記短期公開鍵epkIDBを情報共有装置UBに送信する送信ステップと、
情報共有装置UBの短期秘密鍵生成部が、短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成ステップと、
情報共有装置UBのハッシュ値計算部が、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算ステップと、
情報共有装置UBの短期公開鍵生成部が、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成ステップと、
情報共有装置UBの送信部が、上記短期公開鍵epkIDAを上記情報共有装置UAに送信する送信ステップと、
情報共有装置UBの受信部が、短期公開鍵epkIDBを上記情報共有装置UAから受信する受信ステップと、
情報共有装置UBの第一共有秘密情報計算部が、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算ステップと、
情報共有装置UBの第二共有秘密情報計算部が、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算ステップと、
情報共有装置UBの第三共有秘密情報計算部が、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算ステップと、
情報共有装置UBの第四共有秘密情報計算部が、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算ステップと、
情報共有装置UBの第五共有秘密情報計算部が、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算ステップと、
情報共有装置UBの共有情報生成部が、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成ステップと、
情報共有装置UAの受信部が、短期公開鍵epkIDAを上記情報共有装置UBから受信する受信ステップと、
情報共有装置UAの第一共有秘密情報計算部が、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算ステップと、
情報共有装置UAの第二共有秘密情報計算部が、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算ステップと、
情報共有装置UAの第三共有秘密情報計算部が、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算ステップと、
情報共有装置UAの第四共有秘密情報計算部が、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算ステップと、
情報共有装置UAの第五共有秘密情報計算部が、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算ステップと、
情報共有装置UAの共有情報生成部が、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成ステップと、
を含む情報共有方法。 PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generation unit in which a short-term secret key generation unit of the information sharing apparatus UA generates short-term secret keys x ~ 1 , x ~ 2 ∈Z p ;
Hash value calculation unit of the information sharing apparatus U A is, x 1 = H 2 (S A, α, x ~ 1) and x 2 = H 2 (S A , α, x ~ 2) hash value calculation step of calculating the When,
Short-term public key generation unit of the information sharing apparatus U A is, P B, i = H 1 (ID B, 1, ..., ID B, i) (1 ≦ i ≦ β) short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 ,… , X B, β '= P B, β x2 )
Transmission of the information sharing apparatus U A is a transmission step of transmitting the short-term public key epk IDB to the information sharing apparatus U B,
Short-term private key generating unit of the information sharing apparatus U B is a short-term private key generation step of generating a short-term private key y ~ 1, y ~ 2 ∈Z p,
Hash value calculation unit of the information sharing apparatus U B is, y 1 = H 2 (S B, β, y ~ 1) and y 2 = H 2 (S B , β, y ~ 2) hash value calculation step of calculating the When,
Short-term public key generation unit of the information sharing apparatus U B is, P A, i = H 1 (ID A, 1, ..., ID A, i) Short-term public key as (1 ≦ i ≦ α) epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y A, α '= P A, α y2 )
Transmission of the information sharing apparatus U B is a transmission step of transmitting the short-term public key epk IDA in the information sharing apparatus U A,
Receiver of the information sharing apparatus U B is a receiving step of receiving short-term public key epk IDB from the information sharing device U A,
First shared secret information calculation unit of the information sharing apparatus U B is first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i ) calculating first shared secret information step;
The second shared secret information calculation unit of the information sharing apparatus U B performs the second shared secret information σ 1 ′ = e (X 0 ′, S B, β ) / Π i = 2 β e (Q B, i−1 , A second shared secret calculation step for calculating X B, i '),
Third shared secret information calculation unit of the information sharing apparatus U B is a third shared secret calculation step of calculating a third shared secret σ 2 = e (Q 0, P A, 1) y1,
Fourth shared secret information calculation unit of the information sharing apparatus U B is a fourth shared secret calculation step of calculating a fourth shared secret σ 2 '= e (Q 0 , P A, 1) y2,
Fifth shared secret information calculation unit of the information sharing apparatus U B is a fifth secret information calculating step of calculating a fifth secret information calculation section σ 3 = (X 0) y1 ,
Shared information generating unit of the information sharing apparatus U B is, shared information to compute F (σ 1, σ 1 ' , σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to Generation step;
Receiver of the information sharing apparatus U A is a receiving step of receiving short-term public key epk IDA from the information sharing device U B,
A first shared secret information calculation step in which the first shared secret information calculation unit of the information sharing device UA calculates the first shared secret information σ 1 = e (Q 0 , P B, 1 ) x 1 ;
A second shared secret information calculation step in which the second shared secret information calculation unit of the information sharing apparatus UA calculates the second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x 2 ;
Third shared secret information calculation unit of the information sharing apparatus U A is the third shared secret σ 2 = e (Y 0, S A, α) / Π i = 2 α e (Q A, i-1, Y A , i ) calculating a third shared secret information step;
Fourth shared secret information calculation unit of the information sharing apparatus U A is the fourth shared secret σ 2 '= e (Y 0 ', S A, α) / Π i = 2 α e (Q A, i-1, A fourth shared secret calculation step for calculating Y A, i ');
A fifth secret information calculation step in which a fifth shared secret information calculation unit of the information sharing apparatus UA calculates a fifth secret information calculation unit σ 3 = (Y 0 ) x 1 ;
Shared information generating unit of the information sharing apparatus U A is, shared information to compute F (σ 1, σ 1 ' , σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to Generation step;
Information sharing method.
短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、
x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDBを情報共有装置UBに送信する送信部と、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)(PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)を上記情報共有装置UBから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UAである情報共有装置。 PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys x ~ 1 and x ~ 2 ∈Z p ;
A hash value calculator that calculates x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ), and P B, i = H 1 (ID B , 1 , ..., ID B, i ) (1≤i≤β) as short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 , ..., X B, β = (P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ) a transmission unit for transmitting the short-term public key epk IDB to the information sharing apparatus U B, short public key epk IDA = (Y 0 = P 0 y1, Y a, 2 = P a, 2 y1, ..., Y a, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,…, Y A, α '= P A, α y2 ) (P A, i = H 1 ( ID a, 1, ..., ID a, i) (1 a ≦ i ≦ α) a receiver for receiving from the information sharing device U B, the first shared secret σ 1 = e (Q 0, P B, 1 ) a first shared secret information calculation unit for calculating x1 , a second shared secret information calculation unit for calculating second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x2 , and a third shared secret σ 2 = e (Y 0, S a, α) and the third shared secret calculation unit for calculating a / Π i = 2 α e ( Q a, i-1, Y a, i), the Shared secret σ 2 '= e (Y 0 ' and, S A, α) / Π i = 2 α e (Q A, i-1, Y A, i ') a fourth shared secret calculation unit for calculating a , The fifth secret information calculation unit σ 3 = (Y 0 ) x1 and F (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B, epk IDB, the information sharing apparatus which is information sharing apparatus U a including the shared information generation unit for calculating a epk IDA), the.
短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDAを上記情報共有装置UAに送信する送信部と、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)(PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β))を上記情報共有装置UAから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ1,σ1’,σ2,σ2’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置UBである情報共有装置。 PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys y ~ 1 , y ~ 2 ∈Z p , and y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ) and a hash value calculation unit for calculating P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α), short-term public key epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y a, α '= P a, α y2) and short-term public key generation unit for calculating a transmission section that transmits the short-term public key epk IDA in the information sharing apparatus U a, short-term public key epk IDB = ( X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ) (P B, i = H 1 (ID B, 1 , ..., ID B, i ) (1 ≦ i ≦ β)) calculating a reception unit which receives from a, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i) the The first shared secret information calculation unit and the second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ' ) Calculate second shared secret information A Department, third shared secret σ 2 = e (Q 0, P A, 1) and the third shared secret calculation unit for calculating a y1, fourth shared secret σ 2 '= e (Q 0 , P A , 1 ) a fourth shared secret information calculation unit for calculating y2 , a fifth secret information calculation unit σ 3 = (X 0 ) y1 , a fifth secret information calculation unit for calculating y2 , and F (σ 1 , σ 1 ', σ 2, σ 2 ', σ 3, PID, ID a, ID B, epk IDB, the information sharing apparatus which is information sharing apparatus U B including the shared information generation unit for calculating a epk IDA), the.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011109490A JP5512598B2 (en) | 2011-05-16 | 2011-05-16 | Information sharing system, method, apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011109490A JP5512598B2 (en) | 2011-05-16 | 2011-05-16 | Information sharing system, method, apparatus and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012244232A true JP2012244232A (en) | 2012-12-10 |
JP5512598B2 JP5512598B2 (en) | 2014-06-04 |
Family
ID=47465510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011109490A Active JP5512598B2 (en) | 2011-05-16 | 2011-05-16 | Information sharing system, method, apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5512598B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220669A (en) * | 2013-05-09 | 2014-11-20 | 日本電信電話株式会社 | Key exchange system, key generation device, communication device, key exchange method, and program |
CN113242125A (en) * | 2021-05-17 | 2021-08-10 | 长沙理工大学 | Verifiable multi-secret sharing scheme of general access structure based on bilinear mapping |
JP2022037089A (en) * | 2016-02-23 | 2022-03-08 | エヌチェーン ホールディングス リミテッド | Cryptographic method and system for secure extraction of data from blockchain |
-
2011
- 2011-05-16 JP JP2011109490A patent/JP5512598B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220669A (en) * | 2013-05-09 | 2014-11-20 | 日本電信電話株式会社 | Key exchange system, key generation device, communication device, key exchange method, and program |
JP2022037089A (en) * | 2016-02-23 | 2022-03-08 | エヌチェーン ホールディングス リミテッド | Cryptographic method and system for secure extraction of data from blockchain |
JP7292365B2 (en) | 2016-02-23 | 2023-06-16 | エヌチェーン ライセンシング アーゲー | Cryptographic methods and systems for secure extraction of data from blockchains |
CN113242125A (en) * | 2021-05-17 | 2021-08-10 | 长沙理工大学 | Verifiable multi-secret sharing scheme of general access structure based on bilinear mapping |
Also Published As
Publication number | Publication date |
---|---|
JP5512598B2 (en) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12028454B2 (en) | Multi-party threshold authenticated encryption | |
CN103563288B (en) | Single-round password-based key exchange protocols | |
WO2013031414A1 (en) | Signature verification device, signature verification method, program, and recording medium | |
EP3791533A1 (en) | Password based threshold token generation | |
US7007164B1 (en) | Method and array for authenticating a first instance and a second instance | |
US9037623B2 (en) | Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor | |
JP6950745B2 (en) | Key exchange device, key exchange system, key exchange method, and key exchange program | |
CN111159745B (en) | Verification method and device suitable for block chain | |
CN107294696B (en) | Method for distributing full homomorphic keys for Leveled | |
WO2013031555A1 (en) | Information processing device, signature generation device, information processing method, signature generation method, and program | |
JP4869824B2 (en) | Receiver device, sender device, cryptographic communication system, and program | |
EP3232603B1 (en) | Key-exchange method, key-exchange system, terminal device, and program | |
Tbatou et al. | A New Mutuel Kerberos Authentication Protocol for Distributed Systems. | |
TWI511517B (en) | Information processing apparatus, information processing method, program and recording medium | |
KR20210063378A (en) | Computer-implemented systems and methods that share common secrets | |
Battagliola et al. | Threshold ecdsa with an offline recovery party | |
JP2007114494A (en) | Secrecy computing method and device | |
Irshad et al. | A low-cost privacy preserving user access in mobile edge computing framework | |
JP5512598B2 (en) | Information sharing system, method, apparatus and program | |
JP5512601B2 (en) | Information sharing system, method, apparatus and program | |
Qiao et al. | An Anonymous and Efficient Certificate-Based Identity Authentication Protocol for VANET | |
JP5931795B2 (en) | KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM | |
Chen et al. | Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains | |
JP6267657B2 (en) | Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program | |
Krzywiecki et al. | Deniable key establishment resistance against eKCI attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140307 |
|
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: 20140318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5512598 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |