Cloud Data Auditing with Fine-Grained Updates
Cloud Data Auditing with Fine-Grained Updates
9, SEPTEMBER 2014
Abstract—Cloud computing opens a new era in IT as it can provide various elastic and scalable IT services in a pay-as-you-go
fashion, where its users can reduce the huge capital investments in their own IT infrastructure. In this philosophy, users of cloud
storage services no longer physically maintain direct control over their data, which makes data security one of the major concerns of
using cloud. Existing research work already allows data integrity to be verified without possession of the actual data file. When the
verification is done by a trusted third party, this verification process is also called data auditing, and this third party is called an auditor.
However, such schemes in existence suffer from several common drawbacks. First, a necessary authorization/authentication
process is missing between the auditor and cloud service provider, i.e., anyone can challenge the cloud service provider for a proof
of integrity of certain file, which potentially puts the quality of the so-called ‘auditing-as-a-service’ at risk; Second, although some
of the recent work based on BLS signature can already support fully dynamic data updates over fixed-size data blocks, they only
support updates with fixed-sized blocks as basic unit, which we call coarse-grained updates. As a result, every small update will cause
re-computation and updating of the authenticator for an entire file block, which in turn causes higher storage and communication overheads.
In this paper, we provide a formal analysis for possible types of fine-grained data updates and propose a scheme that can fully support
authorized auditing and fine-grained update requests. Based on our scheme, we also propose an enhancement that can dramatically reduce
communication overheads for verifying small updates. Theoretical analysis and experimental results demonstrate that our scheme can
offer not only enhanced security and flexibility, but also significantly lower overhead for big data applications with a large number of
frequent small updates, such as applications in social media and business transactions.
Index Terms—Cloud computing, big data, data security, provable data possession, authorized auditing, fine-grained dynamic data update
1 INTRODUCTION
users who have high-level security demands over their 2 RELATED WORK
data.
Compared to traditional systems, scalability and elasticity
Although existing data auditing schemes already have
are key advantages of cloud [1], [2], [3]. As such, efficiency
various properties (see Section 2), potential risks and
in supporting dynamic data is of great importance. Security
inefficiency such as security risks in unauthorized auditing
and privacy protection on dynamic data has been studied
requests and inefficiency in processing small updates still
extensively in the past [6], [8], [12], [17]. In this paper,
exist. In this paper, we will focus on better support for
we will focus on small and frequent data updates, which is
small dynamic updates, which benefits the scalability and
important because these updates exist in many cloud
efficiency of a cloud storage server. To achieve this, our
applications such as business transactions and online social
scheme utilizes a flexible data segmentation strategy and a
networks (e.g. Twitter [18]). Cloud users may also need to
ranked Merkle hash tree (RMHT). Meanwhile, we will
split big datasets into smaller datasets and store them in
address a potential security problem in supporting public
different physical servers for reliability, privacy-preserving
verifiability to make the scheme more secure and robust,
or efficient processing purposes.
which is achieved by adding an additional authorization
Among the most pressing problems related to cloud is
process among the three participating parties of client, CSS
data security/privacy [4], [5], [19]. It has been one of the
and a third-party auditor (TPA).
most frequently raised concerns [5], [20]. There is a lot of
Research contributions of this paper can be summarized
work trying to enhance cloud data security/privacy with
as follows:
technological approaches on CSP side, such as [21], [22]. As
1. For the first time, we formally analyze different discussed in Section 1, they are of equal importance as our
types of fine-grained dynamic data update requests focus of external verifications.
on variable-sized file blocks in a single dataset. To Integrity verification for outsourced data storage has
the best of our knowledge, we are the first to pro- attracted extensive research interest. The concept of proofs
pose a public auditing scheme based on BLS signa- of retrievability (POR) and its first model was proposed by
ture and Merkle hash tree (MHT) that can support Jules et al. [14]. Unfortunately, their scheme can only be
fine-grained update requests. Compared to existing applied to static data storage such as archive or library. In
schemes, our scheme supports updates with a size the same year, Ateniese, et al. proposed a similar model
that is not restricted by the size of file blocks, named ‘provable data possession’ (PDP) [10]. Their schemes
thereby offers extra flexibility and scalability com- offer ‘blockless verification’ which means the verifier can
pared to existing schemes. verify the integrity of a proportion of the outsourced file
2. For better security, our scheme incorporates an ad- through verifying a combination of pre-computed file tags
ditional authorization process with the aim of which they call homomorphic verifiable tags (HVTs) or
eliminating threats of unauthorized audit chal- homomorphic linear authenticators (HLAs). Work by Shac-
lenges from malicious or pretended third-party ham, et al. [15] provided an improved POR model with
auditors, which we term as ‘authorized auditing’. stateless verification. They also proposed a MAC-based
3. We investigate how to improve the efficiency in private verification scheme and the first public verification
verifying frequent small updates which exist in scheme in the literature that based on BLS signature scheme
many popular cloud and big data contexts such as [23]. In their second scheme, the generation and verification
social media. Accordingly, we propose a further of integrity proofs are similar to signing and verification of
enhancement for our scheme to make it more BLS signatures. When wielding the same security strength
suitable for this situation than existing schemes. (say, 80-bit security), a BLS signature (160 bit) is much
Compared to existing schemes, both theoretical shorter than an RSA signature (1024 bit), which is a desired
analysis and experimental results demonstrate that benefit for a POR scheme. They also proved the security of
our modified scheme can significantly lower com- both their schemes and the PDP scheme by Ateniese, et al.
munication overheads. [9], [10]. From then on, the concepts of PDP and POR were in
fact unified under this new compact POR model. Ateniese,
For the convenience of the readers, we list some et al. extended their scheme for enhanced scalability [8], but
frequently-used acronyms in Appendix 1 which is avail- only partial data dynamics and a predefined number of
able in the Computer Society Digital Library at http://doi. challenges is supported. In 2009, Erway, et al. proposed the
ieeecomputersociety.org/10.1109/TPDS.2013.191. first PDP scheme based on skip list that can support full
dynamic data updates [12]. However, public auditability
1.1 Paper Organization and variable-sized file blocks are not supported by default.
The rest of this paper is organized as follows. Section 2 Wang, et al. [6] proposed a scheme based on BLS signature
discusses related work. Section 3 provides motivating ex- that can support public auditing (especially from a third-
amples as well as a detailed analysis of our research party auditor, TPA) and full data dynamics, which is one of
problem. Section 4 provides a description of our proposed the latest works on public data auditing with dynamics
scheme in detail, with also a detailed analysis of fine- support. However, their scheme lacks support for fine-
grained update requests and how they can be supported. grained update and authorized auditing which are the main
Section 5 provides security analysis for our design. focuses of our work. Latest work by Wang et al. [7] added a
Section 6 provides experimental results. Section 7 con- random masking technology on top of [6] to ensure the TPA
cludes our research and points out future work. cannot infer the raw data file from a series of integrity
2236 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 25, NO. 9, SEPTEMBER 2014
Although support for coarse-grained updates can pro- e : G G ! GT where GT is a multiplicative cyclic group
vide an integrity verification scheme with basic scalabil- with prime order. A useful e should have the following
ity, data updating operations in practice can always be properties: bilinearityV8m; n 2 G ) eðma ; nb Þ ¼ eðm; nÞab ;
more complicated. For example, the verifiable update non-degenera cy V8m 2 G; m 6¼ 0 ) eðm; mÞ 6¼ 1; and
process introduced in [6], [12] cannot handle deletions or computabilityVe should be efficiently computable. For
modifications in a size lesser than a block. For insertions, simplicity, we will use this symmetric bilinear map in our
there is a simple extension that enables insertion of an scheme description. Alternatively, the more efficient
arbitrary-sized datasetVCSS can always create a new asymmetric bilinear map e : G1 G2 ! GT may also be
block (or several blocks) for every insertion. However, applied, as was pointed out in [23].
when there are a large number of small upgrades
(especially insertions), the amount of wasted storage 4.1.2 Ranked Merkle Hash Tree (RMHT)
will be huge. For example, in [6], [12] the recommended The Merkle Hash Tree (MHT) [25] has been intensively
size for a data block is 16k bytes. For each insertion of a studied in the past. In this paper we utilize an extended
140-byte Twitter message, more than 99 percent of the MHT with ranks which we named RMHT. Similar to a
newly allocated storage is wastedVthey cannot be reused binary tree, each node N will have a maximum of 2 child
until the block is deleted. These problems can all be re- nodes. In fact, according to the update algorithm, every
solved if fine-grained data updates are supported. non-leaf node will constantly have 2 child nodes. Informa-
According to this observation, supporting of fine-grained tion contained in one node N in an RMHT T is represented
updates can bring not only additional flexibility, but also as fH; rN g where H is a hash value and rN is the rank of this
improved efficiency. node. T is constructed as follows. For a leaf node LN based
Our model assumes the following: on a message mi , we have H ¼ hðmi Þ, rLN ¼ si ; A parent
node of N1 ¼ fH1 ; rN1 g and N2 ¼ fH2 ; rN2 g is constructed
Assumption 1. CSS will honestly answer all data queries to its as NP ¼ fhðH1 kH2 Þ; ðrN1 þ rN2 Þg where k is a concatenation
clients. In other words, if a user asks to retrieve a certain piece operator. A leaf node mi ’s AAI Wi is a set of hash values
of her data stored on CSS, CSS will not try to cheat her with chosen from every of its upper level so that the root value
an incorrect answer. R can be computed through fmi ; Wi g. For example, for
the RMHT demonstrated in Fig. 2, m1 ’s AAI W1 ¼
This assumptionVreliabilityVshould be a basic service fhðm2 Þ; hðeÞ; hðdÞg. According to the property of RMHT,
quality guarantee for cloud storage services. we know that the number of hash values included in Wi
PDP and POR are different models with similar goals. equals the depth of mi in T .
One main difference is that the file is encoded with error-
correction code in the POR model, but not in the PDP 4.2 Framework and Definitions
model [6]. As in [6], [7], we will not restrict our work to We first define the following block-level fine-grained
either of the models. update operations:
and block splitting SPVa part of data in a block needs to be FilePreProcðF; sk; SegReqÞ: According to the preemp-
taken out to form a new block to be inserted next to it.1 tively determined segmentation requirement SegReq (in-
cluding smax , a predefined upper-bound of the number of
Framework of public auditing scheme with data dynam-
segments per block), segments file F into F ¼ fmij g;
ics support is consisted of a series of algorithms. Similar
i 2 ½1; l; j 2 ½1; s; si 2 ½1; smax , i.e., F is segmented into a
to [12], the algorithms in our framework are: Keygen,
total of l blocks, with the ith block having si segments.
FilePreProc, Challenge, Verify, Genproof, PerformUpdate
In our settings, every file segment should of the same size
and VerifyUpdate. Detailed definitions and descriptions can
2 ð0; pÞ and as large as possible (see [15]). Since jpj ¼ 20
be found in Appendix B.
bytes is used in a BLS signature with 80-bit security
(sufficient in practice), ¼ 20 bytes is a common choice.
4.3 Our Scheme According to smax , a set U ¼ fuk 2 Zp gk 2 ½1; smax is chosen so
We now describe our proposed scheme in the aim of that the client
supporting variable-sized data blocks, authorized third- Q icanmcompute the HLAs i for each block:
i ¼ ðHðmi Þ sj¼1 uj ij Þ which constitute the ordered set
party auditing and fine-grained dynamic data updates. F ¼ fi gi2½1;l . This is similar to signing a message with BLS
signature. The client also generate a root R based on
4.3.1 Overview
construction of an RMHT T over Hðmi Þ and compute
Our scheme is described in three parts: sig ¼ ðHðRÞÞ . Finally, let u ¼ ðu1 k . . . kusmax Þ, the client com-
1. Setup: the client will generate keying materials via pute the file tag for F as t ¼ nameknkukSigssk ðnameknkuÞ
KeyGen and FileProc, then upload the data to CSS. and then output fF ; F; T; R; sig; tg.
Different from previous schemes, the client will store a
4.3.3 Prepare for Authorization
RMHT instead of a MHT as metadata. Moreover, the
client will authorize the TPA by sharing a value sigAUTH . The client asks (her choice of) TPA for its ID VID (for security,
2. Verifiable Data Updating: the CSS performs the client’s VID is used for authorization only). TPA will then return its
fine-grained update requests via PerformUpdate, ID, encrypted with the client’s public key. The client will then
then the client runs VerifyUpdate to check whether compute sigAUTH ¼ Sigssk ðAUTHktkVIDÞ and sends sigAUTH
CSS has performed the updates on both the data along with the auditing delegation request to TPA for it to
blocks and their corresponding authenticators (used compose a challenge later on.
for auditing) honestly. Different from existing schemes, after the execution of
3. Challenge, Proof Generation and Verification: De- the above two algorithms, the client will keep the RMHT
scribes how the integrity of the data stored on CSS is ‘skeleton’ with only ranks of each node and indices of each
verified by TPA via GenChallenge, GenProof and Verify. file block to reduce fine-grained update requests to block-
level operations. We will show how this can be done in
We now describe our scheme in detail as follows. Section 4.4. The client then sends fF ; t; F; sig; AUTHg to
CSS and deletes fF; F ; t; F; sigg from its local storage. The
4.3.2 Setup CSS will construct an RMHT T based on mi and keep T
This phase is similar to the existing BLS-based schemes stored with fF ; t; F; sig; AUTHg for later verification,
except for the segmentation of file blocks. Let which should be identical to the tree spawned at client-
e : G G ! GT be a bilinear map defined in Section 4.1, side just a moment ago.
where G is a GDH group supported by Zp 2.H : ð0; 1Þ ! G is
a collision-resistant hash function, and h is another crypto- 4.3.4 Verifiable Data Updating
graphic hash function. Same as Setup, this process will also be between client and
After all parties have finished negotiating the fundamental CSS. We discuss 5 types of block-level updates (operations)
parameters above, the client runs the following algorithms: that will affect T : PM, M, D, J and SP (see Definition 1).
KeyGenð1k Þ: The client generates a secret value 2 Zp We will discuss how these requests can form fine-grained
and a generator g of G, then compute ¼ g . A secret update requests in general in Section 4.4.
signing key pair fspk; sskg is chosen with respect to a The verifiable data update process for a PM-typed
designated provably secure signature scheme whose update is as follows (see Fig. 3):
signing algorithm is denoted as SigðÞ. This algorithm 1. The client composes an update quest UpdateReq
outputs fssk; g as the secret key sk and fspk; ; gg as the defined in Section 4.2 and sends it to CSS.
public key pk. For simplicity, in our settings, we use the 2. CSS executes the following algorithm:
same key pair for signatures, i.e., ssk ¼ ; spk ¼ fv; gg. PerformUpdateðUpdateReq; F Þ: CSS parses UpdateReq
and get fPM; i; o; mnew g. When Type ¼ PM, CSS will update
1. There are other possible operations such as block merging mi and T accordingly, then output Pupdate ¼ fmi ; Wi ; R0 ; sigg
MEVtwo blocks need to be merged into the first block before the (note that Wi stays the same during the update) and the
second block is deleted, and data moving MVVmove a part of data updated file F 0 .
from one block to another, if the size of the second block does not
exceed smax after this update. However, the fine-grained update Upon finishing of this algorithm, CSS will send Pupdate to
requests discussed in this paper do not involve these operations, thus the client.
we will omit them in our current discussion. We will leave the problem 3. After receiving Pupdate , the client executes the follow-
of how to exploit them in future work. ing algorithm:
2. Most exponential operations in this paper are modulo p.
Therefore, for simplicity, we will use g instead of g mod p unless VerifyUpdateðpk; Pupdate Þ: The client computes m0i using
otherwise specified. fmi ; UpdateReqg, then parse Pupdate to fmi ; Wi ; R0 ; sigg,
LIU ET AL.: PUBLIC AUDITING OF BIG DATA WITH FINE-GRAINED UPDATES ON CLOUD 2239
compute R (and HðRÞ) and Rnew use fmi ; Wi g and fm0i ; Wi g 2. After receiving chal, CSS will run the following
respectively. It verifies sig use HðRÞ, and check if algorithm:
Rnew ¼ R0 . If either of these two verifications fails, then GenProofðpk; F; sigAUTH ; F; chalÞ: Let w ¼ max fsi gi2I . CSS
output FALSE and return to CSS, otherwise output TRUE. will first verify sigAUTH with AUTH, t, VID and the client’s
If the output of the algorithms is TRUE, then the client public key spk, andP output REJECT if it fails. Otherwise,
Q CSS
QS1 m0ij
computes i ¼ ðHðmi Þ j¼1 uj Þ and sig0 ¼ ðHðR0 ÞÞ then
0 0 will compute k ¼ i2I vi mik ; k 2 ½1; w and ¼ i2I ivi and
sends fi0 ; sig0 g to CSS. compose the proof P as ¼ ffk gk2½1;w ; fHðmi Þ; Wi gi2I ; sigg,
4. The CSS will update i to i0 and sig to sig0 accordingly then ouput P . Note that during the computation of k , we will
and delete F if it receives fi0 ; sig0 g, or it will run let mik ¼ 0 if k 9 si .
PerformUpdateðÞ again if it receives FALSE. A cheating After execution of this algorithm, CSS will send P to TPA.
CSS will fail the verification and constantly receive FASLE 3. After receiving P , TPA will run the following
until it performed the update as the client requested. algorithm:
Due to their similarity to the process described above, Verifyðpk; chal; P Þ: TPA will compute R using fHðmi Þ; Wi g
other types of operations are only briefly discussed as and then verify sig use public keys g and by Q comparingvi
follows. For whole-block operations M, D, and J , as in eðsig;
Q gÞ with ðHðRÞ; vÞ. If they are equal, let ! ¼ i2I Hðmi Þ
k
model in the existing work [6], the client can directly k2½1;w uk , TPA will further check if eð; gÞ equals eð!; vÞ,
compute i0 without retrieving data from the original file F which is similar to verifying a BLS signature. If all the
stored on CSS, thus the client can send i0 along with two equations hold then the algorithm returns TRUE,
UpdateReq in the first phase. For responding to an update otherwise it returns FALSE.
request, CSS only needs to send back Hðmi Þ instead of mi . An illustration of Challenge and Verification processes
Other operations will be similar to where Type ¼ PM. For can be found in Fig. 4.
an SP-typed update, in addition to updating mi to m0i , a
4.4 Analysis on Fine-Grained Dynamic
new block m needs to be inserted to T after m0i .
Data Updates
Nonetheless, as the contents in m is a part of the old mi ,
Following the settings in our proposed scheme, we now
the CSS still needs to send mi back to the client. The process
define a fine-grained update request for an outsourced file
afterwards will be just similar to a PM-typed upgrade,
divided into l variable-sized blocks, where each block is
with an only exception that the client will compute Rnew
consisted of si 2 ½1; smax segments of a fixed size each.
using fm0i ; hðm Þ; Wi g to compare to R0 , instead of
Assume an RMHT T is built upon fmi gi2½1;l for authenti-
using fm0i ; Wi g as in the PM-typed update.
cation, which means T must keep updated with each RMHT
operation for CSS to send back the root R for the client to
4.3.5 Challenge, Proof Generation and Verification verify the correctness of this operation (see Section 4.3). We
In our setting, TPA must show CSS that it is indeed now try to define and categorize all types of fine-grained
authorized by the file owner before it can challenge a updates, and then analyze the RMHT operations with
certain file. Type ¼ PM; M; D; J or SP that will be invoked along with
1. TPA runs the following algorithm: the update of the data file.
GenChallengeðAcc; pk; sigAUTH Þ: According to the accu-
Definition 2 (Fine-Grained Data Update Request). A
racy required in this auditing, TPA will decide to verify c
fine-grained update request is defined as FReq ¼ fo; len; mnew g,
out of the total l blocks. Then, a challenge message
where o indicates the starting offset of this update in F , len
chal ¼ fsigAUTH ; fVIDgPKCSS ; fi; vi gi2I g is generated where
indicates the data length after o that needs to be updated (so that
VID is TPA’s ID, I is a randomly selected subset of ½1; l
fo; leng can characterize an exact proportion of the original file
with c elements and fvi 2 Zp gi2I are c randomly-chosen
F that needs to be updated, which we will later call mold ), and
coefficients. Note that VID is encrypted with the CSS’s
mnew is the new message to be inserted into F from offset o.
public key PKCSS so that CSS can later decrypt fVIDgPKCSS
with the corresponding secret key. We assume the data needed to be obsolete and the new
TPA then sends chal to CSS. data to be added shares a common starting offset o in F , as
2240 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 25, NO. 9, SEPTEMBER 2014
otherwise it can be split into multiple updates defined in fPM; I; o; mnew g and use fo; jmnew jg to gather the sectors
Definition 2 commencing in sequence. We now introduce a that are not involved in this update, which we denote as
rule to follow during all update processes: fmij gj2M . CSS will then perform the update to get m0i , then
compute R0 , then send the proof of update Pupdate ¼
Condition 1 (Block Size Limits in Updates). An update ffmij gj2M ; Hðmi Þ; Wi ; R0 ; sigg to the client.
operation must not cause the size of any block to exceed smax ; VerifyUpdate: After the client received Hðmi Þ, it will first
After any operation, a block that has 0 bit data remaining compute R using Hðmi Þ; Wi and verify sig, then it will
must be deleted from T . compute m0i using ffmij gj2M ; mnew g and then compute Rnew
Detailed analysis can be found in Appendix C, which with fm0i ; Wi g and compare Rnew with R0 . If Rnew ¼ R0 , then
can be summarized as the following theorem: the client will return fi0 ; sig0 g to CSS for it to update
accordingly.
Theorem 1. Any valid fine-grained update request that is in the For an SP operation the process will be the same to our
form of fo; len; mnew g can either directly belong to, or be split basic scheme as there are no new data inserted into T ,
into some smaller requests that belong to, the following 5 types therefore the retrieving of the entire data block is inevitable
of block-level update requests: PM, M, J , D and SP. when computations of i0 and are required. For other
types of operations, no old data is involved in new blocks;
Proof. See Appendix C. g therefore the processes will also remain the same. The
Through the analysis above, we know that a large process is shown in Fig. 5.
number of small updates, no matter insert, delete or mod-
ification, will always invoke a large number of PM op-
erations. We now try to optimize PM operations in the next 4.6 Extensions and Generalizations
section to make it more efficient. Our strategy can also be applied in RSA-based PDP or POR
schemes to achieve authorized auditing and fine-grained
4.5 Modification for Better Support of data update requests. As RSA can inherently support
Small Updates variable-sized blocks, the process will be even easier. The
batch auditing variation in [6], [7] can also be applied to our
Although our proposed scheme can support fine-grained
scheme, as we did not change the construction of HLAs and
update requests, the client still needs to retrieve the entire
the verifications on them.
file block from CSS to compute the new HLA, in the sense
For the same reason, the random masking strategy for
that the client is the only party that has the secret key to
privacy preserving proposed in [7] can also be incorpo-
compute the new HLA but clients do not have F stored
rated into our scheme to prevent TPA from parsing the
locally. Therefore, the additional cost in communication
challenged file blocks through a series of integrity proofs
will be huge for frequent updates. In this section, we will
to a same set of blocks. Alternatively, we can also restrict
propose a modification to address this problem, utilizing
the number of challenges to the same subset of data blocks.
the fact that CSS only needs to send back data in the block
When data updates are frequent enough, the success rate
that stayed unchanged.
of this attack will drop dramatically, because there is a
The framework we use here is identical to the one used
high probability that one or many of the challenged blocks
in our scheme introduced in Section 4.2 (which we will also
have already updated before c challenges are completed,
name as ’the basic scheme’ hereafter). Changes are made in
which is the reason we did not incorporate this strategy
PerformUpdate and VerifyUpdate; Setup, Challenge, Proof
into our scheme.
Generation and Verification phases are same as in our basic
scheme. Therefore, we will only describe the two algo-
rithms in the following phase:
5 SECURITY ANALYSIS
4.5.1 Verifiable Data Updating In this section, the soundness and security of our scheme
We also discuss PM operations here first. is discussed separately in phases, as the aim and behavior
PerformUpdate: After CSS has received the update of the malicious adversary in each phase of our scheme is
request UpdateReq from the client, it will parse it as different.
LIU ET AL.: PUBLIC AUDITING OF BIG DATA WITH FINE-GRAINED UPDATES ON CLOUD 2241
[23] D. Boneh, H. Shacham, and B. Lynn, ‘‘Short Signatures From the Xuyun Zhang received the BS and MS degrees in
Weil Pairing,’’ J. Cryptol., vol. 17, no. 4, pp. 297-319, Sept. 2004. computer science from Nanjing University, China,
[24] G. Ateniese, S. Kamara, and J. Katz, ‘‘Proofs of Storage From and is currently working towards the PhD degree at
Homomorphic Identification Protocols,’’ in Proc. 15th Int’l Conf. the Faculty of Engineering & IT, University of Tech-
on Theory and Appl. of Cryptol. and Inf. Security (ASIACRYPT), nology, Sydney, Australia. His research interests
2009, pp. 319-333. include cloud computing, privacy and security, Big
[25] R.C. Merkle, ‘‘A Digital Signature Based on a Conventional Data, MapReduce and OpenStack. He has pub-
Encryption Function,’’ in Proc. Int’l Cryptol. Conf. on Adv. in lished several papers in refereed international
Cryptol. (CRYPTO), 1987, pp. 369-378. journals including IEEE Transactions on Parallel
[26] KVM Hypervisor, accessed on: March 25, 2013. [Online]. and Distributed Systems (TPDS).
Available: www.linux-kvm.org/.
[27] Hadoop MapReduce. [Online]. Available: http://hadoop. Chi Yang received the BS degree from Shandong
apache.org University At Weihai, China, the MS (by research)
[28] OpenStack Open Source Cloud Software, accessed on: March 25, degree in computer science from Swinburne
2013. [Online]. Available: http://openstack.org/ University of Technology, Melbourne, Australia, in
2007, and is currently pursuing full-time the PhD
degree at the University of Technology, Sydney,
Chang Liu received BEng and MSc degrees Australia. His major research interests include
from Shandong University, China. He is currently distributed computing, XML data stream, scientific
pursuing the PhD degree at Faculty of Engi- workflow, Distributed System, Green Computing,
neering and IT, University of Technology Big Data Processing and Cloud Computing.
Sydney, Australia. His research interests include
cloud and distributed computing, resource man- Rajiv Ranjan received the PhD degree in
agement, cryptography and data security. engineering from the University of Melbourne,
Australia, in 2009. He is a Research Scientist
and a Julius Fellow in CSIRO Computational
Informatics Division (formerly known as CSIRO
ICT Centre). His expertise is in datacenter cloud
computing, application provisioning, and perfor-
Jinjun Chen received the PhD degree in computer
mance optimization. He has published 62 scien-
science and software engineering from Swinburne
tific, peer-reviewed papers (7 books, 25 journals,
University of Technology, Australia. He is an
25 conferences, and 5 book chapters). His h-index
Associate Professor from Faculty of Engineering
is 20, with a lifetime citation count of 1660+ (Google
and IT, University of Technology Sydney (UTS),
Scholar). His papers have also received 140+ ISI citations. Seventy percent
Australia. He is the Director of Lab of Cloud
of his journal papers and 60 percent of conference papers have been A*/A
Computing and Distributed Systems at UTS. His
ranked ERA publication. Dr. Ranjan has been invited to serve as the Guest
research interests include cloud computing, big
Editor for leading distributed systems journals including IEEE Transactions
data, workflow management, privacy and security,
on Cloud Computing, Future Generation Computing Systems, and
and related various research topics. His research
Software Practice and Experience. One of his papers was in 2011’s top
results have been published in more than 100
computer science journal, IEEE Communication Surveys and Tutorials.
papers in high quality journals and at conferences, including IEEE
Transactions on Service Computing, ACM Transactions on Autonomous
and Adaptive Systems, ACM Transactions on Software Engineering and Ramamohanarao (Rao) Kotagiri received the
Methodology (TOSEM), IEEE Transactions on Software Engineering PhD degree from Monash University. He was
(TSE), and IEEE Transactions on Parallel and Distributed Systems awarded the Alexander von Humboldt Fellow-
(TPDS). He received Swinburne Vice-Chancellor’s Research Award for ship in 1983. He has been at the University of
early career researchers (2008), IEEE Computer Society Outstanding Melbourne since 1980 and was appointed as a
Leadership Award (2008-2009) and (2010-2011), IEEE Computer Society Professor in computer science in 1989. He has
Service Award (2007), Swinburne Faculty of ICT Research Thesis held several senior positions including Head of
Excellence Award (2007). He is an Associate Editor for IEEE Transactions Computer Science and Software Engineering,
on Parallel and Distributed Systems. He is the Vice Chair of IEEE Computer Head of the School of Electrical Engineering and
Society’s Technical Committee on Scalable Computing (TCSC), Vice Chair Computer Science at the University of Melbourne
of Steering Committee of Australasian Symposium on Parallel and and Research Director for the Cooperative Re-
Distributed Computing, Founder and Coordinator of IEEE TCSC Technical search Centre for Intelligent Decision Systems. He served on the editorial
Area on Workflow Management in Scalable Computing Environments, boards of the Computer Journal. At present, he is on the editorial boards
Founder and steering committee co-chair of International Conference on of Universal Computer Science, and Data Mining, IEEE Transactions on
Cloud and Green Computing, and International Conference on Big Data and Knowledge and Data Engineering and VLDB (Very Large Data Bases)
Distributed Systems. He is a Senior Member of IEEE. Journal. Dr. Kotagiri was the program cochair for VLDB, PAKDD,
DASFAA, and DOOD conferences. He is a steering committee member
of IEEE ICDM, PAKDD, and DASFAA. He received a Distinguished
Contribution Award for Data Mining. He is a fellow of the Institute of
Laurence T. Yang received the BE degree in Engineers Australia, the Australian Academy Technological Sciences
computer science and technology from Tsinghua and Engineering, and the Australian Academy of Science. He was
University, Beijing, China, and the PhD degree in awarded a Distinguished Contribution Award in 2009 by the Computing
computer science from the University of Victoria, Research and Education Association of Australasia.
Victoria, BC, Canada. He is a Professor in School of
Computer Science and Technology, Huazhong
University of Science and Technology, China and . For more information on this or any other computing topic,
in Department of Computer Science, St. Francis please visit our Digital Library at www.computer.org/publications/dlib.
Xavier University, Canada. His current research
interests include parallel and distributed computing,
embedded and ubiquitous computing. His research
has been supported by National Sciences and Engineering Research
Council, Canada and Canada Foundation for Innovation. He is a member
of IEEE.