1362 IEEE TRANSACTIONS ON INFORMATION … Papers/2016 Java/LSJ1613 - Enabling... · 1362 IEEE...

14
1362 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016 Enabling Cloud Storage Auditing With Verifiable Outsourcing of Key Updates Jia Yu, Kui Ren, Fellow, IEEE , and Cong Wang, Member, IEEE Abstract— Key-exposure resistance has always been an important issue for in-depth cyber defence in many security applications. Recently, how to deal with the key exposure problem in the settings of cloud storage auditing has been proposed and studied. To address the challenge, existing solutions all require the client to update his secret keys in every time period, which may inevitably bring in new local burdens to the client, especially those with limited computation resources, such as mobile phones. In this paper, we focus on how to make the key updates as transparent as possible for the client and propose a new paradigm called cloud storage auditing with verifiable outsourcing of key updates. In this paradigm, key updates can be safely outsourced to some authorized party, and thus the key-update burden on the client will be kept minimal. In particular, we leverage the third party auditor (TPA) in many existing public auditing designs, let it play the role of authorized party in our case, and make it in charge of both the storage auditing and the secure key updates for key-exposure resistance. In our design, TPA only needs to hold an encrypted version of the client’s secret key while doing all these burdensome tasks on behalf of the client. The client only needs to download the encrypted secret key from the TPA when uploading new files to cloud. Besides, our design also equips the client with capability to further verify the validity of the encrypted secret keys provided by the TPA. All these salient features are carefully designed to make the whole auditing procedure with key exposure resistance as transparent as possible for the client. We formalize the definition and the security model of this paradigm. The security proof and the performance simulation show that our detailed design instantiations are secure and efficient. Index Terms— Cloud storage, outsourcing computing, cloud storage auditing, key update, verifiability. Manuscript received November 5, 2015; revised January 26, 2016; accepted January 27, 2016. Date of publication February 11, 2016; date of current version March 29, 2016. This work was supported in part by the National Natural Science Foundation of China under Grant 61572267, Grant 61272425, and Grant 61402245, in part by the U.S. National Science Foundation under Grant CNS-1226677, in part by the Research Grants Council, Hong Kong, under Grant CityU 138513, in part by PAPD, and in part by CICAEET. The associate editor coordinating the review of this manuscript and approving it for publication was Prof. Mauro Barni. (Corresponding author: Jia Yu.) J. Yu is with the College of Computer Science and Technology, Qingdao University, Qingdao 266071, China, also with the Department of Computer Science and Engineering, University at Buffalo, The State University of New York, Buffalo, NY 14260 USA, and also with the School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing 210044, China (e-mail: [email protected]). K. Ren is with the Department of Computer Science and Engineer- ing, University at Buffalo, The State University of New York, Buffalo, NY 14260 USA (e-mail: [email protected]). C. Wang is with the Department of Computer Science, City University of Hong Kong, Hong Kong (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TIFS.2016.2528500 I. I NTRODUCTION C LOUD computing, as a new technology paradigm with promising further, is becoming more and more popular nowadays. It can provide users with seemingly unlimited com- puting resource. Enterprises and people can outsource time- consuming computation workloads to cloud without spending the extra capital on deploying and maintaining hardware and software. In recent years, outsourcing computation has attracted much attention and been researched widely. It has been considered in many applications including scientific computations [1], linear algebraic computations [2], linear programming computations [3] and modular exponentiation computations [4], etc. Besides, cloud computing can also provide users with seemingly unlimited storage resource. Cloud storage is universally viewed as one of the most important services of cloud computing. Although cloud stor- age provides great benefit to users, it brings new security challenging problems. One important security problem is how to efficiently check the integrity of the data stored in cloud. In recent years, many auditing protocols for cloud storage have been proposed to deal with this problem. These pro- tocols focus on different aspects of cloud storage auditing such as the high efficiency [5]–[17], the privacy protec- tion of data [18], the privacy protection of identities [19], dynamic data operations [13], [15], [16], [20], the data sharing [21], [22], etc. The key exposure problem, as another important problem in cloud storage auditing, has been considered [23] recently. The problem itself is non-trivial by nature. Once the client’s secret key for storage auditing is exposed to cloud, the cloud is able to easily hide the data loss incidents for maintaining its reputation, even discard the client’s data rarely accessed for saving the storage space. Yu et al. [23] constructed a cloud storage auditing protocol with key-exposure resilience by updating the user’s secret keys periodically. In this way, the damage of key exposure in cloud storage auditing can be reduced. But it also brings in new local burdens for the client because the client has to execute the key update algorithm in each time period to make his secret key move forward. For some clients with limited computation resources, they might not like doing such extra computations by themselves in each time period. It would be obviously more attractive to make key updates as transparent as possible for the client, especially in frequent key update scenarios. In this paper, we consider achieving this goal by outsourcing key updates. However, it needs to satisfy several new requirements to achieve this goal. Firstly, the real client’s secret keys for 1556-6013 © 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Transcript of 1362 IEEE TRANSACTIONS ON INFORMATION … Papers/2016 Java/LSJ1613 - Enabling... · 1362 IEEE...

1362 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

Enabling Cloud Storage Auditing With VerifiableOutsourcing of Key Updates

Jia Yu, Kui Ren, Fellow, IEEE, and Cong Wang, Member, IEEE

Abstract— Key-exposure resistance has always been animportant issue for in-depth cyber defence in many securityapplications. Recently, how to deal with the key exposure problemin the settings of cloud storage auditing has been proposed andstudied. To address the challenge, existing solutions all requirethe client to update his secret keys in every time period, whichmay inevitably bring in new local burdens to the client, especiallythose with limited computation resources, such as mobile phones.In this paper, we focus on how to make the key updates astransparent as possible for the client and propose a new paradigmcalled cloud storage auditing with verifiable outsourcing of keyupdates. In this paradigm, key updates can be safely outsourcedto some authorized party, and thus the key-update burden on theclient will be kept minimal. In particular, we leverage the thirdparty auditor (TPA) in many existing public auditing designs, letit play the role of authorized party in our case, and make it incharge of both the storage auditing and the secure key updates forkey-exposure resistance. In our design, TPA only needs to hold anencrypted version of the client’s secret key while doing all theseburdensome tasks on behalf of the client. The client only needs todownload the encrypted secret key from the TPA when uploadingnew files to cloud. Besides, our design also equips the client withcapability to further verify the validity of the encrypted secretkeys provided by the TPA. All these salient features are carefullydesigned to make the whole auditing procedure with key exposureresistance as transparent as possible for the client. We formalizethe definition and the security model of this paradigm. Thesecurity proof and the performance simulation show that ourdetailed design instantiations are secure and efficient.

Index Terms— Cloud storage, outsourcing computing, cloudstorage auditing, key update, verifiability.

Manuscript received November 5, 2015; revised January 26, 2016; acceptedJanuary 27, 2016. Date of publication February 11, 2016; date of currentversion March 29, 2016. This work was supported in part by the NationalNatural Science Foundation of China under Grant 61572267, Grant 61272425,and Grant 61402245, in part by the U.S. National Science Foundation underGrant CNS-1226677, in part by the Research Grants Council, Hong Kong,under Grant CityU 138513, in part by PAPD, and in part by CICAEET. Theassociate editor coordinating the review of this manuscript and approving itfor publication was Prof. Mauro Barni. (Corresponding author: Jia Yu.)

J. Yu is with the College of Computer Science and Technology, QingdaoUniversity, Qingdao 266071, China, also with the Department of ComputerScience and Engineering, University at Buffalo, The State University of NewYork, Buffalo, NY 14260 USA, and also with the School of Computer andSoftware, Nanjing University of Information Science and Technology, Nanjing210044, China (e-mail: [email protected]).

K. Ren is with the Department of Computer Science and Engineer-ing, University at Buffalo, The State University of New York, Buffalo,NY 14260 USA (e-mail: [email protected]).

C. Wang is with the Department of Computer Science, City University ofHong Kong, Hong Kong (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are availableonline at http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TIFS.2016.2528500

I. INTRODUCTION

CLOUD computing, as a new technology paradigm withpromising further, is becoming more and more popular

nowadays. It can provide users with seemingly unlimited com-puting resource. Enterprises and people can outsource time-consuming computation workloads to cloud without spendingthe extra capital on deploying and maintaining hardwareand software. In recent years, outsourcing computation hasattracted much attention and been researched widely. It hasbeen considered in many applications including scientificcomputations [1], linear algebraic computations [2], linearprogramming computations [3] and modular exponentiationcomputations [4], etc. Besides, cloud computing can alsoprovide users with seemingly unlimited storage resource.Cloud storage is universally viewed as one of the mostimportant services of cloud computing. Although cloud stor-age provides great benefit to users, it brings new securitychallenging problems. One important security problem is howto efficiently check the integrity of the data stored in cloud.In recent years, many auditing protocols for cloud storagehave been proposed to deal with this problem. These pro-tocols focus on different aspects of cloud storage auditingsuch as the high efficiency [5]–[17], the privacy protec-tion of data [18], the privacy protection of identities [19],dynamic data operations [13], [15], [16], [20], the datasharing [21], [22], etc.

The key exposure problem, as another important problemin cloud storage auditing, has been considered [23] recently.The problem itself is non-trivial by nature. Once the client’ssecret key for storage auditing is exposed to cloud, the cloudis able to easily hide the data loss incidents for maintainingits reputation, even discard the client’s data rarely accessedfor saving the storage space. Yu et al. [23] constructed acloud storage auditing protocol with key-exposure resilienceby updating the user’s secret keys periodically. In this way,the damage of key exposure in cloud storage auditing can bereduced. But it also brings in new local burdens for the clientbecause the client has to execute the key update algorithm ineach time period to make his secret key move forward. Forsome clients with limited computation resources, they mightnot like doing such extra computations by themselves in eachtime period. It would be obviously more attractive to makekey updates as transparent as possible for the client, especiallyin frequent key update scenarios. In this paper, we considerachieving this goal by outsourcing key updates.

However, it needs to satisfy several new requirements toachieve this goal. Firstly, the real client’s secret keys for

1556-6013 © 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1363

cloud storage auditing should not be known by the authorizedparty who performs outsourcing computation for key updates.Otherwise, it will bring the new security threat. So theauthorized party should only hold an encrypted version of theuser’s secret key for cloud storage auditing. Secondly, becausethe authorized party performing outsourcing computation onlyknows the encrypted secret keys, key updates should becompleted under the encrypted state. In other words, thisauthorized party should be able to update secret keys forcloud storage auditing from the encrypted version he holds.Thirdly, it should be very efficient for the client to recoverthe real secret key from the encrypted version that is retrievedfrom the authorized party. Lastly, the client should be able toverify the validity of the encrypted secret key after the clientretrieves it from the authorized party. The goal of this paperis to design a cloud storage auditing protocol that can satisfyabove requirements to achieve the outsourcing of key updates.The main contributions are as follows:

(1) We propose a new paradigm called cloud storageauditing with verifiable outsourcing of key updates. In thisnew paradigm, key-update operations are not performed bythe client, but by an authorized party. The authorized partyholds an encrypted secret key of the client for cloud storageauditing and updates it under the encrypted state in each timeperiod. The client downloads the encrypted secret key fromthe authorized party and decrypts it only when he would liketo upload new files to cloud. In addition, the client can verifythe validity of the encrypted secret key.

(2) We design the first cloud storage auditing protocol withverifiable outsourcing of key updates. In our design, the third-party auditor (TPA) plays the role of the authorized party whois in charge of key updates. In addition, similar to traditionalpublic auditing protocols [11]–[17], another important task ofthe TPA is to check the integrity of the client’s files stored incloud. The TPA does not know the real secret key of the clientfor cloud storage auditing, but only holds an encrypted version.In the detailed protocol, we use the blinding technique withhomomorphic property to form the encryption algorithm toencrypt the secret keys held by the TPA. It makes our protocolsecure and the decryption operation efficient. Meanwhile, theTPA can complete key updates under the encrypted state. Theclient can verify the validity of the encrypted secret key whenhe retrieves it from the TPA. Therefore, the designed protocolsatisfies the above mentioned four requirements.

(3) We formalize the definition and the security model ofthe cloud storage auditing protocol with verifiable outsourcingof key updates. We also prove the security of our protocol inthe formalized security model and justify its performance byconcrete implementation.

A. Related Work

Outsourcing Computation: How to effectively outsourcetime-consuming computations has become a hot topic in theresearch of the theoretical computer science in the recenttwo decades. Outsourcing computation has been consideredin many application domains. Chaum and Pedersen [24]firstly proposed the notion of wallet databases with observers,

in which a hardware was used to help the client performsome expensive computations. The method for secure out-sourcing of some scientific computations was proposed byAtallah et al. [1]. Chevallier-Mames et al. [25] designedthe first effective algorithm for secure delegation of elliptic-curve pairings based on an untrusted server. The first out-sourcing algorithm for modular exponentiations was proposedby Hohenberger and Lysyanskaya [26], which was basedon the methods of precomputation and server-aided compu-tation. Atallah and Li [27] proposed a secure outsourcingalgorithm to complete sequence comparisons. Chen et al. [4]proposed new algorithms for secure outsourcing of modularexponentiations. Benjamin and Atallah [2] researched on howto securely outsource the computation for linear algebra.Atallah and Frikken [28] gave further improvement based onthe weak secret hiding assumption. Wang et al. [3] presentedan efficient method for secure outsourcing of linear program-ming computation. Chen et al. [29] proposed an outsourc-ing algorithm for attribute-based signatures computations.Zhang et al. [30] proposed an efficient method for outsourcinga class of homomorphic functions.

Cloud Storage Auditing: How to check the integrity of thedata stored in cloud is a hot topic in cloud security. The notionof “provable data possession” (PDP) was firstly proposed byAteniese et al. [5] to ensure data possession at untrustedservers. The notion of “proof of retrievability” (PoR) was pro-posed by Juels et al. [6] to ensure both possession and retriev-ability of data at untrusted servers. Wang et al. [18] proposed apublic privacy-preserving auditing protocol. They used the ran-dom masking technique to make the protocol achieve privacy-preserving property. Proxy provable data possession protocolwas proposed in [17]. The auditing protocols supportingdynamic data operations were also proposed in [13] and [20].Yang and Jia [16] proposed an auditing protocol supportingboth the dynamic property and the privacy preserving prop-erty. The privacy preserving of the user’s identity for shareddata auditing was considered in [19]. The problem of userrevocation in shared data auditing was considered in [21].Yuan and Yu [22] proposed a public auditing protocol fordata sharing with multiuser modification. Sookhak et al. [31]proposed a public cloud auditing protocol for securing bigdata storage based on algebraic signature. Guan et al. [32]proposed the first cloud storage auditing protocol based onindistinguishability obfuscation, which is especially useful forlow-power cloud users. Yang et al. [33] proposed a publicauditing protocol for shared cloud data supporting both iden-tity privacy and identity traceability.

All above auditing protocols are all built on the assumptionthat the secret key of the client is absolutely secure and wouldnot be exposed. In [23], the authors firstly considered the keyexposure problem in cloud storage auditing and proposed acloud storage auditing protocol with key-exposure resilience.In that protocol, the secret keys for cloud storage auditing areupdated periodically. As a result, any dishonest behaviors, suchas deleting or modifying the client’s data previously stored incloud, can all be detected, even if the cloud gets the client’scurrent secret key for cloud storage auditing. However, theclient needs to update his secret key in each time period. It will

1364 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

add obvious computation burden to the client, especially whenkey updates are very frequent.

B. Organization

The rest paper is organized as follows: In Section 2, weintroduce the system model, definitions, and preliminariesof our work. Then, we give a concrete description of ourprotocol in Section 3. Security and performance are analyzedin Section 4. We conclude the paper in Section 5. The detailedsecurity proof is shown in the appendix.

II. MODEL, DEFINITIONS AND PRELIMINARIES

A. Model

We show the system model for cloud storage auditing withverifiable outsourcing of key updates in Fig. 1. There are threeparties in the model: the client, the cloud and the third-partyauditor (TPA). The client is the owner of the files that areuploaded to cloud. The total size of these files is not fixed,that is, the client can upload the growing files to cloud indifferent time points. The cloud stores the client’s files andprovides download service for the client. The TPA plays twoimportant roles: the first is to audit the data files stored incloud for the client; the second is to update the encryptedsecret keys of the client in each time period. The TPA can beconsidered as a party with powerful computational capabilityor a service in another independent cloud. Similar to [23],the whole lifetime of the files stored in cloud is divided intoT + 1 time periods (from 0-th to T -th time periods). Eachfile is assumed to be divided into multiple blocks. In orderto simplify the description, we do not furthermore divideeach block into multiple sectors [7] in the description of ourprotocol. In the end of each time period, the TPA updatesthe encrypted client’s secret key for cloud storage auditingaccording to the next time period. But the public key keepsunchanged in the whole time periods. The client sends the keyrequirement to the TPA only when he wants to upload newfiles to cloud. And then the TPA sends the encrypted secretkey to the client. After that, the client decrypts it to get hisreal secret key, generates authenticators for files, and uploadsthese files along with authenticators to cloud. In addition, theTPA will audit whether the files in cloud are stored correctlyby a challenge-response protocol between it and the cloud atregular time.

B. Definitions

(1) The definition of cloud storage auditing protocol withverifiable outsourcing of key updates.

Definition 1: A cloud storage auditing protocol with secureoutsourcing of key updates is composed by seven algorithms(SysSetup, EkeyUpdate, VerESK, DecESK, AuthGen, Proof-Gen, ProofVerify), shown below:

1) SysSetup: the system setup algorithm is run by theclient. It takes as input a security parameter k andthe total number of time periods T , and generates anencrypted initial client’s secret key E SK0, a decryptionkey DK and a public key P K . Finally, the client holdsDK , and sends E SK0 to the TPA.

Fig. 1. System model of our cloud storage auditing.

2) EkeyU pdate: the encrypted key update algorithm is runby the TPA. It takes as input an encrypted client’s secretkey E SK j , the current period j and the public key P K ,and generates a new encrypted secret key E SK j+1 forperiod j + 1.

3) V er E SK : the encrypted key verifying algorithm is runby the client. It takes as input an encrypted client’s secretkey E SK j , the current period j and the public key P K ,if E SK j is a well-formed encrypted client’s secret key,returns 1; otherwise, returns 0.

4) DecE SK : the secret key decryption algorithm is run bythe client. It takes as input an encrypted client’s secretkey E SK j , a decryption key DK , the current period jand the public key P K , returns the real client’s secretkey SK j in this time period.

5) AuthGen: the authenticator generation algorithm is runby the client. It takes as input a file F , a client’s secretkey SK j , the current period j and the public key P K ,and generates the set of authenticators � for F in timeperiod j .

6) Proof Gen: the proof generation algorithm is run by thecloud. It takes as input a file F , a set of authenticators�,a challenge Chal, a time period j and the public keyP K , and generates a proof P which proves the cloudstores F correctly.

7) Proof V eri f y: the proof verifying algorithm is run bythe TPA. It takes as input a proof P , a challenge Chal,a time period j , and the public key P K , and returns“True” if P is valid; or “False”, otherwise.

(2) Definition of SecurityAs same as other cloud storage auditing protocols [5]–[7],

[9]–[13], [15]–[18], [20], the malicious cloud is viewed asthe adversary in our security model. We use three games(Game 1, Game 2 and Game 3) to describe the adversaries withdifferent compromising abilities who are against the securityof the proposed protocol. Specifically, Game 1 describes anadversary, who fully compromises the TPA to get all encryptedsecret keys E SK j (periods j = 0, . . . , T ), tries to forge avalid authenticator in any time period. This game, in fact,shows the security should satisfy that the TPA cannot helpthe cloud to forge any authenticator in any time period even

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1365

if it knows the encrypted secret keys. Game 2 describes anadversary, who compromises the client to get DK , tries toforge a valid authenticator in any time period. This game,in fact, shows the security should satisfy that an adversarycannot forge any authenticator in any time period even if itgets the decryption secret key DK by attacking the client.Game 3 provides the adversary more abilities, which describesan adversary, who compromises the client and the TPA to getboth E SK j and DK at one time period j , tries to forge a validauthenticator before time period j . This game, in fact, showsthe security should satisfy that an adversary cannot forge anyauthenticator prior to one certain time period if it attacks theTPA and the client simultaneously to get their secret keys inthis time period.

Game 1 is composed of four phases.1) Setup phase. The challenger runs the system setup

algorithm to generate the initial encrypted client’s secretkey E SK0, the decryption key DK and the publickey P K . The challenger updates the encrypted keys toget E SK1, . . . , E SKT by running EkeyU pdate algo-rithm. The challenger sends E SK0, . . . , E SKT and P Kto an adversary A, and holds DK himself. Set timeperiod j = 0.

2) Query phase. A running in his phase can adaptivelyquery the authenticators of the blocks specified by it intime period j as follows.It adaptively selects and sends a series of blocksm1, · · · ,mn to the challenger. The challenger runsDecE SK to decrypt E SK j , computes the authenticatorsfor mi (i = 1, · · · , n) in time period j , and sendsthese authenticators to A. A stores these blocks andauthenticators. Set time period j = j + 1.At the end of each time period, A can select to stay inthis phase or go to the next phase.

3) Challenge phase. The challenger sends the adversary Aa challenge Chal and a time period j∗. The adversary isrequired to produce a proof of possession for the blocksms1, · · · ,msc of file F = (m1, · · · ,mn) under Chal intime period j∗, where 1 ≤ sl ≤ n, 1 ≤ l ≤ c, and1 ≤ c ≤ n.

4) Forgery phase. A outputs a proof of possession Pfor the blocks indicated by Chal in time period j∗.If ProofVerify(P K , j∗, Chal, P) = “True”, then Awins in above game.

Game 2 is similar to the Game 1 except that the Setupphase is a little different. In the Setup phase of Game 2, thechallenger needs to provides A with DK and P K instead ofE SK0, . . . , E SKT and P K in Game 1. Specifically, Game2is also composed of four phases.

1) Setup phase. The challenger runs the system setupalgorithm to generate the initial encrypted client’s secret keyE SK0, the decryption key DK and the public key P K . Thechallenger sends DK and P K to an adversary A, and holdsE SK0 himself. Set time period j = 0.

The phases 2)-4) are the same as those inGame 1.

Game 3 is different from Game 1 and Game 2, in which theadversary is allowed to get encrypted secret key and decryption

key simultaneously at a certain time period. Specifically,Game 3 is composed of five phases.

1) Setup phase. The challenger runs the system setupalgorithm to generate the initial encrypted client’s secretkey E SK0, the decryption key DK and the pub-lic key P K . The challenger sends P K to an adver-sary A, and holds DK and E SK0 himself. Set timeperiod j = 0.

2) Query phase. As same as Game 1.3) Break-in phase. Set the break-in time period b = j .

The challenger sends E SKb and DK to the adversary.It means A can execute DecE SK algorithm to recoverthe secret key SKb.

4) Challenge phase. The challenger sends the adversaryA a challenge Chal and a time period j∗( j∗ < b). Theadversary is required to produce a proof of possessionfor the blocks ms1, · · · ,msc of file F = (m1, · · · ,mn)under Chal in time period j∗, where 1 ≤ sl ≤ n,1 ≤ l ≤ c, and 1 ≤ c ≤ n.

5) Forgery phase. A outputs a proof of possession Pfor the blocks indicated by Chal in time period j∗.If ProofVerify(P K , j∗, Chal, P) = “True”, then Awins in above game.

The above security model formalizes the adversaries withdifferent reasonable abilities who try to cheat the challengerthat he owns one file he in fact does not entirely know. We giveDefinition 2 to show that knowledge extractors can extract thechallenged file blocks when adversaries output valid proofsin above games. Definition 3 describes the detectability forcloud storage auditing protocol, which shows that the cloudactually keeps the blocks that are not challenged with highprobability. Definition 4 describes the verifiability for cloudstorage auditing protocol, which shows that the client canverify whether the TPA provides the well-formed encryptedsecret key.

Definition 2: We say a cloud storage auditing protocol withverifiable outsourcing of key updates is secure if the followingcondition holds: whenever an adversary A in above games thatcan cause the challenger to accept its proof with non-negligibleprobability, there exists efficient knowledge extractors thatcan extract the challenged file blocks except possibly withnegligible probability.

Definition 3: A cloud storage auditing protocol with veri-fiable outsourcing of key updates is called a (ρ, δ) detectableprotocol (0 < ρ, δ < 1) if, given a fraction ρ of corruptedblocks, the probability that the corrupted blocks are found isat least δ.

Definition 4: We say the cloud storage auditing protocolwith outsourcing of key updates is verifiable if the validencrypted secret keys provided by the TPA will always passthe client’s verification, while the invalid ones will always bedetected.

C. Preliminaries

Definition 5: Let G1 and G2 be two multiplicative cyclicgroup with the same prime order q . A bilinear pairing is amap e : G1 × G1 → G2 which satisfies:

1366 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

TABLE I

NOTATIONS

1) Bilinearity: ∀g1, g2 ∈ G1 and a, b ∈R Z∗q , there is

e(ga1 , gb

2) = e(g1, g2)ab.

2) Non-degeneracy: For some g1, g2 ∈ G1, e(g1, g2) �= 1.3) Computability: There is an efficient algorithm to com-

pute this map.Definition 6: Assume g is a generator of a multiplicative

group with the prime order q . The CDH problem is thatcompute gab when given ga and gb (a, b ∈R Z∗

q).

III. OUR PROPOSED PROTOCOL

A. High-Level Technique Explanation

Our design is based on the structure of the protocol proposedin [23]. So we use the same binary tree structure as [23] toevolve keys, which has been used to design several crypto-graphic schemes [34], [35]. This tree structure can make theprotocol achieve fast key updates and short key size. Oneimportant difference between the proposed protocol and theprotocol in [23] is that the proposed protocol uses the binarytree to update the encrypted secret keys rather than the realsecret keys. One problem we need to resolve is that the TPAshould perform the outsourcing computations for key updatesunder the condition that the TPA does not know the real secretkey of the client. Traditional encryption technique is not suit-able because it makes the key update difficult to be completedunder the encrypted condition. Besides, it will be even moredifficult to enable the client with the verification capabilityto ensure the validity of the encrypted secret keys. To addressthese challenges, we propose to explore the blinding techniquewith homomorphic property to efficiently “encrypt” the secretkeys. It allows key updates to be smoothly performed underthe blinded version, and further makes verifying the validityof the encrypted secret keys possible. Our security analysislater on shows that such blinding technique with homomorphicproperty can sufficiently prevent adversaries from forging anyauthenticator of valid messages. Therefore, it helps to ensure

our design goal that the key updates are as transparent aspossible for the client. In the designed SysSetup algorithm,the TPA only holds an initial encrypted secret key and theclient holds a decryption key which is used to decrypt theencrypted secret key. In the designed K eyU pdate algorithm,homomorphic property makes the secret key able to be updatedunder encrypted state and makes verifying the encrypted secretkey possible. The V er E SK algorithm can make the clientcheck the validity of the encrypted secret keys immediately.In the end of this section, we will discuss the technique abouthow to make this check done by the cloud if the client is notin urgent need to know whether the encrypted secret keys arecorrect or not.

B. Notations and Structures

In Table 1, we show some notations used in the descriptionof our protocol. The whole lifetime of files stored in cloud isdivided into discrete time periods 0, . . . , T , and the same fullbinary tree with depth l as in [23] is used to appoint thesetime periods. We associate each period with each node of thetree by pre-order traversal technique, so total 2l − 1 periods(here T = 2l − 2) can be associated with this binary tree.Begin with root node w0 = ε. If w j is an internal node, thenw j+1 = w′0; if w j is a leaf node, then w j+1 = w′1 , wherew′ is the longest string such that w′0 is a prefix of w j . Eachnode, corresponding to time period j , in the binary tree hasone key pair (E Sw j , Rw j ).

The TPA holds the client’s encrypted secret key E SK j inperiod j , which is composed by two parts X j and � j . The firstpart X j is a set composed by the key pair (E Sw j , Rw j ) and thekey pairs of the right siblings of the nodes on the path from theroot to w j . That is, X j comprises the secret key (E Sw′1, Rw′1)if and only if w′0 is a prefix of w j . We use a stack toorganize the first part X j , which is initially set (E S, R) ontop in time period 0. The second part � j comprises the

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1367

Fig. 2. An example show time periods and the corresponding secret keys.

verification values from the root to node w j except the root.So � j = (Rw j |1 , · · · , Rw j |t ) if w j = w1 · · ·wt . Fig. 2 showsan example about how to use a binary tree with depth l = 2to associate time periods and the corresponding secret keys.

C. Description of the Protocol

Following the same assumption as [23], the client has helda secret key for a signature SSig, which is used to ensurethe integrity of not only the file identifier name but also thetime period j . Below we give the detailed description of ourprotocol.

1) Algorithm SysSetup: Input a security parameter k andthe total time period T . Then

a) The client selects ρ, τ ∈R Z∗q , and computes

R = gρ , G = gτ and E S = H1(R)ρ−τ .b) The client sets X0 = {(E S, R)} and

�0 = ∅(where ∅ is null set), and sends theinitial encrypted secret keys SK0 = (X0,�0) tothe TPA. The client sets DK = τ , and keeps ithimself. The client randomly selects a generator uof group G1.

c) The public key is P K = (R,G, u). Delete allintermediate data.

2) Algorithm EkeyUpdate: Input an encrypted secretkey E SK j , the current time period j , and the publickey P K .Parse E SK j = (X j ,� j ). X j is organized as a stackwhich consists of (E Sw j , Rw j ) and the key pairs of theright siblings of the nodes on the path from the rootto w j . The top element of the stack is (E Sw j , Rw j ).Firstly, pop (E Sw j , Rw j ) off the stack. Then do asfollows:

a) If w j is an internal node (w j+1 = w j 0in this case), select ρw j 0, ρw j 1 ∈R Z∗

q . Andthen compute Rw j 0 = gρw j 0 , Rw j 1 = gρw j 1 ,hw j 0 = H2(w

j 0, Rw j 0), hw j 1 = H2(wj 1, Rw j 1),

E Sw j 0 = E Sw j · H1(R)ρw j 0h

w j 0 and E Sw j 1 =E Sw j · H1(R)

ρw j 1h

w j 1 . Push (E Sw j 1, Rw j 1) and

(E Sw j 0, Rw j 0) onto the stack orderly. Let X j+1denote the current stack and define � j+1 =� j

⋃{Rw j 0}.b) If w j is a leaf, define X j+1 with the current stack.

i) If wt = 0 (the node w j+1 is the right siblingnode of w j in this case), then set � j+1 =� j

⋃{Rw j+1}−{Rw j } ( Rw j+1 can be read fromthe new top (E Sw j+1 , Rw j+1) of the stack).

ii) If wt = 1 (w j+1 = w′′1 in this case, wherew” is the longest string such that w′′0 is aprefix of w j ), then set � j+1 = � j

⋃{Rw j+1}−{Rw′′0, Rw′′01, · · · , Rwt } ( Rw j+1 can be readfrom the new top (E Sw j+1 , Rw j+1) of thestack).

c) Finally, erase key pair (E Sw j , Rw j ), and returnE SK j+1 = (X j+1,� j+1).

3) Algorithm VerESK: Input a client’s encrypted secretkey E SK j = (X j ,� j ), the current period j and thepublic key P K . Verify whether the following equationholds:

e(g, E Sw j ) = e(R/G ·∏t

m=1Rw j 1

hw j 1, H1(R)),

where hw j = H2(wj , Rw j ).

If above equation holds, return 1; otherwise, return 0.4) Algorithm DecESK: Input an encrypted client’s secret

key E SK j , a decryption key DK , the current period j ,and the public key P K . The client decrypts the secretkey as follows.

Sw j = E Sw j · H1(R)τ.

The real secret key is SK j = (X ′j ,� j ), where X ′

j is thesame stack as X j except that the top element in X ′

j is(Sw j , Rw j ) instead of (E Sw j , Rw j ) in X j .

5) Algorithm AuthGen: Input a file F = {m1, · · · ,mn},a client’s secret key SK j , the current period j and thepublic key P K .

a) The client parses SK j = (X ′j ,� j ) and reads the

top element (Sw j , Rw j ) from the stack X ′j . The

1368 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

client selects r ∈R Z∗q , and computes U = gr

and σi = H3(name||i || j,U)r · Sw j · urmi

(i = 1, · · · , n), where the name name is chosenrandomly from Z∗

q as the identifier of file F .In order to ensure the integrity of name and j , theclient also generates a file tag for F and j usingthe signature SSig.

b) Denote the set of authenticators in time period jwith � = ( j,U, {σi}1≤i≤n,� j ).

c) Finally, the client sends the file F and the set ofauthenticators along with the file tag to cloud.

6) Algorithm ProofGen: Input a file F , a set of authen-ticators � = ( j,U, {σi}1≤i≤n,� j ), a time period j , achallenge Chal = {(i, vi )}i∈I (where I = {s1, · · · , sc}is a c-element subset of set [1, n] and vi ∈ Zq) and thepublic key P K .

The cloud calculates an aggregated authenticator� = ( j,U, σ,� j ) , where σ = ∏

i∈I σvii . It

also computes μ = ∑i∈I vi mi . It then sends

P = ( j,U, σ, μ,� j) along with the file tag as theresponse proof of storage correctness to the TPA.

7) Algorithm ProofVerify: Input a proof P , a challengeChal, a time period j and the public key P K .

The TPA parses � j = (Rw j |1, · · · , Rw j |t ). He thenverifies the integrity of name and j by checking the filetag. After that, the client verifies whether the followingequation holds:

e(R ·∏t

m=1R

hw j |mw j |m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j,U)vi) = e(g, σ ),

where hw j = H2(wj , Rw j ).

If it holds, returns “True”, otherwise returns “False”.

D. How to Remove the Encrypted Secret KeyVerification of the Client

If the client is not in urgent need to know whether theencrypted secret keys downloaded from the TPA are correct,we can remove his verifying operations and make the cloudperform the verification operations later. In this case, we candelete the V er E K ey algorithm from our protocol. When theclient updates blocks and authenticators to cloud, the cloudneeds to verify whether the following equation holds for anyblock mi .

e(R/G ·∏t

m=1Rw j |m

hw j |m , H1(R))

· e(U, umi · H3(name||i || j,U))= e(g, σi ).

If it holds, then the encrypted secret key must be correct.In this way, the client does not need to verify the encryptedsecret keys right after he downloads it from the TPA. As aresult, the computation burden of the client can be furthersaved.

IV. SECURITY AND PERFORMANCE

A. Security Analysis

Theorem 1 (Correctness): For each random challengeChal and one valid proof P = ( j,U, σ, μ,� j ), theProofVerify algorithm always returns “T rue”.

Proof: It is because the following equations hold:

e(R ·∏t

m=1Rw j |m

hw j |m , H1(R)

∑i∈I vi )

· e(U, uμ ·∏

i∈IH3(name||i || j,U)vi )

= e(∏

i∈Igvi (ρ+∑t

m=1 ρw j |m hw j |m ), H1(R))

· e(g, urμ) · e(U,∏

i∈IH3(name||i || j,U)vi )

= e(g,∏

i∈IH1(R)

vi (ρ+∑tm=1 ρw j |m h

w j |m ))

· e(g, u∑

i∈I rmi vi ) · e(gr ,∏

i∈IH3(name||i || j,U)vi )

= e(g,∏

i∈IH3(name||i || j,U)vi r )

· e(g,∏

i∈I(H1(R)

vi (ρ+∑tm=1 ρw j |m h

w j |m ) · urmi vi ))

= e(g,∏

i∈I(H3(name||i || j,U)r

· H1(R)ρ−τ+τ+∑t

m=1 ρw j |m hw j |m · urmi )vi )

= e(g,∏

i∈Iσivi )

= e(g, σ )

Theorem 2 (Security): If the CDH problem in G1 is hard,then the proposed cloud storage auditing protocol with verifi-able outsourcing of key updates is secure.

Proof: According to Definition 2, this theorem can bededuced from the following three lemmas.

Lemma 1: If the CDH problem in G1 is hard, wheneveran adversary A in Game 1 that can cause the challenger toaccept its proof with non-negligible probability, there existsefficient knowledge extractors that can extract the challengedfile blocks except possibly with negligible probability.

Proof: Please see Appendix A.Lemma 2: If the CDH problem in G1 is hard, whenever

an adversary A in Game 2 that can cause the challenger toaccept its proof with non-negligible probability, there existsefficient knowledge extractors that can extract the challengedfile blocks except possibly with negligible probability.

Proof: Please see Appendix B.Lemma 3: If the CDH problem in G1 is hard, whenever

an adversary A in Game 3 that can cause the challenger toaccept its proof with non-negligible probability, there existsefficient knowledge extractors that can extract the challengedfile blocks except possibly with negligible probability.

Proof: Please see Appendix C.Theorem 3 (Detectability): Our auditing protocol is

( tn , 1 − ( n−1

n )c) detectable if the cloud stores a file with nblocks, and deletes or modifies t blocks.

Proof: Assume that the cloud stores a file with totaln blocks including t bad (deleted or modified) blocks. Thenumber of challenged blocks is c. Thus, the bad blocks canbe detected if and only if at least one of the challengedblocks picked by the TPA matches the bad blocks. Let X bea discrete random variable that is defined to be the numberof blocks chosen by the challenger that matches the block-tag pairs modified by the adversary. The probability that atleast one of the blocks picked by the challenger matches oneof the blocks modified by the adversary is denoted as PX .

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1369

Fig. 3. The key update time on client side in the proposed scheme and thescheme [23].

We have:

PX = P{X ≥ 1}= 1 − P{X = 0}= 1 − n − t

n

n − 1 − t

n − 1· · · · · n − c + 1 − t

n − c + 1

Thus, we can get PX ≤ 1 − ( n−tn )c.

Theorem 4 (Verifiability): The proposed cloud storageauditing protocol with outsourcing of key updates is verifiable.

Proof: If the encrypted secret key downloaded from theTPA is valid, then E Sw j = H1(R)ρ−τ ∏t

m=1 H1(R)ρw j 1h

w j 1 .So

e(g, E Sw j )

= e(g, H1(R)ρ−τ ∏t

m=1H1(R)

ρw j 1h

w j 1)

= e(gρ−τ ·∏t

m=1gρw j 1h

w j 1 , H1(R))

= e(R/G ·∏t

m=1Rw j 1

hw j 1, H1(R)).

It means the valid encrypted secret key can pass theV er E SK algorithm.

If the encrypted secret key downloaded from the TPAis invalid, then E Sw j �= H1(R)ρ−τ ∏t

m=1 H1(R)ρw j 1h

w j 1 .We can know e(g, E Sw j ) �= e(R/G ·∏t

m=1 Rw j 1hw j 1, H1(R)).

It means the client can detect it is invalid in the V er E SKalgorithm.

Therefore, this theorem holds.

B. Performance Analysis

We evaluate the performance of the proposed schemethrough several experiments that are implemented with thehelp of the Pairing-Based Cryptography (PBC) library [36].We carry out these experiments on a Linux server with Intelprocessor running at 2.70 GHz and 4 GB memory. The ellipticcurve picked to realize bilinear mapping is a supersingularcurve with fast pairing operation, and the order of the curvegroup has 160 bits. In this case, the size of an elementin Z∗

q is 20 bytes, and the size of an element in G1 is128 bytes. The data file in our experiments is 20 M comprising

Fig. 4. The time to verify and recover an encrypted secret key (ESK) indifferent time periods.

Fig. 5. The time of auditing procedures with different number of checkedblocks.

1,000,000 blocks. For simplification, we set the total timeperiod T = 14 which means we can use a full binary treewith depth 2 to associate with these time periods. All exper-imental results are taken as the mean values from multipleexecutions.

In the proposed scheme, the key update workload is out-sourced to the TPA. In contrast, the client has to updatethe secret key by itself in each time period in scheme [23].We compare the key update time on client side between theboth schemes in Fig. 3. In scheme [23], the key update timeon the client is related to the depth of the node correspondingto the current time period in binary tree. When the depth ofnode corresponding to the current time period is 0 or 1 (thenode is internal node), the update time is about 12.6ms; whenit is 2 (the node is leaf node), the update time is almost zero.In our scheme, the key update time on client side is zero inall time periods.

When the client wants to upload new files to the cloud, itneeds to verify the validity of the encrypted secret key fromthe TPA and recover the real secret key. We show the timefor these two processes happened in different time periodsin Fig. 4. In practice, these processes do not happen in most

1370 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

Fig. 6. Communicational Cost. (a) The size of the challenge message with different number of checked blocks. (b) The size of the proof message in differenttime periods.

of time periods. They only happen in the time periods when theclient needs to upload new files to the cloud. Furthermore, thework for verifying the correctness of the encrypted secret keycan fully be done by the cloud if we use the method in theend of Section 3.

We demonstrate the time of the challenge generationprocess, the proof generation process, and the proof verifi-cation process with different number of checked data blocksin Fig. 5. In our evaluation, the number of checked block variesfrom 100 to 1,000. All the time of these processes increaselinearly with the number of checked blocks. The challengegeneration process spends the least time, which is 0.35s atmost; the proof generation process spends more time, varyingfrom 0.19s to 1.89s; the proof verification process spends themost time varying from 0.62s to 6.12s.

In our scheme, the communicational messages comprise thechallenge message and the proof message. From Fig. 6 (a), wecan see that the challenge message is linear with the numberof checked blocks. The size of challenge message is 2.25 KBwhen the checked blocks are 100, and increases to 22.5 KBwhen the checked blocks are 1,000. As analyzed in [5], whenthe number of checked blocks is 460, the TPA can detect thedata abnormity in the cloud with a probability at least 99%.In this case, the challenge message would be 10.35 KB.From Fig. 6 (b), we can see that the size of proof messagevaries with the depths of nodes corresponding to time periods.In period 0, the proof message is the shortest, which is276.5 bytes, since the depth of the corresponding node is 0.And the longest proof messages appear at the leaves of thetree, which is 0.66 KB.

V. CONCLUSION

In this paper, we study on how to outsource key updates forcloud storage auditing with key-exposure resilience. We pro-pose the first cloud storage auditing protocol with verifiableoutsourcing of key updates. In this protocol, key updates areoutsourced to the TPA and are transparent for the client.In addition, the TPA only sees the encrypted version of the

client’s secret key, while the client can further verify thevalidity of the encrypted secret keys when downloading themfrom the TPA. We give the formal security proof and theperformance simulation of the proposed scheme.

APPENDIX APROOF OF THE LEMMA 1

Proof: We define a series of games, and analyze thedifference in adversary behavior between successive games.

Game a. Game a is the same as Game 1, with only onedifference. The challenger holds a list that contains signed tagsever issued as part of authenticator queries. If the adversaryissues one tag, the challenger will abort when this tag is avalid signature produced by SSig algorithm but not signed bythe challenger.

Analysis: If the adversary can make the challenger abortin Game a with non-negligible probability, it is obvious thatthe adversary can be transformed to a forger against theSSig signature algorithm. So it means that name, j andany verification value in � j used in the interactions with theadversary are all generated by the challenger.

Game b. Game b is the same as Game a, with only onedifference. The challenger holds a list to keep his responsesto authenticator queries made by the adversary. If the adver-sary is successful in the game but U in the proof P isdifferent from the actual U in the set of authenticators� = ( j,U, {σi}1≤i≤n,� j ) that the challenger has kept, thenthe challenger will abort.

Analysis: If the adversary ia able to make the challenger inGame b abort, we will construct a simulator S that is usedto solve the CDH problem in G1. S behaves like the Game achallenger, only with the following differences:

Setup Phase: Firstly, S is given atuple (g, I1 = H1(R) = ga′ ∈ G1,I2 = R = gb′ ∈ G1). The aim of S is to compute ga′b′

, whereb′ = ρ and a′, b′ ∈ Z∗

q are unknown to S and A. S randomlyselects α ∈ Z∗

q , and sets E S = H1(R)α and G = R · g−α.

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1371

It means DK = τ = b′ − α, but S and A do not know it.S can know E SK0 = (X0,�0), where X0 = {(E S, R)} and�0 = ∅. He selects β ∈R Z∗

q , and computesu = gβ . S executes EkeyU pdate algorithm to generateE SK0, . . . , E SKT . After this procedure, S has definedρw j |m , and computed hw j |m (m = 1, . . . , t). Then he providesE SK0, . . . , E SKT and P K = (R,G, u) to A.

Query PhaseH3 Queries: S holds a list of queries. When A queries H3

oracle at a point < name||i || j,U >, S does as follows.He checks whether < name||i || j,U > has been included

in a tuple < name||i || j,U, h, λ, γ > of H3 table.(1) If it is, S returns h to A.(2) Otherwise, S selects λ ∈R Z∗

q , and computes h = gλ.He adds tuple < name||i || j,U, h, λ, ∗ > to H3 table andreturns h to A.

Authenticator Queries: S holds a list of queries. When Amakes the authenticator query on block mi with name namein time period j , S does as follows.

(1) Firstly, S selects γ, λi ∈R Z∗q , and computes U = Rγ

(It means r = γρ) and h = gλi · I1−1/γ . If H3(name||i || j,U)

has been defined, then S aborts. Because the space from whichnames are selected is very large and U is random, except withnegligible probability, the same name and U have been chosenby S before for some other file and a query has not beenmade to this random oracle at < name||i || j,U >. S adds< name||i || j,U, h, λi, γ > to H3 table.

(2) Secondly, he computes hw j |m = H2(wj |m , Rw j |m ) and

sets � j = (Rw j |1, . . . , Rw j |t ). He computes

ψ = Rλiγ+βγmi · I1

∑tm=1 h

w j |m ρw j |m .It is because

ψ = H3(name||i || j,U)ργ · I1ρ+∑t

m=1 hw j |m ρw j |m · uργmi

= (gλi · I1−1/γ )ργ · I1

ρ+∑tm=1 h

w j |m ρw j |m · gβργmi

= Rλiγ+βγmi · I1

∑tm=1 h

w j |m ρw j |m .

(3) Finally, S responds < j,U, ψ,� j ) > to A.Challenge Phase: S randomly selects a challenge

Chal = {(i, vi )}i∈I , where I = {s1, s2, · · · ,sc}, and a time period j∗. And thenS provides A with Chal and j∗. S requests A toprove that A possesses the blocks {ms1, · · · ,msc} of fileF = {m1, · · · ,mn}.

Forgery Phase: A outputs a proof P = ( j,U, σ, μ,� j )as the response proof. If ProofVerify( j∗, P K ,Chal, P) =“True”, then

e(R ·∏t

m=1R

hw j∗ |mw j∗ |m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j∗,U)vi ) = e(g, σ ).

If U in the A’s proof P = ( j,U, σ, μ,� j ) is dif-ferent from the real U in the set of authenticators� = ( j,U, {σi}1≤i≤n,� j ) that S has kept, S abstracts< name||i || j∗,U, h, λi , ∗ > from H3 table to getH3(name||i || j∗,U) = gλi with high probability. It is obviousthat the probability

∑i∈I vi = 0 is negligible. Using hw j∗|m ,

ρw j∗|m generated during the key update of Setup phase, S cansolve the CDH problem as follows.

e(R ·∏t

m=1Rw j∗ |m

hw j∗ |m , H1(R)

∑i∈I vi )

· e(U, uμ ·∏

i∈IH3(name, i, j∗,U)vi ) = e(g, σ )

⇒ e(R∑

i∈I vi ·∏t

m=1gρw j∗ |m h

w j∗ |m ·∑i∈I vi , H1(R))

· e(U, gβμ ·∏

i∈Igλivi ) = e(g, σ )

⇒ e(gb′ · ∑i∈I vi, ga′

) · e(g∑t

m=1 ρw j∗ |m hw j∗ |m ·∑i∈I vi , I1)

· e(U, gβμ+∑i∈I λivi ) = e(g, σ )

⇒ e(g, ga′b′·∑i∈I vi ) · e(g, I1

∑tm=1 ρw j∗ |m h

w j∗ |m ·∑i∈I vi )

· e(g,Uβμ+∑i∈I λivi ) = e(g, σ )

⇒ ga′b′ = (σ · U−(βμ+∑i∈I λivi )

· I1− ∑t

m=1 ρw j∗ |m hw j∗ |m ·∑i∈I vi )1/

∑i∈I vi

It means that U in prover’s proof P = ( j,U, σ, μ,� j )should be correct. So the difference between A’s probabilityof success in Game a and Game b is negligible.

Game c. Game c is the same as Game b, with only one dif-ference. The challenger holds a list that contains its responsesto A’s authenticator queries. The challenger observes eachinstance of the game with the adversary. If A succeeds inany instance but A’s aggregate authenticator σ is not equalto the real aggregate authenticator σ = ∏

i∈I σvii , then the

challenger will abort.Analysis: Assume the file F = {m1, · · · ,mn} with name

name causes the abort in time period j , and the corre-sponding set of authenticators provided by challenger are� = ( j,U, {σi}1≤i≤n,� j = (Rwj|1, · · · , Rwj|t )). Let( j,Chal = {(i, vi )}i∈I ) be the query that causes the abort,and P = ( j,U, σ ′, μ′,� j ) be the proof provided by theadversary. Let the expected response from an honest proverbe P = ( j,U, σ, μ,� j ). The correctness of the proof meansthe following equation holds.

e(R ·∏t

m=1R

hwj |mwj|m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j,U)vi) = e(g, σ ).

It is obvious that σ �= σ ′ and σ ′ can pass the verificationequation because the challenger aborts. So

e(R ·∏t

m=1R

hwj |mwj|m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j,U)vi) = e(g, σ ′).

We can know μ �= μ′, otherwise, it means σ = σ ′, whichcontradicts the above assumption. Let �μ = μ′ − μ.

We now construct a simulator S that is used to solve theCDH problem in G1 if the adversary A can make S abort withnon-negligible probability. S acts like the Game b challenger,with the following differences:

Firstly, S is given a tuple (g, ga′ = H1(R), v = R); thefinal goal is to compute va′

. In Setup phase, S randomlyselects α ∈ Z∗

q , and sets E S = H1(R)α and G = R · g−α.

1372 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

It means DK = τ = b′ − α, but S and A do not know it.S can know E SK0 = (X0,�0), where X0 = {(E S, R)} and�0 = ∅. S sets u = gβvγ for some β, γ ∈R Z∗

q . S executesEkeyU pdate algorithm to generate E SK0, . . . , E SKT , andprovides E SK0, . . . , E SKT and P K = (R,G, u) to A.S controls a random oracle H3, and stores a list of queries.

When A makes a H3 oracle query at < name||i || j,U >,S will check if < name||i || j,U > is in a tuple <name||i || j,U, h, λ, γ > of H3 table. If it is in, S providesh to A; Otherwise, S selects λ ∈R Z∗

q , and computes h = gλ.It adds tuple < name||i || j,U, h, λ, ∗ > to H3 table andprovides h to A.S holds a list of authenticator queries. If A queries the

authenticator of one block mi with name name in timeperiod j , S selects λi , η ∈R Z∗

q , computes U = (ga′)η, and

sets h = gλi ·g− αη ·(gb′

)1η /(gβvγ )mi . According to our previous

analysis, H3(name||i || j,U) has not been defined except possi-bly with negligible probability. S can compute authenticator σi

and respond it to A because σi = H3(name||i || j,U)a′η · Swj ·

ua′ηmi = (gλi ·g− αη ·(gb′

)1η /(gβvγ )mi )a

′η ·Swj ·((gβvγ )mi )a′η =

(ga′)λiη · Swj · (ga′

)−α · ga′b′ = (ga′

)λiη · Swj · H1(R)−α+b′ =(ga′

)λiη · Swj · H1(R)−τ = (ga′)λiη · E Swj . Here, E Swj as a

part of E SK j has been known by S in Setup phase. Finally,S adds < name||i || j,U, h, λi, η > to H3 table.

If A responds with a proof P = ( j,U, σ ′, μ′,� j ) inwhich σ ′ is different from the expected σ , and finallysuccesses in the above game, S can extract an tuple <name||i || j,U, h, λi, η > (i ∈ I ) from H3 table. Andthen S can divide the verification equation for forged σ ′by the verification equation for the expected σ to gete(σ ′/σ, g) = e(U, u�μ) = e(U, (gβvγ )�μ). So e(σ ′ · σ−1 ·U−β�μ, g) = e((ga′

)η, v)γ�μ. S can solve the CDH problem

va′ = (σ ′ · σ−1 · U−β�μ)1

ηγ�μ .Therefore, we can construct a simulator S to solve the

CDH problem if there is a non-negligible difference betweenthe adversary’s probabilities of success in Game b andGame c.

Game d. Game d is the same as Game c, with only onedifference. The challenger observes each instance of the gamewith the adversary. If the adversary succeeds in any instancebut there is one adversary’s aggregate message μ is not equalto the real aggregate message μ = ∑

i∈I vi mi , then thechallenger will abort.

Analysis: There exists a non-negligible difference betweenthe adversary’s probabilities of success in Game c and Gamed as long as the CDH problem in G1 is difficult. Thisanalysis is similar to the analysis of Game 4 in [23]. Here, weomit it.

As a result, there is only negligible difference probabilitybetween these games.

And then, we can construct a knowledge extractor to extractall challenged file blocks ms1, · · · ,msc . By using independentcoefficients v1, · · · , vc to execute Challenge phase on thesame blocks ms1, · · · ,msc for c times, the extractor obtainsc independent linear equations in the variables ms1, · · · ,msc .It is easy for the extractor to extract ms1, · · · ,msc by solvingthese equations.

APPENDIX BPROOF OF THE LEMMA 2

Proof: We define a series of games, and analyzethe difference in adversary behavior between successivegames.

Game a’. Game a’ is the same as Game 2, with only onedifference. The challenger holds a list that contains signed tagsever issued as part of authenticator queries. If the adversaryissues one tag, the challenger will abort when this tag is avalid signature produced by SSig algorithm but not signed bythe challenger.

According to the analysis in APPENDIX A, the chal-lenger cannot abort in Game a’ with non-negligibleprobability.

Game b’. Game b’ is the same as Game a’, with only onedifference. The challenger holds a list to keep his responsesto authenticator queries made by the adversary. If the adver-sary is successful in the game but U in the proof P isdifferent from the actual U in the set of authenticators � =( j,U, {σi}1≤i≤n,� j ) that the challenger has kept, then thechallenger will abort.

Analysis: If an adversary S is able to make the challengerin Game b abort, we will construct a simulator S that is usedto solve the CDH problem in G1. S behaves like the Game a’challenger, only with the following differences:

Setup Phase: Firstly, S is given a tuple (g, I1 = H1(R) =ga′ ∈ G1, I2 = R = gb′ ∈ G1). The aim of S is to computega′b′

, where where b′ = ρ and a′, b′ ∈ Z∗q are unknown to

S and A. S selects τ, β ∈R Z∗q , and computes G = gτ and

u = gβ . Then S provides P K = (R,G, u) and DK = τto A.

Query Phase: In order to answer the queries from A, Sneeds to make some preparation for key updates. We usewj = w1 · · ·wt to denote the node associated with the currenttime period j ( j < b). He does as follows.

(1) if wj is the leaf, S does nothing.(2) Otherwise, S selects ρwj0, ρwj1, hwj0, hwj1 ∈R Z∗

q , andcomputes Rwj0 = ghwj0 , Rwj1 = ghwj1 , hwj0 = H2(wj0, Rwj0)and hwj1 = H2(wj1, Rwj1).

H3 Queries: S holds a list of queries. When A queries H3oracle at a point < name||i || j,U >, S does as follows.

He checks whether < name||i || j,U > has been includedin a tuple < name||i || j,U, h, λ, γ > of H3 table.

(1) If it is, S returns h to A.(2) Otherwise, S selects λ ∈R Z∗

q , and computes h = gλ.He adds tuple < name||i || j,U, h, λ, ∗ > to H3 table andreturns h to A.

Authenticator Queries: S holds a list of queries. When Amakes the authenticator query on block mi with name namein time period j , S does as follows.

(1) Firstly, S selects γ, λi ∈R Z∗q , and computes U = Rγ

and h = gλi · I1−1/γ . According to the previous analysis, the

probability that the same name and U have been chosen by Sis negligible. S adds < name||i || j,U, h, λi, γ > to H3 table.

(2) Secondly, he sets � j = (Rw j |1, . . . , Rw j |t ) and com-

putes ψ = Rλiγ+βγmi · I1

∑tm=1 h

w j |m ρw j |m .(3) Finally, S responds < j,U, ψ,� j ) > to A.

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1373

Challenge Phase: The challenger randomly selects a chal-lenge Chal = {(i, vi )}i∈I , where I = {s1, s2, · · · , sc},and a time period j∗. And then S provides A with Chaland j∗. S requests A to prove that A possesses the blocks{ms1, · · · ,msc} of file F = {m1, · · · ,mn}.

Forgery Phase: A outputs a proof P = ( j,U, σ, μ,� j )as the response proof. If ProofVerify( j∗, P K ,Chal, P) =“True”, then

e(R ·∏t

m=1R

hw j∗ |mw j∗ |m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j∗,U)vi ) = e(g, σ ).

If U in A’s proof P = ( j,U, σ, μ,� j) is different from thereal U in the set of authenticators � = ( j,U, {σi}1≤i≤n,� j )that S has kept, S abstracts tuple < name||i || j∗,U, h, λi , ∗ >from H3 table to get H3(name||i || j∗,U) = gλi with highprobability. According to the analysis in APPENDIX A,S can solve the CDH problem in G1 with highprobability.

It means that U in prover’s proof P = ( j,U, σ, μ,� j )should be correct. So the difference between the adver-sary’s probability of success in Game a’ and Game b’ isnegligible.

Game c’. Game c’ is the same as Game b’, with onlyone difference. The challenger holds a list that contains itsresponses to the adversary’s authenticator queries. The chal-lenger observes each instance of the game with the adversary.If the adversary in any instance succeeds but the adversary’saggregate authenticator σ is not equal to the real aggregateauthenticator σ = ∏

i∈I σvii , then the challenger will abort.

Analysis: Let the file F = {m1, · · · ,mn} with namename causes the abort in time period j , and the corre-sponding set of authenticators provided by challenger are� = ( j,U, {σi}1≤i≤n,� j = (Rwj|1 , · · · , Rwj|t )). Let( j,Chal = {(i, vi )}i∈I ) be the query that causes the abort,and P = ( j,U, σ ′, μ′,� j ) be the proof provided by theadversary. Let the expected response from an honest proverbe P = ( j,U, σ, μ,� j ). The correctness of the proof meansthe following equation holds.

e(R ·∏t

m=1R

hwj |mwj|m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j,U)vi) = e(g, σ ).

It is obvious that σ �= σ ′ and σ ′ can pass the verificationequation because the challenger aborts. So

e(R ·∏t

m=1R

hwj |mwj|m , H1(R)

∑i∈I vi ) · e(U, uμ

·∏

i∈IH3(name||i || j,U)vi) = e(g, σ ′).

We can know μ �= μ′, otherwise, it means σ = σ ′, whichcontradicts the above assumption. Let �μ = μ′ − μ.

Here, we construct a simulator S to solve the CDH problemin G1.S is given as inputs tuple (g, ga′

, v); his final goal is tocompute va′

. S behaves like the Game b’ challenger, with thefollowing differences:

In Setup phase, S sets u = gβvγ for some β, γ ∈R Z∗q .

He also selects SK0 by himself, and generates secret keys

Swj of all the time periods j . S selects τ ∈R Z∗q , and sends

DK = τ to A.S controls a random oracle H3, and holds a list of queries.

When A make a H3 oracle query at < name||i || j,U >, Swill check whether it is in a tuple < name||i || j,U, h, λ, γ >of H3. If it is in, S returns h to A; Otherwise, selects λ ∈R Z∗

q ,computes h = gλ, and adds tuple < name||i || j,U, h, λ, ∗ >to H3 table. Finally, S returns h to A.S holds a list of authenticator queries. When A queries

the authenticator of block mi with name name in timeperiod j , S does as follows. He selects λi , η ∈R Z∗

q ,

computes U = (ga′)η, and sets h = gλi /(gβvγ )mi . The

probability that H3(name||i || j,U) has been defined is neg-ligible. S can compute authenticator σi and respond it toA because σi = H3(name||i || j,U)a

′η · Swj · ua′ηmi =(gλi/(gβvγ )mi )a

′η · Swj ·((gβvγ )mi )a′η = (ga′

)λiη · Swj . S adds< name||i || j,U, h, λi, η > to H3 table.

If A responds with a proof P = ( j,U, σ ′, μ′,� j ) inwhich σ ′ is different from the expected σ , and succeeds inthe game, S extracts an tuple< name||i || j,U, h, λi, η > fromH3 table. And then S divides the verification equation forforged σ ′ by the verification equation for the expectedσ to get e(σ ′/σ, g) = e(U, u�μ) = e(U, (gβvγ )�μ).So e(σ ′ · σ−1 · U−β�μ, g) = e((ga′

)η, v)γ�μ.

So S can solve the CDH problem va′ = (σ ′·σ−1·U−β�μ)1

ηγ�μ .Therefore, we can construct a simulator S to solve the

CDH problem in G1 if there exists a non-negligible differencebetween the adversary’s probabilities of success in Game b’and Game c’.

Game d’. Game d’ is the same as Game c’, with onlyone difference. The challenger observes each instance of thegame with the adversary. If the adversary succeeds in anyinstance but there is one adversary’s aggregate message μ isnot equal to the real aggregate message μ = ∑

i∈I vi mi , thenthe challenger will abort.

According to the analysis in APPENDIX A, there exists anon-negligible difference between the adversary’s probabilitiesof success in Game c’ and Game d’ as long as the CDHproblem in G1 is difficult.

As a result, there is only negligible difference probabilitybetween these games.

And then, we can construct a knowledge extractor to extractall challenged file blocks ms1, · · · ,msc . By using independentcoefficients v1, · · · , vc to execute Challenge phase on thesame blocks ms1, · · · ,msc for c times, the extractor obtainsc independent linear equations in the variables ms1, · · · ,msc .It is easy for the extractor to extract ms1, · · · ,msc by solvingthese equations.

APPENDIX CPROOF OF THE LEMMA 3

Proof: We can easily complete the proof basedon [23, Th. 2]. According to [23, Th. 2], whenever anadversary A′ in the security game (named as Game YRWV)of [23] that can cause the challenger to accept its proofwith non-negligible probability, there exists an efficient knowl-edge extractor ε′ that can extract the challenged file blocks

1374 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 11, NO. 6, JUNE 2016

except possibly with negligible probability. Let A be anadversary to attack Game 3, we will construct an algorithmA′ against the security in [23]. A runs in the followingphases.

1) Setup phase. A′ goes into the Setupphase of Game YRWV to get the public key(G1,G2, e, g, u, T, H1, H2, H3, R) and sends it to A.A′ also selects DK = τ ∈R Z∗

q . Then A′ computes G = gτ

and sends G to A.2) Query phase. A′ selects to go into the Query phase

of Game YRWV. When A queries the authenticator of anyblock mi with name name in time period j , A′ executes theauthenticator query for mi with name name in time period jin Game YRWV. Finally, A′ sends the obtained authenticatorto A as the reply. When A comes into time period j + 1, A′also goes into this time period.

3) Break-in phase. When A comes into this phase in timeperiod b, A′ also goes into the Break-in phase of GameYRWV. Therefore, A′ can get the current secret key SKb.A′ can easily compute E SKb by the decryption key DK heholds. At last, A′ provides A with E SKb and DK .

4) Challenge phase. When A′ is given a Chal and a timeperiod j∗( j∗ < b) in the Challenge phase of Game YRWV,he gives A the same challenge and time period.

5) Forgery phase. If A succeeds in providing a validproof P to A′ with non-negligible probability, A′ outputs Pas the proof in the Forgery phase of Game YRWV with thesame probability. It is clear that this proof must be valid inGame YRWV.

According to [23, Th. 2], there must exist a knowledgeextractor ε′ that can extract the challenged file blocks exceptpossibly with negligible probability. Note that the challengedblocks and time period are the same for A and A′. So thistheorem holds.

REFERENCES

[1] M. J. Atallah, K. N. Pantazopoulos, J. R. Rice, and E. E. Spafford,“Secure outsourcing of scientific computations,” Adv. Comput., vol. 54,pp. 215–272, 2002.

[2] D. Benjamin and M. J. Atallah, “Private and cheating-free outsourcingof algebraic computations,” in Proc. 6th Annu. Conf. Privacy, Secur.Trust, 2008, pp. 240–245.

[3] C. Wang, K. Ren, and J. Wang, “Secure and practical outsourcing oflinear programming in cloud computing,” in Proc. IEEE INFOCOM,Apr. 2011, pp. 820–828.

[4] X. Chen, J. Li, J. Ma, Q. Tang, and W. Lou, “New algorithms for secureoutsourcing of modular exponentiations,” in Proc. 17th Eur. Symp. Res.Comput. Secur., 2012, pp. 541–556.

[5] G. Ateniese et al., “Provable data possession at untrusted stores,” inProc. 14th ACM Conf. Comput. Commun. Secur., 2007, pp. 598–609.

[6] A. Juels and B. S. Kaliski, Jr., “PORs: Proofs of retrievability forlarge files,” in Proc. 14th ACM Conf. Comput. Commun. Secur., 2007,pp. 584–597.

[7] H. Shacham and B. Waters, “Compact proofs of retrievability,” inAdvances in Cryptology. Berlin, Germany: Springer-Verlag, 2008,pp. 90–107.

[8] G. Ateniese, R. Di Pietro, L. V. Mancini, and G. Tsudik, “Scalable andefficient provable data possession,” in Proc. 4th Int. Conf. Secur. PrivacyCommun. Netw., 2008, Art. ID 9.

[9] F. Sebe, J. Domingo-Ferrer, A. Martinez-balleste, Y. Deswarte, andJ. Quisquater, “Efficient remote data possession checking in criticalinformation infrastructures,” IEEE Trans. Knowl. Data Eng., vol. 20,no. 8, pp. 1034–1038, Aug. 2008.

[10] R. Curtmola, O. Khan, R. Burns, and G. Ateniese, “MR-PDP: Multiple-replica provable data possession,” in Proc. 28th IEEE Int. Conf. Distrib.Comput. Syst., Jun. 2008, pp. 411–420.

[11] Y. Zhu, H. Wang, Z. Hu, G.-J. Ahn, H. Hu, and S. S. Yau, “Efficientprovable data possession for hybrid clouds,” in Proc. 17th ACM Conf.Comput. Commun. Secur., 2010, pp. 756–758.

[12] C. Wang, K. Ren, W. Lou, and J. Li, “Toward publicly auditable securecloud data storage services,” IEEE Netw., vol. 24, no. 4, pp. 19–24,Jul./Aug. 2010.

[13] Q. Wang, C. Wang, K. Ren, W. Lou, and J. Li, “Enabling publicauditability and data dynamics for storage security in cloud comput-ing,” IEEE Trans. Parallel Distrib. Syst., vol. 22, no. 5, pp. 847–859,May 2011.

[14] K. Yang and X. Jia, “Data storage auditing service in cloud computing:Challenges, methods and opportunities,” World Wide Web, vol. 15, no. 4,pp. 409–428, 2012.

[15] Y. Zhu, G.-J. Ahn, H. Hu, S. S. Yau, H. G. An, and C.-J. Hu, “Dynamicaudit services for outsourced storages in clouds,” IEEE Trans. ServicesComput., vol. 6, no. 2, pp. 227–238, Apr./Jun. 2013.

[16] K. Yang and X. Jia, “An efficient and secure dynamic auditing protocolfor data storage in cloud computing,” IEEE Trans. Parallel Distrib. Syst.,vol. 24, no. 9, pp. 1717–1726, Sep. 2013.

[17] H. Wang, “Proxy provable data possession in public clouds,” IEEETrans. Services Comput., vol. 6, no. 4, pp. 551–559, Oct./Dec. 2013.

[18] C. Wang, S. S. M. Chow, Q. Wang, K. Ren, and W. Lou, “Privacy-preserving public auditing for secure cloud storage,” IEEE Trans.Comput., vol. 62, no. 2, pp. 362–375, Feb. 2013.

[19] B. Wang, B. Li, and H. Li Oruta, “Oruta: Privacy-preserving publicauditing for shared data in the cloud,” IEEE Trans. Cloud Comput.,vol. 2, no. 1, pp. 43–56, Jan./Mar. 2014.

[20] C. Erway, A. Küpçü, C. Papamanthou, and R. Tamassia, “Dynamicprovable data possession,” in Proc. 16th ACM Conf. Comput. Commun.Secur., 2009, pp. 213–222.

[21] B. Wang, B. Li, and H. Li, “Public auditing for shared data with efficientuser revocation in the cloud,” in Proc. IEEE INFOCOM, Apr. 2013,pp. 2904–2912.

[22] J. Yuan and S. Yu, “Public integrity auditing for dynamic data shar-ing with multiuser modification,” IEEE Trans. Inf. Forensics Security,vol. 10, no. 8, pp. 1717–1726, Aug. 2015.

[23] J. Yu, K. Ren, C. Wang, and V. Varadharajan, “Enabling cloud storageauditing with key-exposure resistance,” IEEE Trans. Inf. ForensicsSecurity, vol. 10, no. 6, pp. 1167–1179, Jun. 2015.

[24] D. Chaum and T. Pedersen, “Wallet databases with observers,” inAdvances in Cryptology. Berlin, Germany: Springer-Verlag, 1993,pp. 89–105.

[25] B. Chevallier-Mames, J.-S. Coron, N. McCullagh, D. Naccache, andM. Scott, “Secure delegation of elliptic-curve pairing,” in Proc. CARDIS,2010, pp. 24–35.

[26] S. Hohenberger and A. Lysyanskaya, “How to securely outsourcecryptographic computations,” in Proc. TCC, 2005, pp. 264–282.

[27] M. J. Atallah and J. Li, “Secure outsourcing of sequencecomparisons,” Int. J. Inf. Secur., vol. 4, no. 4, pp. 277–287, 2005.

[28] M. J. Atallah and K. B. Frikken, “Securely outsourcing linear algebracomputations,” in Proc. 5th ACM Symp. Inf., Comput. Commun. Secur.,2010, pp. 48–59.

[29] X. Chen, J. Li, X. Huang, J. Li, Y. Xiang, and D. S. Wong, “Secureoutsourced attribute-based signatures,” IEEE Trans. Parallel Distrib.Syst., vol. 25, no. 12, pp. 3285–3294, Dec. 2014.

[30] F. Zhang, X. Ma, and S. Liu, “Efficient computation outsourcingfor inverting a class of homomorphic functions,” Inf. Sci., vol. 286,pp. 19–28, Dec. 2014.

[31] M. Sookhak, A. Gania, M. K. Khanb, and R. Buyyac, “Dynamic remotedata auditing for securing big data storage in cloud computing,” Inf. Sci.,Sep. 2105, doi: 10.1016/j.ins.2015.09.004.

[32] C. Guan, K. Ren, F. Zhang, K. Florian, and J. Yu, “Symmetric-key basedproofs of retrievability supporting public verification,” in Proc. 20th Eur.Symp. Res. Comput. Secur. (ESORICS), 2015, pp. 203–223.

[33] G. Yang, J. Yu, W. Shen, Q. Su, Z. Fu, and R. Hao, “Enablingpublic auditing for shared data in cloud storage supporting iden-tity privacy and traceability,” J. Syst. Softw., vol. 113, pp. 130–139,Mar. 2016.

[34] J. Yu, F. Kong, X. Cheng, R. Hao, and G. Li, “One forward-securesignature scheme using bilinear maps and its applications,” Inf. Sci.,vol. 279, pp. 60–76, Sep. 2014.

YU et al.: ENABLING CLOUD STORAGE AUDITING WITH VERIFIABLE OUTSOURCING OF KEY UPDATES 1375

[35] J. Yu, R. Hao, H. Zhao, M. Shu, and J. Fan, “IRIBE: Intrusion-resilient identity-based encryption,” Inf. Sci., vol. 329, pp. 90–104,Feb. 2016.

[36] B. Lynn. (2015). The Pairing-Based Cryptographic Library. [Online].Available: http://crypto.Stanford.edu/pbc/

Jia Yu received the B.S. and M.S. degrees fromthe School of Computer Science and Technology,Shandong University, in 2000 and 2003, respectively,and the Ph.D. degree from the Institute of NetworkSecurity, Shandong University, in 2006. He was aVisiting Professor with the Department of ComputerScience and Engineering, University at Buffalo, TheState University of New York, from 2013 to 2014.He is currently a Professor with the College ofComputer Science and Technology and the Depart-ment Director of Information Security with Qingdao

University. His research interests include cloud computing security, keyevolving cryptography, digital signature, and network security.

Kui Ren (F’16) received the Ph.D. degree from theWorcester Polytechnic Institute. He is currently aProfessor of Computer Science and Engineering andthe Director of the UbiSeC Laboratory with Univer-sity at Buffalo, The State University of New York.His current research interests span cloud and out-sourcing security, wireless and wearable systemsecurity, and human-centered computing. He was aBoard Member of the Internet Privacy Task Force,State of Illinois, and is a member of the Associa-tion for Computing Machinery and a Distinguished

Lecturer of the IEEE Vehicular Technology Society. He was a recipient ofthe NSF CAREER Award in 2011 and the Sigma Xi/IIT Research ExcellenceAward in 2012. He has authored 135 peer-reviewed journal and conferencepapers and received several best paper awards, including the IEEE ICNP 2011.He currently serves as an Associate Editor of the IEEE TRANSACTIONS

ON DEPENDABLE AND SECURE COMPUTING, the IEEE TRANSACTIONS ONMOBILE COMPUTING, the IEEE WIRELESS COMMUNICATIONS, the IEEEINTERNET OF THINGS JOURNAL, the IEEE TRANSACTIONS ON SMART

GRID, Pervasive and Mobile Computing (Elsevier), and The Computer Journal(Oxford).

Cong Wang (M’11) received the B.E.and M.E. degrees from Wuhan University,in 2004 and 2007, respectively, and the Ph.D.degree from the Illinois Institute of Technology,in 2012, all in electrical and computer engineering.He was with the Palo Alto Research Center inthe summer of 2011. He is currently an AssistantProfessor with the Computer Science Department,City University of Hong Kong. His researchinterests are in the areas of cloud computingand security, with a current focus on secure data

services in cloud computing, and secure computation outsourcing. He is amember of the Association for Computing Machinery.