IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... ·...

13
IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 1 Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia Yu, Kui Ren, Senior Member, IEEE, and Cong Wang, Member, IEEE Abstract—Key-exposure resistance has always been an im- portant 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. Specifically, 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 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 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 unlimited computing re- source. 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 unlimited storage J. Yu is with the College of Information Engineering, Qingdao Univer- sity, Qingdao 266071, P.R China and with the Department of Computer Science and Engineering, The State University of New York at Buffalo. E- mail:[email protected]. K. Ren is with with the Department of Computer Science and Engineering, The State University of New York at Buffalo. E-mail:[email protected]. C. Wang is with the Department of Computer Science, City University of Hong Kong. E-mail:[email protected]. resource. Cloud storage is universally viewed as one of the most important services of cloud computing. Although cloud storage 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 protocols focus on different aspects of cloud storage auditing such as the high efficiency [5–17], the privacy protection 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. The authors in [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 cloud storage auditing should not be known by the authorized party who performs outsourcing computation for key updates. Otherwise, it will bring the new security threat. So the au- thorized party should only hold an encrypted version of the user’s secret key for cloud storage auditing. Secondly, because the authorized party performing outsourcing computation only knows the encrypted secret keys, key updates should be completed under the encrypted state. In other words, this authorized party should be able to update secret keys for cloud storage auditing from the encrypted version he holds. Thirdly, it should be very efficient for the client to recover the real secret key from the encrypted version that is retrieved from the authorized party. Lastly, the client should be able to verify the validity of the encrypted secret key after the client retrieves it from the authorized party. The goal of this paper is to design a cloud storage auditing protocol that can satisfy IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Transcript of IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... ·...

Page 1: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 1

Enabling Cloud Storage Auditing with VerifiableOutsourcing of Key Updates

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

Abstract—Key-exposure resistance has always been an im-portant 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 onthe client will be kept minimal. Specifically, 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 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

I. INTRODUCTION

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

nowadays. It can provide users with unlimited computing re-source. Enterprises and people can outsource time-consumingcomputation workloads to cloud without spending the extracapital on deploying and maintaining hardware and software.In recent years, outsourcing computation has attracted muchattention and been researched widely. It has been considered inmany applications including scientific computations [1], linearalgebraic computations [2], linear programming computations[3] and modular exponentiation computations [4], etc. Besides,cloud computing can also provide users with unlimited storage

J. Yu is with the College of Information Engineering, Qingdao Univer-sity, Qingdao 266071, P.R China and with the Department of ComputerScience and Engineering, The State University of New York at Buffalo. E-mail:[email protected].

K. Ren is with with the Department of Computer Science and Engineering,The State University of New York at Buffalo. E-mail:[email protected].

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

resource. Cloud storage is universally viewed as one of themost important services of cloud computing. Although cloudstorage 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 protocolsfocus on different aspects of cloud storage auditing suchas the high efficiency [5–17], the privacy protection of data[18], the privacy protection of identities [19], dynamic dataoperations[13, 15, 16, 20], the data sharing [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. The authors in [23] constructeda cloud 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 forcloud 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 the au-thorized 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 satisfy

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 2: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 2

above 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 considered inmany application domains. Chaum and Pedersen [24] firstlyproposed the notion of wallet databases with observers, inwhich a hardware was used to help the client perform someexpensive computations. The method for secure outsourcingof some scientific computations was proposed by Atallah etal. [1]. Chevallier-Mames et al. [25] designed the first effec-tive algorithm for secure delegation of elliptic-curve pairingsbased on an untrusted server. The first outsourcing algorithmfor modular exponentiations was proposed by Hohenbergerand Lysyanskaya [26], which was based on the methods ofprecomputation and server-aided computation. Atallah and Li[27] proposed a secure outsourcing algorithm to complete se-quence comparisons. Chen et al. [4] proposed new algorithmsfor secure outsourcing of modular exponentiations. Benjaminand Atallah [2] researched on how to securely outsourcethe computation for linear algebra. Atallah and Frikken [28]gave further improvement based on the weak secret hidingassumption. Wang et al. [3] presented an efficient method for

secure outsourcing of linear programming computation. Chenet al. [29] proposed an outsourcing algorithm for attribute-based signatures computations. Zhang et al. [30] proposedan efficient method for outsourcing a class of homomorphicfunctions.

Cloud Storage Auditing. How to check the integrity ofthe data stored in cloud is a hot topic in cloud security.The notion of “provable data possession” (PDP) was firstlyproposed by Ateniese et al. [5] to ensure data possessionat untrusted servers. The notion of “proof of retrievability”(PoR) was proposed by Juels and Kaliski Jr. [6] to ensureboth possession and retrievability of data at untrusted servers.Wang et al. [18] proposed a public privacy-preserving au-diting protocol. They used the random masking technique tomake the protocol achieve privacy-preserving property. Proxyprovable data possession protocol was proposed in [17]. Theauditing protocols supporting dynamic data operations werealso proposed in [13, 20]. Yang and Jia [16] proposed anauditing protocol supporting both the dynamic property andthe privacy preserving property. The privacy preserving of theuser’s identity for shared data auditing was considered in [19].The problem of user revocation in shared data auditing wasconsidered in [21]. Yuan et al. [22] proposed a public auditingprotocol for data sharing with multiuser modification.

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. Itwill add obvious computation burden to the client, especiallywhen key updates are very frequent.

B. Organization

The rest paper is organized as follows: In Section 2, weintroduce the system model, definitions, and preliminaries ofour work. Then, we give a concrete description of our protocolin Section 3. Security and performance are analyzed in Section4. We conclude the paper in Section 5. The detailed securityproof 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 in cloud

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

.

Page 3: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 3

Fig. 1. System model of our cloud storage auditing

for the client; the second is to update the encrypted secretkeys of the client in each time period. The TPA is thoughtto have powerful computational capability (its computationalcapability can be comparable with the cloud’s). Similar to[23], the whole lifetime of the files stored in cloud is dividedinto T + 1 time periods (from 0-th to T -th time periods).Each file is assumed to be divided into multiple blocks. Inorder to 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 ESK0, a decryptionkey DK and a public key PK. Finally, the client holdsDK, and sends ESK0 to the TPA.

2) EkeyUpdate: the encrypted key update algorithm is runby the TPA. It takes as input an encrypted client’s secretkey ESKj , the current period j and the public key PK,and generates a new encrypted secret key ESKj+1 forperiod j + 1.

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

4) DecESK: the secret key decryption algorithm is run bythe client. It takes as input an encrypted client’s secretkey ESKj , a decryption key DK, the current period jand the public key PK, returns the real client’s secretkey SKj 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 SKj , the current period j and the public key PK,and generates the set of authenticators Φ for F in timeperiod j.

6) ProofGen: 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 keyPK, and generates a proof P which proves the cloudstores F correctly.

7) ProofV erify: 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 PK, 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 as theadversary in our security model. We use three games (Game1, 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 ESKj (periods j = 0, ..., T ), tries to forge a validauthenticator in any time period. This game, in fact, shows thesecurity should satisfy that the TPA cannot help the cloud toforge any authenticator in any time period even if it knowsthe encrypted secret keys. Game 2 describes an adversary,who compromises the client to get DK, tries to forge a validauthenticator in any time period. This game, in fact, showsthe security should satisfy that an adversary cannot forge anyauthenticator in any time period even if it gets the decryptionsecret key DK by attacking the client. Game 3 provides theadversary more abilities, which describes an adversary, whocompromises the client and the TPA to get both ESKj andDK at one time period j, tries to forge a valid authenticatorbefore time period j. This game, in fact, shows the securityshould satisfy that an adversary cannot forge any authenticatorprior to one certain time period if it attacks the TPA andthe client simultaneously to get their secret keys in this timeperiod.

Game 1 is composed of four phases.

1) Setup phase. The challenger runs the system setupalgorithm to generate the initial encrypted client’s secretkey ESK0, the decryption key DK and the public keyPK. The challenger updates the encrypted keys to getESK1, ..., ESKT by running EkeyUpdate algorithm.The challenger sends ESK0, ..., ESKT and PK to an

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 4: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 4

adversary A, and holds DK himself. Set time periodj = 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 runsDecESK to decrypt ESKj , computes the authentica-tors for 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∗. IfProofVerify(PK, j∗, Chal, P )=“True”, then A winsin 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 PK instead ofESK0, ..., ESKT and PK 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 keyESK0, the decryption key DK and the public key PK. Thechallenger sends DK and PK to an adversary A, and holdsESK0 himself. Set time period j = 0.

The phases 2)-4) are the same as those in Game 1.Game 3 is different from Game 1 and Game 2, in which the

adversary is allowed to get encrypted secret key and decryptionkey simultaneously at a certain time period. Specifically, Game3 is composed of five phases.

1) Setup phase. The challenger runs the system setupalgorithm to generate the initial encrypted client’s secretkey ESK0, the decryption key DK and the public keyPK. The challenger sends PK to an adversary A, andholds DK and ESK0 himself. Set time period 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 ESKb and DK to the adversary.It means A can execute DecESK 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∗. IfProofVerify(PK, j∗, Chal, P )=“True”, then A winsin 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:

1) Bilinearity: ∀g1, g2 ∈ G1 and a, b ∈R Z∗q , there ise(ga1 , g

b2) = e(g1, g2)ab.

2) Non-degeneracy: For some g1, g2 ∈ G1, e(g1, g2) 6= 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]to evolve keys. This tree structure can make the protocolachieve fast key updates and short key size. One importantdifference between the proposed protocol and the protocolin [23] is that the proposed protocol uses the binary tree toupdate the encrypted secret keys rather than the real secretkeys. One problem we need to resolve is that the TPA shouldperform the outsourcing computations for key updates underthe condition that the TPA does not know the real secret keyof the client. Traditional encryption technique is not suitable

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 5: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 5

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

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 ensureour 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 KeyUpdate algorithm,homomorphic property makes the secret key able to be updatedunder encrypted state and makes verifying the encrypted secretkey possible. The V erESK 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 wj is an internal node, thenwj+1 = w′0 ; if wj is a leaf node, then wj+1 = w′1 , wherew′ is the longest string such that w′0 is a prefix of wj . Each

node, corresponding to time period j, in the binary tree hasone key pair (ESwj , Rwj ).

The TPA holds the client’s encrypted secret key ESKj inperiod j, which is composed by two parts Xj and Ωj . Thefirst part Xj is a set composed by the key pair (ESwj , Rwj )and the key pairs of the right siblings of the nodes on thepath from the root to wj . That is, Xj comprises the secretkey (ESw′1, Rw′1) if and only if w′0 is a prefix of wj . Weuse a stack to organize the first part Xj , which is initially set(ES,R) on top in time period 0. The second part Ωj comprisesthe verification values from the root to node wj except the root.So Ωj = (Rwj |1 , · · · , Rwj |t) if wj = 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

Let G1 and G2 be two groups with some prime order q,where the CDH problem is difficult in G1. Let g be a generatorof G1, and e : G1 × G1 → G2 be a bilinear pairing. LetH1 : G1 → G1, H2 : 0, 1∗ ×G1 → Z∗q and H3 : 0, 1∗ ×G1 → G1 be three cryptographic hash functions. Followingthe same assumption as [23], the client has held a secret keyfor a signature SSig, which is used to ensure the integrity ofnot only the file identifier name but also the time period j.Below we give the detailed description of our protocol.

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 ES = H1(R)ρ−τ .

b) The client sets X0 = (ES,R) and Ω0 =∅(where ∅ is null set), and sends the initialencrypted secret keys SK0 = (X0,Ω0) to the TPA.The client sets DK = τ , and keeps it himself. Theclient randomly selects a generator u of group G1.

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

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 6: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 6

TABLE INOTATIONS

Notation MeaningT The total periods number of the whole lifetime for the files stored in the cloud

w1...wt The binary string of the node wj associated with period jwj |k(k ≤ t) The k-prefix of wj

wj0(wj1) The left child node and the right child node of wj

wj |k The sibling node of wj |kε Empty binary stringPK The public key which is unchanged in the whole lifetimeESwj The encrypted node secret keyRwj The verification value which is used to verify the validity of authenticatorsESKj The client’s encrypted secret key in period jXj A set composed by the key pairsΩj A set composed by the verification values

(ES,R) The key pair of the root nodeF A file which the client wants to store in cloud

mi(i = 1, ..., n) n blocks of file FDK The decryption key to recover the encrypted secret key for cloud storage auditing

2) Algorithm EkeyUpdate: Input an encrypted secret keyESKj , the current time period j, and the public keyPK.Parse ESKj = (Xj ,Ωj). Xj is organized as a stackwhich consists of (ESwj , Rwj ) and the key pairs of theright siblings of the nodes on the path from the rootto wj . The top element of the stack is (ESwj , Rwj ).Firstly, pop (ESwj , Rwj ) off the stack. Then do asfollows:

a) If wj is an internal node (wj+1 = wj0in this case), select ρwj0, ρwj1 ∈R Z∗q . Andthen compute Rwj0 = gρwj0 , Rwj1 = gρwj1 ,hwj0 = H2(wj0, Rwj0), hwj1 = H2(wj1, Rwj1),ESwj0 = ESwj · H1(R)ρwj0hwj0 and ESwj1 =ESwj · H1(R)ρwj1hwj1 . Push (ESwj1, Rwj1) and(ESwj0, Rwj0) onto the stack orderly. Let Xj+1

denote the current stack and define Ωj+1 =Ωj

⋃Rwj0.

b) If wj is a leaf, define Xj+1 with the current stack.i) If wt = 0 (the node wj+1 is the right sibling

node of wj in this case), then set Ωj+1 =Ωj

⋃Rwj+1 − Rwj ( Rwj+1 can be read

from the new top (ESwj+1 , Rwj+1) of thestack).

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

⋃Rwj+1−

Rw′′0, Rw′′01, · · · , Rwt ( Rwj+1 can be readfrom the new top (ESwj+1 , Rwj+1) of thestack).

c) Finally, erase key pair (ESwj , Rwj ), and returnESKj+1 = (Xj+1,Ωj+1) .

3) Algorithm VerESK: Input a client’s encrypted secretkey ESKj = (Xj ,Ωj), the current period j and thepublic key PK. Verify whether the following equationholds:

e(g,ESwj ) = e(R/G ·∏t

m=1Rwj1

hwj1 , H1(R)),

where hwj = H2(wj , Rwj ).If above equation holds, return 1; otherwise, return 0.

4) Algorithm DecESK: Input an encrypted client’s secretkey ESKj , a decryption key DK, the current period j,and the public key PK. The client decrypts the secretkey as follows.

Swj=ESwj ·H1(R)τ .

The real secret key is SKj = (X ′j ,Ωj), where X ′j isthe same stack as Xj except that the top element in X ′jis (Swj , Rwj ) instead of (ESwj , Rwj ) in Xj .

5) Algorithm AuthGen: Input a file F = m1, · · · ,mn,a client’s secret key SKj , the current period j and thepublic key PK.

a) The client parses SKj = (X ′j ,Ωj) and readsthe top element (Swj , Rwj ) from the stack X ′j .The client selects r ∈R Z∗q , and computes U =gr and σi = H3(name||i||j, U)r · Swj · urmi(i = 1, · · · , n) , where the name name is chosenrandomly from Z∗q as the identifier of file F . Inorder 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, σi1≤i≤n,Ωj

) .c) Finally, the client sends the file F and the set of

authenticators along with the file tag to cloud.6) Algorithm ProofGen: Input a file F , a set of authen-

ticators Φ = (j, U, σi1≤i≤n,Ωj), a time period j, a

challenge Chal = (i, vi)i∈I (where I = s1, · · · , scis a c-element subset of set [1, n] and vi ∈ Zq) and thepublic key PK.

The cloud calculates an aggregated authenticatorΦ = (j, U, σ,Ω

j) , where σ =

∏i∈I σ

vii . It also com-

putes µ =∑i∈I vimi. It then sends P = (j, U, σ, µ,Ωj)

along with the file tag as the response proof of storagecorrectness to the TPA.

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 7: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 7

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

The TPA parses Ωj = (Rwj |1 , · · · , Rwj |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=1Rhwj |mwj |m , H1(R)

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

·∏

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

where hwj = H2(wj , Rwj ).If it holds, returns “True”, otherwise returns “False”.

D. How to remove the encrypted secret key verification of theclient

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 erEKey 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=1Rwj |m

hwj |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. Inthis way, the client does not need to verify the encrypted secretkeys right after he downloads it from the TPA. As a result,the computation burden of the client can be further saved.

IV. SECURITY AND PERFORMANCE

A. Security Analysis

Theorem 1 (Correctness): For each random challenge Chaland one valid proof P = (j, U, σ, µ,Ωj), the ProofVerifyalgorithm always returns “True”.Proof. It is because the following equations hold:

e(R ·∏t

m=1Rwj |m

hwj |m , H1(R)∑i∈I vi) · e(U, uµ

·∏

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

vi)

= e(∏

i∈Igvi(ρ+

∑tm=1 ρwj |mhwj |m ), H1(R))

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

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

vi)

= e(g,∏

i∈IH1(R)

vi(ρ+∑tm=1 ρwj |mhwj |m )

)

· e(g, u∑i∈I rmivi) · e(gr,

∏i∈I

H3(name||i||j, U)vi)

= e(g,∏

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

vir)

· e(g,∏

i∈I(H1(R)

vi(ρ+∑tm=1 ρwj |mhwj |m ) · urmivi))

= e(g,∏

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

r

·H1(R)ρ−τ+τ+∑tm=1 ρwj |mhwj |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 be deducedfrom 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, wheneveran 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, wheneveran 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−1n )c) detectable if the cloud stores a file with n blocks, and

deletes or modifies t blocks.Proof. Assume that the cloud stores a file with total n blocksincluding t bad (deleted or modified) blocks. The number ofchallenged blocks is c. Thus, the bad blocks can be detectedif and only if at least one of the challenged blocks picked bythe TPA matches the bad blocks. Let X be a discrete randomvariable that is defined to be the number of blocks chosen bythe challenger that matches the block-tag pairs modified bythe adversary. The probability that at least one of the blockspicked by the challenger matches one of the blocks modifiedby the adversary is denoted as PX . We have:

PX = PX ≥ 1= 1− PX = 0= 1− n−t

nn−1−tn−1 · · · · ·

n−c+1−tn−c+1

Thus, we can get PX ≤ 1− (n−tn )c.Theorem 4 (Verifiability): The proposed cloud storage au-

diting protocol with outsourcing of key updates is verifiable.Proof. If the encrypted secret key downloaded from the TPAis valid, then ESwj = H1(R)ρ−τ

∏tm=1H1(R)

ρwj1hwj1 . Soe(g,ESwj )

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

ρwj1hwj1)

=e(gρ−τ ·∏tm=1 g

ρwj1hwj1 , H1(R))

= e(R/G ·∏tm=1Rwj1

hwj1 , H1(R)).It means the valid encrypted secret key can pass the

V erESK algorithm.If the encrypted secret key downloaded from the TPA is

invalid, then ESwj 6= H1(R)ρ−τ∏tm=1H1(R)

ρwj1hwj1 . Wecan know e(g,ESwj ) 6= e(R/G ·

∏tm=1Rwj1

hwj1 , H1(R)).It means the client can detect it is invalid in the V erESKalgorithm.

Therefore, this theorem holds.

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 8: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 8

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

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 [31].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 element in Z∗qis 20 bytes, and the size of an element in G1 is 128 bytes.The data file in our experiments is 20 M comprising 1,000,000blocks. For simplification, we set the total time period T = 14which means we can use a full binary tree with depth 2 toassociate with these time periods. All experimental results aretaken as the mean values from multiple executions.

In the proposed scheme, the key update workload is out-sourced to the TPA. In contrast, the client has to update thesecret key by itself in each time period in scheme [23]. Wecompare the key update time on client side between the bothschemes in Fig. 3. In scheme [23], the key update time on theclient is related to the depth of the node corresponding to thecurrent time period in binary tree. When the depth of nodecorresponding to the current time period is 0 or 1 (the nodeis internal node), the update time is about 12.6ms; when it is2 (the node is leaf node), the update time is almost zero. Inour scheme, the key update time on client side is zero in alltime 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 time forthese two processes happened in different time periods in Fig.4. In practice, these processes do not happen in most of timeperiods. They only happen in the time periods when the clientneeds to upload new files to the cloud. Furthermore, the workfor verifying the correctness of the encrypted secret key canfully be done by the cloud if we use the method in the end ofSection 3.

We demonstrate the time of the challenge generation pro-cess, the proof generation process, and the proof verification

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

process with different number of checked data blocks in Fig.5. In our evaluation, the number of checked block varies from100 to 1,000. All the time of these processes increase linearlywith the number of checked blocks. The challenge generationprocess spends the least time, which is 0.35s at most; theproof generation process spends more time, varying from 0.19sto 1.89s; the proof verification process spends the most timevarying 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. FromFig. 6 (b), we can see that the size of proof message varieswith the depths of nodes corresponding to time periods. Inperiod 0, the proof message is the shortest, which is 276.5bytes, since the depth of the corresponding node is 0. And thelongest proof messages appear at the leaves of the tree, which

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

.

Page 9: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 9

(a) (b)

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

is 0.66 KB.

V. CONCLUSION

In this paper, we study on how to outsource key updatesfor cloud storage auditing with key-exposure resilience. Wepropose 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. Inaddition, the TPA only sees the encrypted version of theclient’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 signedby the 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 ad-versary is successful in the game but U in the proof Pis different from the actual U in the set of authenticatorsΦ = (j, U, σi1≤i≤n,Ωj

) that the challenger has kept, thenthe challenger will abort.

Analysis. If the adversary ia 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 achallenger, only with the following differences:

Setup phaseFirstly, S is given a tuple (g, I1 = H1(R) = ga

′ ∈G1, I2 = R = gb

′ ∈ G1). The aim of S is to computega′b′ , where b′ = ρ and a′, b′ ∈ Z∗q are unknown to S andA. S randomly selects α ∈ Z∗q , and sets ES = H1(R)α

and G = R · g−α. It means DK = τ = b′ − α, but Sand A do not know it. S can know ESK0 = (X0,Ω0),where X0 = (ES,R) and Ω0 = ∅. He selects β ∈R Z∗q ,and computes u = gβ . S executes EkeyUpdate algorithmto generate ESK0, ..., ESKT . After this procedure, S hasdefined ρwj |m , and computed hwj |m(m = 1, ..., t). Then heprovides ESK0, ..., ESKT and PK = (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 and returnsh 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, exceptwith negligible probability, the same name and U have beenchosen by S before for some other file and a query has notbeen made to this random oracle at < name||i||j, U >. Sadds < name||i||j, U, h, λi, γ > to H3 table.

(2) Secondly, he computes hwj |m = H2(wj |m, Rwj |m) andsets Ωj = (Rwj |1 , ..., Rwj |t). He computes

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 10: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 10

ψ = Rλiγ+βγmi · I1∑tm=1 hwj |mρwj |m .

It is because

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

∑tm=1 hwj |mρwj |m · uργmi

= (gλi · I1−1/γ)ργ · I1ρ+∑tm=1 hwj |mρwj |m · gβργmi

= Rλiγ+βγmi · I1∑tm=1 hwj |mρwj |m

.(3) Finally, S responds < j,U, ψ,Ωj) > to A.Challenge PhaseS randomly selects a challenge Chal = (i, vi)i∈I ,

where I = s1, s2, · · · , sc, and a time period j∗. Andthen S provides A with Chal and j∗. S requests A toprove that A possesses the blocks ms1 , · · · ,msc of fileF = m1, · · · ,mn.

Forgery phaseA outputs a proof P = (j, U, σ, µ,Ωj) as theresponse proof. If ProofVerify(j∗, PK,Chal, P ) = “True”,then

e(R ·∏t

m=1Rhwj∗ |m

wj∗ |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 different from thereal U in the set of authenticators Φ = (j, U, σi1≤i≤n,Ωj )that S has kept, S abstracts < name||i||j∗, U, h, λi, ∗ >from H3 table to get H3(name||i||j∗, U) = gλi with highprobability. It is obvious that the probability

∑i∈I vi = 0 is

negligible. Using hwj∗|m , ρwj∗|m generated during the keyupdate of Setup phase, S can solve the CDH problem asfollows.

e(R ·∏t

m=1Rwj∗ |m

hwj∗ |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ρwj∗ |m

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

e(U, gβµ ·∏

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

e(gb′ ·∑i∈I vi

, ga′) · e(g

∑tm=1 ρwj∗ |m

hwj∗ |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 ρwj∗ |m

hwj∗ |m·∑i∈I vi) ·

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

ga′b′ = (σ · U−(βµ+

∑i∈I λivi) ·

I1−

∑tm=1 ρwj∗ |m

hwj∗ |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 onedifference. The challenger holds a list that contains its re-sponses to A’s authenticator queries. The challenger observeseach instance of the game with the adversary. If A succeedsin any instance but A’s aggregate authenticator σ is not equalto the real aggregate authenticator σ =

∏i∈I σ

vii , then the

challenger will abort.Analysis. Let 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, σi1≤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=1Rhwj|m

wj|m , H1(R)∑i∈I vi) · e(U, uµ

·∏

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

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

e(R ·∏t

m=1Rhwj|m

wj|m , H1(R)∑i∈I vi) · e(U, uµ

·∏

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

We can know µ 6= µ′, 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 randomly

selects α ∈ Z∗q , and sets ES = H1(R)α and G = R · g−α.It means DK = τ = b′ − α, but S and A do not know it.S can know ESK0 = (X0,Ω0), where X0 = (ES,R) andΩ0 = ∅. S sets u = gβvγ for some β, γ ∈R Z∗q . S executesEkeyUpdate algorithm to generate ESK0, ..., ESKT , andprovides ESK0, ..., ESKT and PK = (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 provides hto A; Otherwise, S selects λ ∈R Z∗q , and computes h = gλ. Itadds tuple < name||i||j, U, h, λ, ∗ > to H3 table and providesh to A.S holds a list of authenticator queries. If A queries the

authenticator of one block mi with name name in time periodj, 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 pos-sibly 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η · ESwj .

Here, ESwj as a part of ESKj has been known by S in Setupphase. Finally, S adds < name||i||j, U, h, λi, η > to H3 table.

If A responds with a proof P = (j, U, σ′, µ′,Ωj) in whichσ′ is different from the expected σ, and finally successes in theabove game, S can extract an tuple < name||i||j, U, h, λi, η >(i ∈ I) from H3 table. And then S can divide the verificationequation for forged σ′ by the verification equation for theexpected σ to get e(σ′/σ, 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

ηγ∆µ .

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 11: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 11

Therefore, we can construct a simulator S to solve the CDHproblem if there is a non-negligible difference between theadversary’s probabilities of success in Game b and Game 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 vimi, then the

challenger will abort.Analysis. There exists a non-negligible difference between

the adversary’s probabilities of success in Game c and Gamed as long as the CDH problem in G1 is difficult. This analysisis similar to the analysis of Game 4 in [23]. Here, we omit 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 analyze thedifference in adversary behavior between successive games.

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 signedby the challenger.

According to the analysis in APPENDIX A, the challengercannot abort in Game a’ with non-negligible probability.

Game b’. Game b’ is the same as Game a’, with onlyone difference. The challenger holds a list to keep his re-sponses to authenticator queries made by the adversary. Ifthe adversary is successful in the game but U in the proofP is different from the actual U in the set of authenticatorsΦ = (j, U, σi1≤i≤n,Ωj ) that the challenger has kept, thenthe challenger 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 Gamea’ challenger, only with the following differences:

Setup phaseFirstly, S is given a tuple (g, I1 = H1(R) = ga

′ ∈ G1, I2 =R = gb

′ ∈ G1). The aim of S is to compute ga′b′ , where

where b′ = ρ and a′, b′ ∈ Z∗q are unknown to S and A. Sselects τ, β ∈R Z∗q , and computes G = gτ and u = gβ . ThenS provides PK = (R,G, u) and DK = τ to A.

Query phaseIn order to answer the queries from A, S needs to make

some preparation for key updates. We use wj = w1 · · ·wtto denote the node associated with the current time periodj(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 ,

and computes Rwj0 = ghwj0 , Rwj1 = ghwj1 , hwj0 =H2(wj0, Rwj0) and hwj1 = H2(wj1, Rwj1).H3 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 and returnsh 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, theprobability 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 = (Rwj |1 , ..., Rwj |t) and computes

ψ = Rλiγ+βγmi · I1∑tm=1 hwj |mρwj |m .

(3) Finally, S responds < j,U, ψ,Ωj) > to A.Challenge PhaseThe challenger randomly selects a challenge Chal =(i, vi)i∈I , where I = s1, s2, · · · , sc, and a time periodj∗. And then S provides A with Chal and j∗. S requests Ato prove that A possesses the blocks ms1 , · · · ,msc of fileF = m1, · · · ,mn.

Forgery phaseA outputs a proof P = (j, U, σ, µ,Ωj) as theresponse proof. If ProofVerify(j∗, PK,Chal, P ) = “True”,then

e(R ·∏t

m=1Rhwj∗ |m

wj∗ |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, σi1≤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, Scan solve the CDH problem in G1 with high probability.

It means that U in prover’s proof P = (j, U, σ, µ,Ωj)should be correct. So the difference between the adversary’sprobability of success in Game a’ and Game b’ is negligible.

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, σi1≤i≤n,Ωj

= (Rwj|1 , · · · , Rwj|t)). Let(j, Chal = (i, vi)i∈I) be the query that causes the abort,

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 12: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 12

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=1Rhwj|m

wj|m , H1(R)∑i∈I vi) · e(U, uµ

·∏

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

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

e(R ·∏t

m=1Rhwj|m

wj|m , H1(R)∑i∈I vi) · e(U, uµ

·∏

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

We can know µ 6= µ′, 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 to

compute va′. S behaves like the Game b’ challenger, with the

following 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 ofall 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, λ, γ > ofH3. 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) in which

σ′ is different from the expected σ, and succeeds in the game,S extracts an tuple < name||i||j, U, h, λi, η > from H3 table.And then S divides the verification equation for forged σ′ bythe 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 vimi, then

the 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 based on Theorem2 in [23]. According to Theorem 2 in [23], whenever anadversary A′ in the security game (named as Game YRMV)of [23] that can cause the challenger to accept its proof withnon-negligible probability, there exists an efficient knowledgeextractor ε′ that can extract the challenged file blocks exceptpossibly with negligible probability. Let A be an adversary toattack Game 3, we will construct an algorithm A′ against thesecurity in [23]. A runs in the following phases.

1)Setup phase. A′ goes into the Setupphase of Game YRMV 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 YRMV. 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 YRMV. 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 Game YRMV.Therefore,A′ can get the current secret key SKb.A′ can easilycompute ESKb by the decryption key DK he holds. At last,A′ provides A with ESKb and DK.

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

5)Forgery phase. If A succeeds in providing a valid proofP to A′ with non-negligible probability, A′ outputs P as theproof in the Forgery phase of Game YRMV with the sameprobability. It is clear that this proof must be valid in GameYRMV.

According to Theorem 2 of [23], there must exist a knowl-edge extractor ε′ that can extract the challenged file blocksexcept possibly with negligible probability. Note that thechallenged blocks and time period are the same for A andA′. So this theorem holds.

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016

Page 13: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND … Papers/2016 .Net/LSD1607 - Enabling Cloud... · Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates Jia

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. , NO. , 2015 13

REFERENCES

[1] M. J. Atallah, K. Pantazopoulos, J. R. Rice, and E. E.Spafford, “Secure outsourcing of scientific computations,”Trends in Software Engineering, vol. 54, pp. 215-2722002.

[2] D. Benjamin and M. J. Atallah, “Private and cheating-free outsourcing of algebraic computations,” Proc. SixthAnnual Conference on Privacy, Security and Trust, pp.240-245, 2008.

[3] C.Wang, K. Ren, and J.Wang, “Secure and practicaloutsourcing of linear programming in cloud computing,”IEEE INFOCOM 2011, pp. 820-828, 2011.

[4] X. Chen, J. Li, J. Ma, Q. Tang, and W. Lou, “NewAlgorithms for Secure Outsourcing of Modular Exponen-tiations,” Proc. 17th European Symposium on Research inComputer Security, pp. 541-556, 2012.

[5] G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner,Z. Peterson, and D. Song, “Provable Data Possession atUntrusted Stores,” Proc. 14th ACM Conf. Computer andComm. Security, pp. 598-609, 2007.

[6] A. Juels, J. Burton, and S. Kaliski, “PORs: Proofs ofRetrievability for Large Files,” Proc. 14th ACM Conf.Computer and Comm. Security, pp. 584-597, 2007.

[7] H. Shacham and B. Waters, “Compact Proofs of Retriev-ability,” Advances in Cryptology-Asiacrypt’08, pp. 90-107,2008.

[8] G. Ateniese, R.D. Pietro, L. V. Mancini, and G. Tsudik,“Scalable and Efficient Provable Data Possession,” Proc.4th International Conference on Security and Privacy inCommunication Networks, 2008

[9] F. Sebe, J. Domingo-Ferrer, A. Martinez-balleste, Y.Deswarte, and J. Quisquater, “Efficient Remote Data In-tegrity checking in Critical Information Infrastructures,”IEEE Transactions on Knowledge and Data Engineering,vol. 20, no. 8, pp. 1-6, 2008.

[10] R. Curtmola, O. Khan, R. Burns, and G. Ateniese,“MR-PPDP: Multiple-Replica Provable Data Possession,”Proc. 28th IEEE International Conference on DistributedComputing Systems, pp. 411-420, 2008.

[11] Y. Zhu, H. Wang, Z. Hu, G. J. Ahn, H. Hu, and S.S. Yau, “Efficient Provable Data Possession for HybridClouds,” Proc. 17th ACM Conference on Computer andCommunications Security, pp. 756-758, 2010.

[12] C. Wang, K. Ren, W. Lou, and J. Li, “Toward PubliclyAuditable Secure Cloud Data Storage Services,” IEEENetwork, vol. 24, no. 4, pp. 19-24, July/Aug. 2010.

[13] Q. Wang, C. Wang, K. Ren, W. Lou, and J. Li, “En-abling Public Auditability and Data Dynamics for StorageSecurity in Cloud Computing,” IEEE Trans. Parallel andDistributed Systems, vol. 22, no. 5, pp. 847-859, May2011.

[14] K. Yang and X. Jia, “Data Storage Auditing Service inCloud Computing: Challenges, Methods and opportuni-ties,” World Wide Web, vol. 15, no. 4, pp. 409-428, 2012.

[15] Y. Zhu, H.G. Ahn, H. Hu, S.S. Yau, H.J. An, and C.J.Hu, “Dynamic Audit Services for Outsourced Storages inClouds,” IEEE Trans. on Services Computing, vol. 6, no.

2, pp. 409-428, 2013.[16] K. Yang and X. Jia, “An efficient and secure dynamic

auditing protocol for data storage in cloud computing,”IEEE Trans. Parallel and Distributed Systems, Vol. 24,No. 9, pp. 1717-1726, 2013.

[17] H. Wang, “Proxy Provable Data Possession in PublicClouds,” IEEE Trans. Services Computing, Vol. 6, no. 4,pp. 551-559, 2013.

[18] C. Wang, S. Chow, Q. Wang, K. Ren, and W. Lou,“Privacy-Preserving Public Auditing for Secure CloudStorage,” IEEE Trans. Computers, Vol. 62, No. 2, pp. 362-375, 2013.

[19] B. Wang, B. Li and H. Li. Oruta, “Privacy-PreservingPublic Auditing for Shared Data in the Cloud,” IEEETransactions on Cloud Computing, Vol.2, pp. 43-56, 2014.

[20] C. Erway, A. Kpc, C. Papamanthou, and R. Tamassia,“Dynamic provable data possession,” Proc. of the 16thACM conference on Computer and communications secu-rity, pp. 213-222, 2009.

[21] B. Wang, B. Li, and H. Li, “Public auditing for shareddata with efficient user revocation in the cloud,” IEEEINFOCOM 2013, pp. 2904-2912, 2013.

[22] J. Yuan and S. Yu, “Public Integrity Auditing for Dy-namic Data Sharing With Multiuser Modification,” IEEETransactions on Information Forensics and Security, vol.10, no. 8, pp. 1717-1726, Aug. 2015.

[23] J. Yu, K. Ren, C. Wang, V. Varadharajan, “EnablingCloud Storage Auditing with Key-Exposure Resistance,”IEEE Transactions on Information Forensics and Security.vol. 10, no. 6, pp. 1167-1179, Jun. 2015.

[24] D. Chaum and T. Pedersen, “Wallet databases withobservers,” Advances in Cryptology-Crypto 1992, pp.89-105, 1993.

[25] B. Chevallier-Mames, J. Coron, N. McCullagh, D. Nac-cache, and M. Scott, “Secure delegation of elliptic-curvepairing,” Proc. CARDIS 2010, pp.24-35, 2010.

[26] S. Hohenberger and A. Lysyanskaya, “How to se-curely outsource cryptographic computations,” TCC 2005,pp.264-282, 2005.

[27] M.J. Atallah and J. Li, “Secure outsourcing of sequencecomparisons,” International Journal of Information Secu-rity, pp.277-287, 2005.

[28] M.J. Atallah, and K.B. Frikken, “Securely outsourcinglinear algebra computations,” Proceedings of the 5th ACMSymposium on Information, Computer and Communica-tions Security, pp.48-59, 2010.

[29] X. Chen, J. Li, X. Huang, et al., “Secure OutsourcedAttribute-based Signatures,” IEEE Transactions on Paral-lel and Distributed Systems, vol. 25, no. 12, pp. 3285-3294, 2014.

[30] F. Zhang, X. Ma, S. Liu, “Efficient computation out-sourcing for inverting a class of homomorphic functions,”Information Sciences, vol. 286, pp. 19-28, 2014.

[31] B. Lynn, The pairing-based cryptographic library, onlineat http://crypto.Stanford.edu/pbc/, 2015.

IEEE Transactions on Information Forensics and Security (Volume:11 , Issue: 6 ),11 February 2016