• 沒有找到結果。

,...,

), , ( , ,

( ( ) ( )

) ( 1

1) (

1 iz z

jz i

j t rf t

r rf

r me g h g g

g

S ρ

For decryption, a non-revoked user finds an appropriate subset

j jt

Si, in the header and applies the Lagrange interpolation to compute the session key m.

We note that the private key size is still O(logn)and paring computing is reduced to 1 time.

4.4The PK-LSD-PI scheme

We can construct the PK-LSD-PI scheme in the simialar way. The numbers of public and private keys are O(1) and O(log1+ε n), respectively , for any constant 0<ε <1. The header size O(r/ε), which is O(r) for constant ε . The decryption cost is again

) 1 ( O

Chapter5

Security Analysis

5.1The BE-PI scheme

We show that BE-PI scheme is fully collusion-resistant. No matter how many revoked users collude, they cannot compute the session key m. We show that it is one way secure (without decryption queries). The definition of one-wayness security is similar to the indistinguishability security except that the adversary, who controls the set U \ S* of revoked users, is required to compute the session key m from the challenge )Hdr*(S*,m , where S is chosen by the adversary in advance. Later, we * shall how to achieve the IND-CCA security. Let qH be the number of queries to hash function H by the collusion of the revoked users.

Theorem 1. Assume that the CBDH problem is (t11)−hard . For any

log2n

0≤α ≤ , if the number of revoked user is no more than L=2α, any collusion of them cannot decrypt the header to obtain the session key with probability ε =ε', time bound t =t1t' and qH hash oracles under the random oracle model, where

'

t is polynomially bounded and qHt.

Proof. We reduce the CBDH problem to the problem of computing the session key from the header by the revoked users. Since the polynomials =

L= =

j

j i j

i a x

f 0

) (

0 and secret shares of users for the polynomials are independent for different i’s. We simply discuss security for a particular α . For notation simplicity in the proof, we drop the super index (α) from ai(α). Without loss of generality , let R={U1,U2,...,UL} be the set of revoked users and S* =U \R. Note that S was chosen by the adversary in *

advance. Let the input of the CBDH problem be (g,ga,gb,gc), where the paring function is implicitly known. We set the parameters of decrypting header as follows:

1. Randomly select η123,w1,w2,...,wLZq. 2. Set the public key of the system:

i. Let the input g be the generator g in the system.

ii. Set fα(i)=wi,1≤iL. iii. Let ga0 =gfα(0) =ga+η1.

iv. Compute g ,ai 1≤iL, from ga0 and gf(j) = gwj,1≤ jL. This can be done by the Lagrange interpolation method over exponents.

v. Set gρ = gb+η2

3. Set the secret key gρfα(i) of the revoked user U ,i 1≤iL,as follows:

i. Compute gρfα(i) =(gb)wi 4. Set the header

L r r f

r f r f

f r

g g e g

g e g

g e i g g

g e

mˆ( , ) , ,( ,ˆ( , ) ,ˆ( , ) ,...,ˆ( , ) ,

ρ α(0) 1 ρ α(1) ρ α(2) ρ α( ) as

follows:

i. Let gr = gc+η3

ii. Compute eˆ(gρ,gfα(i))r =eˆ(gρ,gr)fα(i) =eˆ(gb+η2,gc+η3)wi,1≤iL iii. Randomly select yG1 and set me(gρ,gfα(0))r = y. We do not

know what m is. But, this does not matter.

Assume that the revoked users together can compute the session key m. During computation the users can query hash oracles H(.). If the query is of the right form

)

||

||

"

||"

(ID f j

H α , we set them to be g . If the query has ever been asked, we return aj the stored hash value for the query. For other non-queried inputs, we return random values in G . q

We should check whether the distributions of the parameters in our reduction and those

in the system are equal. Since η1,w1,w2,...,wL are randomly chosen, g ,ai 0≤iL are distributed uniformly over GqL+1, which is again the same as that of corresponding system parameters. The distributions of g in the header and r g in the public key ρ are both uniform over G . They are the same as the distributions of the system setting. q Even thought we don’t known about m. We can check that they are all computed correctly. So, the reduction preserve the right distribution.

If the revoked users compute m from the header with probability ε , we can solve the CBDH problem with probability ε1 =ε by computing the following:

(3)

Let t' be the time for this reduction and the solution computation in Equation (3). We can see that t' is polynomial bounded. Thus, if the collusion attack of the revoked users takes t1t' time, we can solve CBDH problem within time t1.

Since each query takes a constant time, qH cannot exceed runtime t. This complete the proof.

5.2The PK-SD-PI scheme

The proof of PK-SD-PI scheme is similart to BE-PI scheme. In PK-SD-PI scheme all polynomial fj(i)(x) are degree one. Let the CBDH problem input values

2. All polynomials are degree 1. We can compute all values of fj(i)(x). 3. Set gρ = gb+η2. It is equal to above setting.

4. Assign secret shares ( ) ( ) ( ), ( 2),....

) ( 1 ) ( 1

) (

u i j u i j u

i

j U a f U f U

f g g

gρ = ρ to Uu ∈ . R

5. Let H(ID||"f"||i|| j||0)= gwi,j,0 = gai,j,0 H(ID||"f"||i|| j||1)= gwi,j,1 =gai,j,1.

For polynomial fj('i')(x)which secret shares are assigned to less than two revoked user.

The setting is similar to 5.1 . We choose random numbers ηi,'j,'1,wi,'j,'u and set

0 , , )

' (

'i (0) i j

j a

f = +η

(a is unknown value)

u j i i

j u w

f('')( )= ,' ,'

, H(ID||"f"||i'|| j'||0)=ga+ηi',j',1 , H(ID||"f"||i|| j||1)= gai,j,1 . Where gai,j,1 is computed from (0) ( )

) ' (

' ) ' (

' , f u

fji ji

g

g .When we send the challenge message to set S\R . For each subset Si,t, S only appear one time and revoked users under i subtree S were all contained in subtree i S . Such that all users in R has only one t share fj(i)(t) over function fj(i)(x). By the proof of 5.1, if adversary can compute m from any header of subset Si,t. We can solve the CBDH problem.

5.3The BE-PI-2 scheme

The proof of BE-PI-2 scheme is also based on CBDH problem. Let the input of the CBDH problem be (g,ga,gb,gc), where the paring function is implicitly known.

We set the parameters of decrypting header as follows:

1. Randomly select τ,κ,μ12,...,μL,w1,w2,...,wLZq. 2. Set the public key of the system:

i. Let the input g be the generator g in the system.

ii. Set fα(i)=wi,1≤iL. iii. Let ga0 =gfα(0) = ga+τ.

iv. Compute g ,ai 1≤iL, from ga0 and gf(j) = gwj,1≤ jL. This can be done by the Lagrange interpolation method over exponents.

v. Set hα =gbgκ = gb+κ vi. Set gρ = ga

3. Set the secret key (gri,grifα(i),grifα(0)hαa) of the revoked user U ,i 1≤iL,as follows:

i. Let gri = gbgμi = gb+μi

ii. Compute grifα(i) =(gri)wi,1≤iL

iii. Compute grifα(0)hαρ = g(b+μi)(a+κ)(gb+κ)a =(gb)κga(μ+κ)gμκ

4. Set the header

)) ,

( ),..., ,

2 ( ), ,

1 ( , ) , ˆ( , ,

(

α

gr me gρ hα r grfα(1) grfα(2) L grfα(L) as follows:

i. Let gr = gc

ii. Compute grfα(i) =(gc)wi,1≤iL

iii. Randomly select yG1 and set meˆ(gρ,hα)r = y. We do not know what m is. But, this does not matter.

If the revoked user compute m from the header with probability ε , we can solve the 2 CBDH problem with probability ε2'=ε2 by the computing the following:

g abc

g e m

y1 = ˆ( , )

相關文件