Beruflich Dokumente
Kultur Dokumente
X, XXXX 201X
I NTRODUCTION
Boyang Wang and Hui Li are with the State Key Laboratory of Integrated
Service Networks, Xidian University, Xian, Shaanxi, 710071, China. Email: bywang@mail.xidian.edu.cn; lihui@mail.xidian.edu.cn.
Baochun Li is with the Department of Electrical and Computer Engineering, University of Toronto, Toronto, ON, M5S 3G4, Canada. E-mail:
bli@eecg.toronto.edu.
This work is supported by the NSF of China (No. 61272457 and
61170251), Fundamental Research Funds for the Central Universities (No.
K50511010001), National 111 Program (No. B08038), Doctoral Foundation of Ministry of Education of China (No. 20100203110002), Program
for Changjiang Scholars and Innovative Research Team in University
(PCSIRT 1078).
Most part of this work was done at University of Toronto. A preliminary
version [1] of this paper is in Proceedings of the 32nd IEEE International
Conference on Computer Communications (IEEE INFOCOM 2013).
Cloud
A A A A A B A B B B
Alice
Cloud
A A A A A A A A A A
Cloud
A A A A A A A A A A
1. Download blocks
2. Verify blocks
3. Re-compute signatures
4. Upload signatures
After Bob is revoked
Fig. 1. Alice and Bob share data in the cloud. When Bob
is revoked, Alice re-signs the blocks that were previously
signed by Bob with her private key.
Clearly, if the cloud could possess each users private
key, it can easily finish the re-signing task for existing
users without asking them to download and re-sign
blocks. However, since the cloud is not in the same
trusted domain with each user in the group, outsourcing
every users private key to the cloud would introduce
significant security issues. Another important problem
we need to consider is that the re-computation of any
signature during user revocation should not affect the
most attractive property of public auditing auditing data integrity publicly without retrieving the entire
data. Therefore, how to efficiently reduce the significant
burden to existing users introduced by user revocation,
and still allow a public verifier to check the integrity of
shared data without downloading the entire data from
the cloud, is a challenging task.
In this paper, we propose Panda, a novel public auditing mechanism for the integrity of shared data with
efficient user revocation in the cloud. In our mechanism,
by utilizing the idea of proxy re-signatures [17], once a
user in the group is revoked, the cloud is able to resign the blocks, which were signed by the revoked user,
with a re-signing key (as presented in Fig. 2). As a result,
the efficiency of user revocation can be significantly improved, and computation and communication resources
of existing users can be easily saved. Meanwhile, the
cloud, who is not in the same trusted domain with each
user, is only able to convert a signature of the revoked
user into a signature of an existing user on the same
block, but it cannot sign arbitrary blocks on behalf of
either the revoked user or an existing user. By designing
a new proxy re-signature scheme with nice properties
(described in Section 4), which traditional proxy resignatures do no have, our mechanism is always able
to check the integrity of shared data without retrieving
the entire data from the cloud.
Moreover, our proposed mechanism is scalable, which
P ROBLEM S TATEMENT
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
Public Verifier
1. C
hal
2. R
esp
len
ge
Cloud
on
se
Data M
m1 m 2
......
mn
1 2
......
Users
Signatures
P RELIMINARIES
In this section, we briefly introduce some preliminaries, including bilinear maps, security assumptions,
homomorphic authenticators and proxy re-signatures.
3.1 Bilinear Maps
Let G1 and G2 be two multiplicative cyclic groups of
prime order p, g be a generator of G1 . Bilinear map e is
a map e: G1 G1 G2 with the following properties:
1) Computability: there exists an efficient algorithm for
computing map e. 2) Bilinearity: for all u, v G1 and
a, b Zp , e(ua , v b ) = e(u, v)ab . 3) Non-degeneracy:
e(g, g) 6= 1.
3.2 Security Assumptions
The security of our mechanism is based on the following security assumptions.
Computational Diffie-Hellman (CDH) Problem. Let
a, b Zp , given g, g a , g b G1 as input, output g ab G1 .
Definition 1: Computational Diffie-Hellman (CDH)
Assumption. For any probabilistic polynomial time adversary ACDH , the advantage of adversary ACDH on solving
the CDH problem in G1 is negligible, which is defined
as
R
P r[ACDH (g, g a , g b ) = (g ab ) : a, b Zp ] .
For the ease of understanding, we can also say computing the CDH problem in G1 is computationally infeasible
or hard under the CDH assumption.
Discrete Logarithm (DL) Problem. Let a Zp , given
g, g a G1 as input, output a.
Definition 2: Discrete Logarithm (DL) Assumption.
For any probabilistic polynomial time adversary ADL , the
advantage of adversary ADL on solving the DL problem
in G1 is negligible, which is defined as
R
Design Objectives
Our proposed mechanism should achieve the following properties: (1) Correctness: The public verifier is
able to correctly check the integrity of shared data. (2)
Efficient and Secure User Revocation: On one hand, once
a user is revoked from the group, the blocks signed by
the revoked user can be efficiently re-signed. On the
other hand, only existing users in the group can generate
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
(1)
y2
y1
1 2 = (H(id1 )y1 H(id2 )y2 wm )a
= (H(id )wm )a
and we can further learn that H(id ) = H(id1 )y1 H(id2 )y2 .
Then, that means, given a value of h = H(id1 )y1 H(id2 )y2 ,
we can easily find a block identifier id so that H(id ) =
h, which contradicts to the assumption that H is a oneway hash function.
Because the construction and verification of the signatures re-signed by the proxy are as the same as the
signatures computed by users, we can also prove that the
signatures re-signed by the proxy are blockless verifiable
and non-malleable in the same way illustrated above.
Therefore, HAPS is a homomorphic authenticable proxy
re-signature scheme.
PANDA
5.1 Overview
Based on the new proxy re-signature scheme and its
properties in the previous section, we now present Panda
Block
Signature
idi
si
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
rk
k ij
= (H(idk )w
mk i j /i
= (H(idk )w
) .
d
Y
i , g) =
i=1
mk j
d
Y
e(
i=1
H(idl )l wi , pki ).
(2)
lLi
Based on the properties of bilinear maps, the correctness of our mechanism in ProofVerify can be explained
as follows.
e(
d
Y
i , g)
d
Y
e(
d
Y
e(
d
Y
e(
d
Y
e(
i=1
i=1
i=1
(H(idl )wml )i l , g)
H(idl )l
H(idl )l wi , pki ).
lLi
i=1
ll , g)
lLi
i=1
lLi
w m l l , g i )
lLi
lLi
Game 1: The public verifier sends an auditing message {(l, l )}lL to the cloud, the auditing proof on
, , {idl }lL }, which
correct shared data M should be {
should pass the verification with Equation (2). However, the cloud generates a proof on incorrect shared
i =
lLi l ml , for i [1, d], and M 6= M . Define
d
Y
i , g) =
d
Y
e(
i=1
i=1
H(idl )l wi , pki ).
lLi
d
Y
i , g) =
d
Y
e(
i=1
i=1
H(idl )l wi , pki ).
lLi
i=1
i i
d
Y
i i
d
Y
wi i = 1.
i=1
i=1
d
Y
(ui v i )i = u
Pd
i=1
i i
Pd
i=1 i i
i=1
E XTENSION OF PANDA
In this section, we will utilize several different methods to extend our mechanism in terms of detection
probability, scalability and reliability.
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
dj
t Y
Y
j|ij , g) =
j=1 i=1
dj
t Y
Y
e(
j=1 i=1
lLj|i
(3)
where j Zp , for j [1, t], is a random chosen by the
public verifier. The correctness of the above equation is
based on all the t auditing proofs are correct. The left
hand side (LHS) of this equation can be expended as
LHS
t
Y
e(
j=1
dj
Y
j|i , g)j
i=1
dj
t Y
Y
e(
j=1 i=1
lLj|i
d
t Y
Y
j=1 i=1
j|ij , g) =
d
Y
i=1
e(
t
Y
Y
(
H(idj|l )j|l wj|i )j , pki ).
j=1 lLj|i
10
Zp
rkij,l
k,l
= k
If the equation does not hold, the cloud outputs ; otherwise, each proxy converts this signature k with its own
t
Y
k,l
Fj,l (0)
(4)
l=1
User
2. Blocks
..
.
1. Re-signing Requests
Data Server
3. Re-signed Signatures
LHS =
t
Y
e(
d
t Y
Y
j=1 i=1
d
Y
i=1
6.3
Proxy Ps
j|i , g)
i=1
j=1
d
Y
e(
e(
lLj|i
t
Y
Y
(
H(idj|l )j|l wj|i )j , pki ).
j=1 lLj|i
Reliability of Panda
k,l
Fj,l (0)
t
Y
l=1
l=1
=
=
=
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
Communication Overhead. According to the description in Section 5, during user revocation, our mechanism
does not introduce communication overhead to existing
users. The size of an auditing message {(l, yl )}lL is
c(|n|+|q|) bits, where c is the number of selected blocks,
|n| is the size of an element of set [1, n] and |q| is the
size of an element of Zq . The size of an auditing proof
, , {idl , sl }lL } is 2d |p| + c (|id|) bits, where d is
{
the number of existing users in the group, |p| is the size
of an element of G1 or Zp , |id| is the size of a block
identifier. Therefore, the total communication overhead
of an auditing task is 2d |p| + c (|id| + |n| + |q|) bits.
Computation Overhead. As shown in ReSign of our
mechanism, the cloud first verifies the correctness of
the original signature on a block, and then computes
a new signature on the same block with a re-signing
key. The computation cost of re-signing a block in the
cloud is 2ExpG1 + MulG1 + 2Pair + HashG1 , where ExpG1
denotes one exponentiation in G1 , MulG1 denotes one
multiplication in G1 , Pair denotes one pairing operation on e : G1 G1 G2 , and HashG1 denotes one
hashing operation in G1 . Moreover, the cloud can further
reduce the computation cost of the re-signing on a block
to ExpG1 by directly re-signing it without verification,
because the public auditing performed on shared data
ensures that the re-signed blocks are correct. Based on
Equation (2), the computation cost of an auditing task
in our mechanism is (c + d)ExpG1 + (c + 2d)MulG1 + (d +
1)Pair + dMulG2 + cHashG1 .
P ERFORMANCE E VALUATION
Fig. 9. Impact of k on
revocation time (s).
OVERHEAD A NALYSIS
11
24
Straight.(SW)
22
Panda
20
18
16
14
12
100 2 4 6 8 10 12 14 16
Download speed (Mbps)
12
Straight.(SW)
Panda
6
4
2
0
0
100 200 300 400 500
k: the number of re-signed blocks
10
Straight.(SW)
8
Panda
6
4
2
00 2 4 6 8 10 12 14 16
Download speed (Mbps)
400
Straight.(SW)
350
Panda
300
250
200
150
100
50
0
0
100 200 300 400 500
k: the number of re-signed blocks
100
80
Straight.(SW)
Panda
60
40
20
0
0
100 200 300 400 500
k: the number of re-signed blocks
Fig. 13. Impact of k on Fig. 14. Impact of k on rerevocation time (s) on mo- vocation time (s) without
bile.
verification on mobile.
Comparison with the Multi-Proxy Model. In Section
6, we proposed to utilize an (s, t)-Shamir Secret Sharing
and a number of s multiple proxies to improve the
reliability of our mechanism. With Panda in the multiproxy model, even if t 1 proxies are compromised by
adversaries, our mechanism is still able to successfully
to convert signatures during user revocation and prevent
the arbitrary use of re-signing keys. Clearly, the increase
of t will increase the reliability of our mechanism. As
a necessary trade-off, the increase of t will inevitably
decrease the performance of our mechanism in terms
of revocation time. As show in Fig. 15 and Fig. 16,
the revocation time of our mechanism in multi-proxy
model is linearly increasing with an increase of k and an
increase of t. However, these efficiency losses introduced
by the multi-proxy model is still acceptable.
18
16
Panda
14
Panda*, t=10
12
Panda*, t=20
10
8
6
4
2
0
0
100 200 300 400 500
k: the number of re-signed blocks
number of re-signed blocks. Specifically, when the number of revoked blocks is 500, the revocation time with the
straightforward method on a mobile phone is over 350
seconds, while the revocation time with our mechanism
is only less than 4% of it. If both of the cloud and an
existing user directly re-sign blocks without verification,
our mechanism is also able to save amount of time for
an existing user when user revocation happens.
10
16.0
15.5
Panda
Panda*
15.0
14.5
14.0
2 3 4 5 6 7 8 9 10
t: the number of uncompromised proxies
WANG et al.: PANDA: PUBLIC AUDITING FOR SHARED DATA WITH EFFICIENT USER REVOCATION IN THE CLOUD
900
800
700
600
500
400
300
c=460
200
c=300
100
0
0
10 20 30 40 50
d: the number of existing users
300
290
280
270
260
Independent
Batch-D
250
0 5 10 15 20 25 30 35 40
t: the total number of auditing tasks
R ELATED W ORK
13
10
C ONCLUSIONS
14
R EFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
B. Wang, B. Li, and H. Li, Public Auditing for Shared Data with
Efficient User Revoation in the Cloud, in the Proceedings of IEEE
INFOCOM 2013, 2013, pp. 29042912.
M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H. Katz,
A. Konwinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, and
M. Zaharia, A View of Cloud Computing, Communications of the
ACM, vol. 53, no. 4, pp. 5058, Apirl 2010.
G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D. Song, Provable Data Possession at Untrusted Stores,
in the Proceedings of ACM CCS 2007, 2007, pp. 598610.
H. Shacham and B. Waters, Compact Proofs of Retrievability,
in the Proceedings of ASIACRYPT 2008. Springer-Verlag, 2008, pp.
90107.
C. Wang, Q. Wang, K. Ren, and W. Lou, Ensuring Data Storage
Security in Cloud Computing, in the Proceedings of ACM/IEEE
IWQoS 2009, 2009, pp. 19.
Q. Wang, C. Wang, J. Li, K. Ren, and W. Lou, Enabling Public
Verifiability and Data Dynamic for Storage Security in Cloud
Computing, in the Proceedings of ESORICS 2009. Springer-Verlag,
2009, pp. 355370.
C. Wang, Q. Wang, K. Ren, and W. Lou, Privacy-Preserving
Public Auditing for Data Storage Security in Cloud Computing,
in the Proceedings of IEEE INFOCOM 2010, 2010, pp. 525533.
Y. Zhu, H. Wang, Z. Hu, G.-J. Ahn, H. Hu, and S. S. Yau, Dynamic
Audit Services for Integrity Verification of Outsourced Storage in
Clouds, in the Proceedings of ACM SAC 2011, 2011, pp. 15501557.
C. Wang, Q. Wang, K. Ren, and W. Lou, Towards Secure and
Dependable Storage Services in Cloud Computing, IEEE Transactions on Services Computing, vol. 5, no. 2, pp. 220232, 2011.
Y. Zhu, G.-J. Ahn, H. Hu, S. S. Yau, H. G. An, and S. Chen,
Dynamic Audit Services for Outsourced Storage in Clouds,
IEEE Transactions on Services Computing, accepted.
N. Cao, S. Yu, Z. Yang, W. Lou, and Y. T. Hou, LT Codes-based
Secure and Reliable Cloud Storage Service, in the Proceedings of
IEEE INFOCOM 2012, 2012, pp. 693701.
J. Yuan and S. Yu, Proofs of Retrievability with Public Verifiability and Constant Communication Cost in Cloud, in Proceedings
of ACM ASIACCS-SCC13, 2013.
H. Wang, Proxy Provable Data Possession in Public Clouds,
IEEE Transactions on Services Computing, accepted.
B. Wang, B. Li, and H. Li, Oruta: Privacy-Preserving Public
Auditing for Shared Data in the Cloud, in the Proceedings of IEEE
Cloud 2012, 2012, pp. 295302.
S. R. Tate, R. Vishwanathan, and L. Everhart, Multi-user Dynamic Proofs of Data Possession Using Trusted Hardware, in
Proceedings of ACM CODASPY13, 2013, pp. 353364.
B. Wang, B. Li, and H. Li, Knox: Privacy-Preserving Auditing for
Shared Data with Large Groups in the Cloud, in the Proceedings
of ACNS 2012, June 2012, pp. 507525.
M. Blaze, G. Bleumer, and M. Strauss, Divertible Protocols and
Atomic Proxy Cryptography, in the Proceedings of EUROCRYPT
98. Springer-Verlag, 1998, pp. 127144.
A. Shamir, How to share a secret, in Communication of ACM,
vol. 22, no. 11, 1979, pp. 612613.
B. Wang, H. Li, and M. Li, Privacy-Preserving Public Auditing
for Shared Cloud Data Supporting Group Dynamics, in the
Proceedings of IEEE ICC 2013, 2013.
B. Wang, S. S. Chow, M. Li, and H. Li, Storing Shared Data on
the Cloud via Security-Mediator, in Proceedings of IEEE ICDCS
2013, 2013.
M. Li, N. Cao, S. Yu, and W. Lou, FindU: Private-Preserving Personal Profile Matching in Mobile Social Networks, in Proceedings
of IEEE INFOCOM, 2011, pp. 2435 2443.
G. Ateniese and S. Hohenberger, Proxy Re-signatures: New
Definitions, Algorithms and Applications, in the Proceedings of
ACM CCS 2005, 2005, pp. 310319.
M. van Dijk, A. Juels, A. Oprea, R. L. Rivest, E. Stefanov, and
N. Triandopoulos, Hourglass schemes: how to prove that cloud
files are encrypted, in the Proceedings of ACM CCS 2012, 2012, pp.
265280.
[24] X. Liu, Y. Zhang, B. Wang, and J. Yan, Mona: Secure MultiOwner Data Sharing for Dynamic Groups in the Cloud, IEEE
Transactions on Parallel and Distributed Systems (TPDS), vol. 24,
no. 6, pp. 11821191, 2013.
[25] A. L. Ferrara, M. Green, S. Hohenberger, and M. . Pedersen,
Practical Short Signature Batch Verification, in Proc. CT-RSA.
Springer-Verlag, 2009, pp. 309324.
[26] L. Xu, X. Wu, and X. Zhang, CL-PRE: a Certificateless Proxy ReEncryption Scheme for Secure Data Sharing with Public Cloud,
in the Proceedings of ACM ASIACCS 2012, 2012.
[27] Pairing Based Cryptography (PBC) Library. [Online]. Available:
http://crypto.stanford.edu/pbc/
[28] The Java Pairing Based Cryptography (jPBC) Library
Benchmark. [Online]. Available: http://gas.dia.unisa.it/projects/
jpbc/benchmark.html
[29] J. Yuan and S. Yu. Efficient Public Integrity Checking for Cloud
Data Sharing with Multi-User Modification. [Online]. Available:
http://eprint.iacr.org/2013/484
[30] D. Boneh, B. Lynn, and H. Shacham, Short Signature from the
Weil Pairing, in the Proceedings of ASIACRYPT 2001. SpringerVerlag, 2001, pp. 514532.
[31] G. Ateniese, R. D. Pietro, L. V. Mancini, and G. Tsudik, Scalable
and Efficient Provable Data Possession, in the Proceedings of ICST
SecureComm 2008, 2008.
[32] C. Erway, A. Kupcu, C. Papamanthou, and R. Tamassia, Dynamic
Provable Data Possession, in the Proceedings of ACM CCS 2009,
2009, pp. 213222.
[33] B. Chen, R. Curtmola, G. Ateniese, and R. Burns, Remote Data
Checking for Network Coding-based Distributed Stroage Systems, in the Proceedings of ACM CCSW 2010, 2010, pp. 3142.
[34] B. Wang, B. Li, and H. Li, Certificateless Public Auditing for Data
Integrity in the Cloud, in Proceedings of IEEE CNS 2013, 2013, pp.
276284.
[35] A. Juels and B. S. Kaliski, PORs: Proofs pf Retrievability for Large
Files, in Proceedings of ACM CCS07, 2007, pp. 584597.
[36] D. Cash, A. Kupcu, and D. Wichs, Dynamic Proofs of Retrievability via Oblivious RAM, in Proceedings of EUROCRYPT 2013,
2013, pp. 279295.
Boyang Wang is a Ph.D. student from the
School of Telecommunications Engineering, Xidian University, Xian, China. He was a visiting Ph.D. student at the Department of Electrical and Computer Engineering, University of
Toronto, from Sep. 2010 to Aug. 2012. He obtained his B.S. in information security from Xidian University in 2007. His current research
interests focus on security and privacy issues in
cloud computing, big data, and applied cryptography. He is a student member of IEEE.
Baochun Li is a Professor at the Department of
Electrical and Computer Engineering at the University of Toronto, and holds the Bell University
Laboratories Endowed Chair in Computer Engineering. His research interests include largescale multimedia systems, cloud computing,
peer-to-peer networks, applications of network
coding, and wireless networks. He is a member
of ACM and a senior member of IEEE.