Decentralized and Privacy-Preserving Public Auditing For Cloud Storage Based On Blockchain
Decentralized and Privacy-Preserving Public Auditing For Cloud Storage Based On Blockchain
Decentralized and Privacy-Preserving Public Auditing For Cloud Storage Based On Blockchain
ABSTRACT Cloud storage systems provide a flexible, convenient and friendly way for users to outsource
data. However, users lose control of their data once outsourcing them to the cloud. Public auditing was
introduced to ensure data integrity, in which a third-party auditor (TPA) is delegated to execute auditing
tasks. In general, TPA generates and sends challenge information to the cloud server (CS), which proves
data possession accordingly. However, the TPA may not perform public auditing protocol honestly or may
even collude with CS to deceive users. Some existing public auditing schemes utilize blockchain to resist
against the malicious TPA. However, the CS may guess the challenge messages and there is a risk that
users’ information may be leaked to the TPA during the process of auditing. In this paper, we propose
a decentralized and privacy-preserving public auditing scheme based on blockchain (DBPA), in which a
blockchain is utilized as an unpredictable source for the generation of (random) challenge information,
and the auditor is required to record the audit process onto the blockchain. Due to the characteristics of
blockchain, users can check the audit results publicly. Moreover, zero-knowledge proof is used in DBPA to
protect user’s privacy during the audit process so that the response information returned by the CS does not
leak information about user’s data. Security analysis and performance evaluation show that DBPA is secure
and efficient.
INDEX TERMS Decentralization, privacy preserving, public auditing, cloud storage, blockchain.
I. INTRODUCTION Furthermore, the cloud may suffer from single point of fail-
As valuable resources, data are generated in various of ways ure when hardware fails. Unfortunately, the CS may try to
whenever and wherever. Massive data at local storage cause hide data accidents in order to maintain its good reputation.
a series of difficulty in management. To reduce heavy burden According to [7], the most critical threats of cloud storage is
of data storage and maintenance in local storage, many users data integrity and privacy leakage. In recent years, a series of
choose to outsource their data into cloud [1]. As an excellent cloud storage security incidents have drawn highly attention
tool, cloud brings tremendous benefits and convenience to our of the public.1 Take Under Armour data breach as an exam-
life. At the same time, concerns about data security emerge ple. Their health and fitness tracking App ‘‘MyFitnessPal’’
[2]–[4]. After outsourcing to the cloud, users lose control was attacked by hackers, affecting about 150 million users at
of their data, and data on the cloud may not be secure and the end of February, 2018. The leaked information includes
may suffer from a various of attacks [5], [6]. On one hand, usernames, email addresses, passwords and etc. Therefore,
the cloud server (CS) may behave illegally on the outsourced it is of great importance to guarantee the integrity and privacy
data, e.g. retrieve or steal user data to make profit. On the of cloud data.
other hand, the CS might corrupt or delete user data to In recent years, many works on cloud data integrity and
save storage space and reduce maintenance expense. Thus, privacy protection have been reported. Firstly, a bunch of
data confidentiality, integrity and availability are violated. public verification schemes have been proposed in order
to improve the integrity of cloud data [8]–[17]. Public
The associate editor coordinating the review of this manuscript and
approving it for publication was Junggab Son . 1 https://blog.360totalsecurity.com/en/2018-cybersecurity-report/
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
VOLUME 8, 2020 139813
Y. Miao et al.: Decentralized and Privacy-Preserving Public Auditing for Cloud Storage Based on Blockchain
may not perform the auditing honestly, which could not be guessing attacks launched by the cloud server. According
detected by users. to the PoW mechanism, a new block is generated every
10 minutes on average, which gives the cloud server a chance
3) DECENTRALIZED PUBLIC AUDITING to guess the challenge messages ahead of time and tries to
How to improve the credibility of TPA is increasingly attract- prepare for covering data loss during the period.
ing attentions in recent literatures [43]. Especially, thanks to
its outstanding properties of decentralization, openness and B. OUR CONTRIBUTIONS
non-modifiability, blockchain technology provides a good In this paper, we propose a decentralized public auditing
solution to deal with the aforementioned problems [44], [45]. solution targeting specifically to provide security against
In 2014, Armknecht et al. [23] firstly proposed a pub- challenge messages guessing attacks and privacy protection
lic verification scheme secure against the malicious audi- for users during the process of auditing. Our contributions in
tor, which uses Bitcoin blockchain as a secure source of the paper can be summarized as follows.
time-dependent pseudorandomness provider and uses the
• We propose a decentralized privacy-preserving public
hash of the latest block based on the time t and security
data integrity auditing scheme based on blockchain,
parameters to generate challenge messages. Owing to the
named DBPA, in which the challenge message is gen-
unique and unpredictable bits extracted from Bitcoin blocks,
erated based on the latest successive block hashes and a
Armknecht’s scheme avoids to generate biased challenge
random seed chosen by the TPA. Therefore, a malicious
messages to deceive the user. However, a new block is gener-
cloud server is unable to guess the challenge message
ated in 10 minutes on average in Bitcoin, and the cloud server
ahead of time any more.
may know the challenge information ahead of time.
• We utilize zero-knowledge proof (ZKP) to protect user
Following the work of Armknecht et al., a series of decen-
privacy in DBPA. Concretely, instead of returning the
tralized public auditing schemes secure against the malicious
aggregated tag (computed according to the challenge
auditor were proposed. To name a few, Zhang et al. [24] pro-
message), the cloud server returns a blinded version of
posed an identity-based public integrity-verification scheme
the tag and provides a ZKP to show the correctness of
which uses the latest Bitcoin block hash based on the time t
the tag. If the proof passes the verification, the TPA
to generate challenge messages.
learns nothing else but the correctness of user data. Thus,
Besides, Zhang et al. did not take the user privacy into
privacy of user data is guaranteed.
consideration. Afterwards, Zhang et al. [25] proposed another
• Our DBPA scheme employs the PoW consensus mecha-
public verification scheme. The new scheme adopts a random
nism and utilizes blockchain to record the audit results,
masking technique to hide linear relationship between proof
which is public, decentralized and unforgeable. Any
information and data blocks, which resists against external
malicious behaviors and incorrect results can be easily
adversaries and protects privacy information of users.
detected. Therefore, the audit results could be trusted.
In order to solve this problem, Zhang et al. [26] proposed
• We show that our DBPA scheme is secure in the random
a blockchain-based public integrity verification scheme
oracle model based on the intractability of Computa-
which uses a series of successive Ethereum block hashes
tional Diffie-Hellman problem and Discrete Logarithm
based on the timestamp t instead of the latest block
problem. Experimental results show that our scheme is
hash to generate challenge messages. Their core technique
efficient and performs well.
has been applied in another scheme [46] which aims to
add an accurate time-stamp for outsourced data. However,
C. ORGANISATION
Zhang et al.’s scheme [26] does not take the protection of user
privacy into consideration either. Xue et al. [27] proposed The remainder of the paper is organized as follows. We intro-
an identity-based public auditing scheme which uses the duce the preliminaries and definitions in Sections II and III,
latest Bitcoin block nonce to generate challenge messages. respectively. In Section IV, we describe the construction of
Their scheme prevents a malicious auditor from generat- our DBPA scheme. Then, we analyze the security of our
ing specified challenge messages. Yu et al. [28] proposed scheme in Section V. We provide a performance evaluation
a decentralized data auditing scheme which uses a series of our scheme in Section VI. Finally, we summarize the work
of successive blocks in consortium blockchain to generate in Section VII.
challenge messages. Their scheme could prevent a malicious
auditor from colluding with the cloud server to generate II. PRELIMINARIES
some specified challenge messages and thus deceiving users. A. BASIC TOOLS AND HARD PROBLEMS
However, the block numbers used in consortium blockchain 1) BILINEAR MAPS
is controlled by the auditor, which means the challenge mes- Let G1 and GT be two multiplicative cyclic groups of prime
sages are still controlled by auditor to some extent. order p, respectively, g be a generater of G1 . Let e :
All the schemes above take use of blockchain as the G1 × G1 → GT be a bilinear map with the following
pesudorandom seed to generate challenge messages. How- properties: (1) Bilinearity: for all U , V ∈ G1 and a, b ∈
ever, they failed to consider the issue of challenge messages Zp , e(U a , V b ) = e(U , V )ab ; (2) Computability: for any
U , V ∈ G1 , e(U , V ) could be efficiently computed; and In addition, t denotes the agreed verification time, and Blt
(3) Non-degeneracy: e(g, g) 6 = 1T , where 1T is the identity denotes the hash of the latest block generated at or before
element of GT . time t, since the latest block may not appear exactly at time t.
Setup is run by the KGC to generate a master secret key b) Store Queries: A queries for the tags of a file M of
α and public parameters which are used in the fol- a user IDU . C uses the private key skU to run the
lowing algorithms. Store algorithm to generate file tags, and returns
Extract is run by the KGC to generate secret key of a user the tags to A.
according to its identity IDU . 3) Challenge phase. In this phase, A submits an identity
Store is run by U to outsource its data to the CS. The user IDU which has not appeared in extract queries before.
needs generate verification tags that enable a TPA to C generates a challenge message chal to A, which
check the data integrity. Furthermore, the CS needs refers to at least one data block whose tag has not been
confirm that the data is uploaded correctly. given to A.
Audit is run between the TPA and CS to check the data 4) Forgery phase. A generates a data possession proof
integrity. It consists of three sub-algorithms, includ- proof for the data blocks indicated by chal. If proof can
ing challenge generation (ChaGen), proof genera- pass the verification with non-negligible probability,
tion (ProGen) and proof verification (ProVer). we say that the adversary A succeeds in the game.
LogGen is run by the TPA to generate a log file to record The security model above indicates that, if the cloud server
the auditing result. The log file will be uploaded to does not keep all the data blocks challenged by C, it is unable
the blockchain. to generate a valid proof proof to pass the verification.
CheckLog is run by the user to audit the TPA’s behavior
by checking the validity of auditing records stored 1) DECENTRALIZED CHALLENGE MESSAGES GENERATION
in the log file on the blockchain.
In order to prohibit a misbehaving auditor from colluding
with the CS and generating an audit result ahead of time
C. SECURITY THREATS schedule, the challenge message should not depend solely
We consider threats from two entities, e.g. cloud server and on either the user or the auditor. Furthermore, the auditor
TPA. should provide incontrovertible evidence which should not
• Semi-trusted cloud server. The CS is assumed to be be pre-defined or predicted but can be checked and verified
semi-trusted. It may be dishonest and hide the incident publicly.
of data corruption by forging a proof to deceive the TPA.
It may also try to predict the challenge message ahead of 2) PRIVACY PRESERVATION
the audit. Except the verification result of data audit, the TPA should
• Misbehaving third-party auditor. The TPA is assumed be unable to infer any other information about user data from
to be semi-trusted. It will fulfill its obligation of data the proofs collected during the auditing process.
audit for users, but may try to infer information about
user data from the response information returned by 3) TRACEABILITY
the CS. In order to ensure the correctness and integrity of the out-
We also consider the case in which the CS and TPA may sourced data, the audit process should be traceable so that
collude together to generate false audit results to deceive the any malicious behavior of the TPA could be detected.
data user.
IV. OUR DBPA SCHEME
In this section, we describe our DBPA scheme, which utilizes
D. DESIGN GOALS
a blockchain. Assume that a user U has an identity IDU and
In this paper we target to design a secure and privacy-
that ϕ new blocks are needed to confirm a transaction in the
preserving public auditing scheme for cloud data storage.
blockchain (see Section II-B). Our scheme works as below.
Namely, our scheme should achieve the following goals.
Authenticity. Data corruption could be detected with over-
A. SETUP
whelming probability. That is, the CS could not pass the
Given security parameter 1` , the KGC generates system
auditing if there is any data loss or modification. We follow
parameters as follows:
the model in [13], [47], and consider the following game in
which the data owner is viewed as a challenger C and the CS • choose a bilinear map e : G1 × G1 → GT , where G1
is viewed as an adversary A. and GT are multiplicative groups with the same prime
order p, and g is the generator of G1 ;
1) Setup phase. C generates the master secret key and • choose a random α ∈ Zp as the master key and set PM =
system public parameters pp, and sends pp to A. gα ;
2) Query phase. A makes the following queries to C. • choose a pseudorandom function π1 : K1 × [1, n] →
a) Extract Queries: A queries for the private key [1, n], and a pseudorandom permutation π2 : K2 ×
of user with identity IDU . C runs the Extract [1, n] → Zp , where n is the (maximal) number of file
algorithm to generate the private key skU , and blocks, [1, n] is the set {1, 2, · · · , n}, and K1 , K2 are the
returns it to A. key spaces of π1 and π2 , respectively;
• choose cryptographic hash functions H : {0, 1}∗ → Zp , • compute iξ = π1 (k1 , ξ ) and viξ = π2 (k2 , ξ ) for
Hi : {0, 1}∗ → G1 for i = 1 to 4, h1 : {0, 1}∗ → K1 , and ξ = 1, 2, · · · , c;
c c
h2 : {0, 1}∗ → K2 ; • compute S =
Q vi
Siξ ς and µ =
P
viξ miξ ;
• output the system public parameter pp = {G1 , GT , e, g, ξ =1 ξ =1
PM , ϕ, H , H1 ∼ H4 , h1 (·), h2 (·), π1 , π2 }, and keep α • randomly select ρ ∈ Zp , compute
secret. ρ ρ
TM = PM , TU = PKU , TR = Rρ ,
µ
B. EXTRACT and A = e(S ρ , g)/(e(QU ,0 , TM ) · e(V µ , TU ));
The KGC generates private key for U as follows: • randomly select θ ∈ Zp , set W = S θ , and provide
• compute QU ,0 = H1 (IDU , 0) and QU ,1 = H1 (IDU , 1); the following zero-knowledge proof (ZKP):
• compute DU ,0 = Qα α
U ,0 and DU ,1 = QU ,1 . π = ZKP
The KGC sends DU ,0 , DU ,1 to U, which checks if ρ ρ
× (ρ, µ, θ )|TM = PM ∧TU = PKU ∧TR = Rρ
e(DU ,0 , g) = e(QU ,0 , PM ) and e(DU ,1 , g) = e(QU ,1 , PM )
∧e(W ρ , g1/θ )e(QU ,0 , TM )e(V −µ , TU ) = A .
−µ
hold. If not, U rejects; otherwise, it chooses a random xu ∈ Zp
and computes PKU = gxu . The private key of U is sku = Concretely, the proof π is generated as follows:
{xu , Du,0 , Du,1 }, and the public key is {PKU , IDU }.
– randomly select rρ , rθ , rµ ∈ Zp , and compute
C. STORE RW = W rρ , Rθ = g1/θ ,
−r
U divides its data file M into n blocks, e.g. M = {mi }1≤i≤n , RQ = QU ,0µ , RV = V −rµ ,
randomly chooses an element name ∈ Zp for file nam- r r
RM = PMρ , RU = PKUρ , Rr = Rrρ ;
ing and a one-time number r1 ∈ Zp , and computes τ =
H (nameknkr1 kPKU ). U then generates file tags as follows: – compute
• randomly choose r2 ∈ Zp , and compute R = gr2 , V =
c = H (RW , Rθ , RQ , RV , RM , RU , Rr );
H3 (r1 ) and W = H4 (r1 );
• for each i ∈ [1, n], compute Ti = H2 (ikτ kR), and Si = – compute zρ = rρ + ρc, zθ = c, zµ = rµ + µc;
(DU ,0 · V xu )mi · (DU ,1 , W xu )H (ikτ kR) · Tir2 , where Si is the – output π = (c, zρ , zθ , zµ ).
file tag for data block mi ; The CS sends proof = {A, r1 , W , π} to the TPA.
• upload F = {M , {Si }ni=1 , R, r1 } to the CS. 3) ProVer. Upon receiving proof , the TPA checks the data
After receiving F, the CS computes τ = H (nameknkr1 k integrity as follows:
PKU ), and verifies the correctness of the data by checking • reject if either of the following equations fails to
if hold:
n n −zµ
Y
Si , g) = e( (Qm
Y
i hi W zρ QU ,0 V −zµ
e( U ,0 QU ,1 ), PM ) e( , Rθ )e( , TM )e( , TU ) = Ac ,
i=1 i=1 RW RQ RV
z
n
Y n
Y PMρ /RM = TMc ,
·e( (V mi W hi ), PKU ) · e( Ti , R), (2) z
PKUρ /RU = TUc ,
i=1 i=1
Rzρ /Rr = TRc ;
where hi = H (ikτ kR). The CS accepts F if the equation
holds, and rejects otherwise. • compute τ = H (nameknkr1 kPKU ), and
k1 = h1 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 ),
D. AUDIT
This algorithm consists of the following sub-algorithms. k2 = h2 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 );
1) ChalGen. The TPA chooses a random r3 ∈ Zp and • compute iξ = π1 (k1 , ξ ) and viξ = π2 (k2 , ξ ) for all
c ← [1, n], and sends the challenge message chal = ξ = 1, 2, · · · , c;
(ϕ, t, r3 , c) to the CS, where t is the current timestamp. • check whether
2) ProGen. After receiving chal from the TPA, the CS c
vi hi
c
QUξ,1 ξ , TM )e(
v h
Y Y
works as follows: A = e( W iξ iξ , TU )
• extract {Blt−ϕ+1 , Blt−ϕ+2 , · · · , Blt } from the ξ =1 ξ =1
blockchain based on t and ϕ, and compute c
vi
Tiξ ξ , TR ),
Y
·e( (3)
k1 = h1 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 ) ξ =1
(1)
d) compute τ = H (nameknkr1 kPKU ), iξ =
(1)
π1 (k1 , ξ ) and viξ = π2 (k2 , ξ ), where
(1) (1) (1) (1)
k1 = h1 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 ),
(1) (1) (1) (1)
k2 = h2 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 );
e) accept if
c (1) (1)
vi hi
ξ ξ (1)
Y
A (1)
= e( QU ,1 , TM )
ξ =1
c (1) (1) c (1)
vi
vi hi
Tiξ ξ , TR ), (4)
(1) (1)
Y Y
FIGURE 3. Public auditing data structure of a transaction.
·e( W ξ ξ , TU )e(
ξ =1 ξ =1
(1) (1) (1)
where h iξ = H (iξ kτ kR), and Tiξ =
E. USER CHECK (1)
H2 (iξ kτ kR), and reject otherwise.
The user checks the TPA’s behavior as follows.
1) LogGen. The TPA generates an auditing log as below: V. SECURITY ANALYSIS
a) for each verification task, generate an record as A. CORRECTNESS
Assume that the user generates file tags σ = {{Si }ni=1 , R, r1 }
{t, r3 , c, A, TM , TU , TR , r1 }; honestly and the TPA and CS follow the scheme to audit the
data and generate proof = {A, r1 , W , π}. Correctness can be
b) store the record to a log file f in chronological
verified as follows. Regarding Eq. (2), we have:
order as shown in Table 1, where TxID denotes
n
the transaction ID; Y
c) compute the hash value e( Si , g)
i=1
(1) (1) (1) n
}t1 = H (Blt−ϕ+1 kBlt−ϕ+1 k · · · kBlt xu mi H (ikT kR) xu H (ikT kR) r2
(Dm
Y
i
= e( U ,0 V DU ,1 W Ti ), g)
(1) (1) (1) (1) (1)
kt (1) kr3 kA(1) kTM kTU kTR kr1 ); i=1
n
H (ikT kR)
= e( (Dm
Y
d) generate a transaction Tx1 as shown in Figure 3, i
), g)
U ,0 DU ,1
where the data field is set to }t . If the transaction i=1
is successfully recorded into the blockchain, add n n
Tir2 , g)
Y Y
BlockHeight and TxID in the log file f , as shown ·e( (V xu mi W xu H (ikT kR) ), g)e(
in Table 1. i=1 i=1
n n n
2) CheckLog. U checks the validity of the auditing results
(Qm
Y Y Y
= e( i
Q hi
U ,0 U ,1 ), PM )e( (V mi hi
W ), PKU )e( Ti , R).
as follows:
i=1 i=1 i=1
a) acquire t (1) , t (1) + ϕ + 1, derive the actual time
when the audit was performed from t (1) and t (1) + Regarding Eqs. (3) and (4), we have:
µ
ϕ + 1, and reject if the time does not match the A = e(S, TG )/(e(QU ,0 , TM ) · e(V µ , TU ))
agreed one; c
vi µ ρ ρ
Siξ ξ , gρ )/(e(QU ,0 , PM ) · e(V µ , PKU ))
Y
b) extract }t1 from the blockchain, and reject if the = e(
extraction fails; ξ =1
c) check whether }t1 matches the entry in the first c viξ hi c
µ ρ vi
QU ,1 ξ , PM )e( Tiξ ξ , Rρ )
Y Y
row of f , and rejects if }t1 does not match the = e(QU ,0
agreed one; ξ =1 ξ =1
c
ρ µ ρ ρ Proof: [Proof Sketch] The proof follows from that in
×e(V µ , PKU )/(e(QU ,0 , PM )e(V µ , PKU ))
viξ hiξ
Y
W
Section 4.2 of [48]. A challenger is used to obtain a valid
ξ =1
c c response {A, r1 , W , π}. In addition, the cloud server is treated
viξ hi vi
µ ρ ρ
QU ,1 ξ , PM )e( Tiξ ξ , Rρ ) as an adversary and the challenger controls the random oracle
Y Y
= e(QU ,0 , PM )e(
ξ =1 ξ =1
H (·). If there is a non-negligible probability that adversary
c wins, we can construct a simulator that solves the DL prob-
ρ ρ
e(V µ , PKU )e(
viξ hiξ
Y
W , PKU ) lem and CDH problem. To prove the authenticity of DBPA,
ξ =1 we define a sequence of games with interleaved analysis as
µ ρ ρ follows.
/(e(QU ,0 , PM )e(V µ , PKU ))
Game 0: This is simply the original authenticity
c viξ hi c c
ρ vi ρ game played between the TPA and the CS defined in
QU ,1 ξ , PM )e( Tiξ ξ , Rρ )e(
v h
Y Y Y
= ×e( W iξ iξ , PKU )
Section III-D.
ξ =1 ξ =1 ξ =1
c c c
Game 1: It is the same as Game 0, with the exception that
Y v iξ hi vi the adversary tries to forge a part of the proof information in
QU ,1 ξ , TM )e( Tiξ ξ , TR )e(
viξ hiξ
Y Y
= e( W , TU ).
Audit. Since σi = {Si , R} in DBPA is existentially unforge-
ξ =1 ξ =1 ξ =1
able, the challenger records each response generated by the
B. SECURITY ANALYSIS adversary, and declares failure and aborts if
Lemma 1: If the CDH problem is hard, the user’s file tags 1) the response is valid, and
are unforgeable under adaptively chosen-message attacks. 2) the response {A, r1 , W , π 0 = {A, TM , TU , TR0 }} is
Similar with [26], we can prove that it is computational different from the expected one {A, r1 , W , π =
infeasible for an adversary who does not own the user’s secret {A, TM , TU , TR }}.
key to forge a valid signature σ = {{Si }ni=1 , R, r1 }. So we omit Analysis. Denote the event above by abt1 . Given a chal-
the proof here. lenge message, the expected response {A, r1 , W , π} should
Lemma 2: As an inside adversary, the cloud server could satisfy that
not forge µ to pass the verification done by the TPA. µ
A = e(S, TG )/(e(QU ,0 , TM ) · e(V µ , TU ))
Proof: [Proof Sketch] Assume the CS forges µ to
c c c
µ0 and passes the verification. We know that for a vi hi vi
QUξ,1 ξ , TM )e( Tiξ ξ , TR ).
v h
Y Y Y
given challenge message, the correct responding should be = e( W iξ iξ , TU )e(
µ ξ =1 ξ =1 ξ =1
A = e(S, TG )/(e(QU ,0 , TM ) · e(V µ , TU )). Suppose that
the CS outputs the response {A0 , r1 , W , π}, where A0 = In case that the challenger aborts, the response {A, r1 , W , π 0 }
µ0
e(S, TG )/(e(QU ,0 , TM ) · e(V µ , TU )), which passes the ver-
0
generated by the adversary satisfies that
ification done by the TPA. We have that A/A0 = 1, therefore, µ
A = e(S, TG )/(e(QU ,0 , TM ) · e(V µ , TU ))
µ µ0
e(QU ,0 , TM ) · e(V µ , TU ) = e(QU ,0 , TM ) · e(V , TU ). µ0 c
vi hi
c c
vi
QUξ,1 ξ , TM )e( Tiξ ξ , TR0 ).
v h
Y Y Y
= e( W iξ iξ , TU )e(
That is, ξ =1 ξ =1 ξ =1
αρµ αρµ0
e(QU ,0 · V xu ρµ , g) = e(QU ,0 · V xu ρµ0
, g). We know that 1TR = TR −TR0 6 = 0 since TR 6 = TR0 . We further
have r2 6 = r20 , 1r2 = r2 − r20 6 = 0, and
We get that
c c
vi vi
Tiξ ξ , TR ) = e( Tiξ ξ , TR0 ),
Y Y
αρ xu ρ µ αρ xu ρ µ0
(QU ,0 ·V ) = (QU ,0 ·V ) . e(
ξ =1 ξ =1
αρ
Since µ 6 = µ0 , we set ω = QU ,0 · V xu ρ which can be
which is
represented as ω = (g0 )χ · (g00 )χ , where χ ∗ , χ 0∗ ∈ Zp ,
∗ 0∗
c c
vi r2 ρ vi r20 ρ
g0 , g00 ∈ G1 are randomly chosen. Furthermore, there exists Tiξ ξ , g) Tiξ ξ
Y Y
e( = e( , g).
x ∈ Zp , g00 = (g0 )x . Therefore, the discrete logarithm problem ξ =1 ξ =1
here is that given g0 , g00 = (g0 )x , compute x ∈ Zp , so the
c vi r2 ρ c vi r20 ρ
solution of discrete log problem is x = −(χ ∗ /χ 0∗ ). However, Equally, we have
Q
Tiξ ξ =
Q
Tiξ ξ , and then
χ 0∗ is zero only with probability 1/p, which is negligible ξ =1 ξ =1
because p is a large prime. We then get a solution to the DL c vi ρ1r2
T iξ ξ
Q
= 1.
problem with probability of 1 − 1/p, which contradicts the ξ =1
assumption that the DL problem in G1 is computationally Given a discrete logarithm problem g, h ∈ G1 , if we set
infeasible. Tiξ = gaξ · hbξ for some aξ , bξ ∈ Zp and ξ ∈ [1, c], the solu-
Theorem 1: Our DBPA scheme achieves the authenticity. tion to the DL problem could be given as x = logg h =
That is, if the cloud server’s response passes the TPA’s veri- c c
aξ viξ ρ1r2 / bξ viξ ρ1r2 . However, 1r2 is zero only
P P
−
fication, it must possess the specified data truly. ξ =1 ξ =1
with the probability 1/p, which is negligible because p is a Obviously, we can obtain
large prime. Then we get a solution to the DL problem with c
−b1 viξ m∗i b00 /b01 β −αviξ m∗i b00 β
(gb0 µβ · gαb0 µβ ·
0 Y
a probability of (1 − 1/p)Pr[abt1 ], which is non-negligible if (g ξ ·g ξ )
Pr[abt1 ] is so, contradicting the DL assumption. Therefore, ξ =1
we have that the difference between the adversary’s success c
−viξ m∗i b00 /b01 xu ρ
·V µxu ·
Y
probabilities in Game 0 and Game 1 is non-negligible. W ξ )
Game 2: It is the same as Game 1, except that the adversary ξ =1
is trained to be able to forge any part of response informa- c
−b1 viξ m∗i b00 /b01 β −αviξ m∗i b00 β
= (gb0 µβ · gαb0 µβ ·
0 Y
tion in Audit. That is, the challenger records each response (g ξ ·g ξ )
information generated by the adversary, declares failure and ξ =1
aborts if the response {A0 , r1 , W , π 0 = {A0 , TM0 , TU0 , TR0 }} is c
−viξ m∗i b00 /b01 xu ρ 0
·V µxu ·
Y
valid and different from the expected one {A, r1 , W , π = W ξ ) .
{A, TM , TU , TR }}. ξ =1
Analysis. Denote the event above by abt2 . Given a CDH
Since ρ 6 = ρ0, we can get
problem instance (g, gα , gβ ), the challenger sets g∗ = gα and
PM = gβ at the beginning of the game, sets QU ,0 = gb0 ·gαb0 ,
0 c
−b1 viξ m∗i b00 /b01 β −αviξ m∗i b00 β
$ = gb0 µβ gαb0 µβ
0 Y
(g ξ g ξ )
QU ,1 = gb1 · gαb1 , hi = −m∗i b00 /b01 where b0 , b00 , b1 , b01 are
0
ξ =1
randomly chosen from Zp , and randomly selects xu ← Zp
c
as (part of) the user’s secret key. To generate tags for a file −viξ m∗i b00 /b01 xu
·V µxu ·
Y
W ξ
M ∗ = {m∗i }, the challenger randomly chooses r2 ← Zp and
ξ =1
computes ({Si }, R), where R = gr2 and
= 1.
Si = gb0 βmi · V xu mi · g−b1 βmi b0 /b1 · W −xu mi b0 /b1 · Tir2 .
∗ ∗ ∗ 0 0 ∗ 0 0
µ
A= e(S , g)/(e(QU ,0 , TM ) · e(V µ , TU ))
ρ ξ =1
c
c c c c −(b00 µ− (viξ m∗i b00 ))−1
P
vi hi vi −viξ m∗i b00 /b01 xu ξ
QUξ,1 ξ , TM )e( Tiξ ξ , TR )
v h
Y Y Y Y
= e( W iξ iξ , TU )e( · W ξ )) ξ =1
.
ξ =1 ξ =1 ξ =1 ξ =1
and Note that the probability of game failure is the same as that
µ of
0
A = e(S , g)/(e(QU ,0 , TM0 ) · e(V µ , TU0 ))
ρ
c
c c c 0
X
vi hi vi b0 · (µ − (viξ m∗iξ )) = 0 mod p,
QUξ,1 ξ , TM0 )e( Tiξ ξ , TR0 ).
v h
Y Y Y
= e( W iξ iξ , TU0 )e(
ξ =1
ξ =1 ξ =1 ξ =1
We can get that which is 1/p. Since p is a large prime, it is thus negligible.
Therefore, the probability that we solve the CDH problem is
c c
µ vi hi (1 − 1/p) · Pr[abt2 ], which is non-negligible if Pr[abt2 ] is
QUξ,1 ξ , TM )e(Vµ ·
viξ hiξ
Y Y
e(QU ,0 · W , TU )
so, contradicting the CDH assumption. Hence, the difference
ξ =1 ξ =1
c c
between the adversary’s success probabilities in Game 1 and
µ vi hi Game 2 is negligible.
QUξ,1 ξ , TM0 )e(Vµ ·
viξ hiξ
Y Y
= e(QU ,0 · W , TU0 ).
Theorem 2: The cloud sever’s response proof =
ξ =1 ξ =1
{A, r1 , W , π} does not leak any information about µ to the
Equally, we have TPA.
c
−b1 viξ m∗i b00 /b01 β −αviξ m∗i b00 β
Proof: In the response proof = {A, r1 , W , π} returned
e((gb0 µβ · gαb0 µβ ·
0 Y
(g ξ ·g ξ ) by the cloud server, only S and µ may leak information about
ξ =1 the user’s data. However, S is hidden in W by a random
c
−viξ m∗i b00 /b01 xu ρ exponent θ ∈ Zp , and both S and µ are hidden in
·V µxu ·
Y
W ξ ) , g) µ
ξ =1 A = e(S ρ , g)/(e(QU ,0 , TM ) · e(V µ , TU ))
µ
c
−b1 viξ m∗i b00 /b01 β −αviξ m∗i b00 β = [e(S, g)/(e(QU ,0 , PM ) · e(V µ , PKU ))]ρ
b0 µβ αb00 µβ
Y
= e((g ·g · (g ξ ·g ξ ) ρ
ξ =1 by a random exponent ρ ∈ Zp , where TM = PM and TU =
ρ
c PKU . Furthermore, the zero-knowledge proof π does not leak
−viξ m∗i b00 /b01 xu ρ 0
·V µxu · any information about the witness ρ, µ, θ . To simulate the
Y
W ξ ) , g).
ξ =1 response, the simulator could randomly select A0 , r10 , W 0 from
PX = 1 − (1 − Pcorrupt )c . (7)
Denote by P = (1 − Pcorrupt )c the probability that invalid tamper-proof. A new block is generated approximately per
blocks are not detected by the auditor, and by PA the proba- 15 seconds in Ethereum. The cloud server could not con-
bility that the adversary A wins, i.e. successfully cheating the trol the generation of a new block, and by Lemma 3 the
auditor. According to [49], we know that hash value of the new block is unpredictable for the cloud
server. Hence, the challenge information is unpredictable for
P (1 − Pcorrupt )c
PA = = , (8) the cloud server.
1 − ϒ(1 − P) 1 − ϒ[1 − (1 − Pcorrupt )c ] To ensure the integrity of outsourced data, most existing
where ϒ denotes the proportion of A’s mining hashrate. The schemes assume that the cloud server would not collude with
parameter ϒ measures the relative power of A and can be the TPA, which is a strong assumption. If the two entities col-
interpreted as the probability that the next oracle request lude, the TPA may send fake audit results to the user, in order
gives a valid block. For security in blockchain, we assume to help the CS to cover up a data corruption event and conceal
ϒ < 51%. If A is able to control more than half of its mistake, without being detected by the user. In our DBPA
computation power of the whole blockchain network, secu- scheme, the challenge information is generated based on the
rity of the blockchain would be broken. For example, when latest blockchain information and the choices of the TPA.
ϒ = 25%, Pcorrupt = 10%, c = 500, the probability Each audit information generated between the TPA and CS
that A wins is 0.013055, indicating that although A has is packed into a transaction and recorded into the blockchain.
strong computation power, the probability that it wins is still Due to the characteristics of blockchain, the whole audit pro-
small. cess, including challenge information generation, response
Theorem 3: The challenge information is unpredictable proof generation, and audit results verification, is thus trace-
for the cloud server. able. Any misbehavior of the TPA could be traced. As long
Proof: In our scheme, the challenge message is gen- as the blockchain remains tamper-resistant, we can learn
erated as k1 = h1 (Blt−ϕ+1 k Blt−ϕ+2 k · · · kBlt kr3 ), k2 = from the audit information recorded on the blockchain
h2 (Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt kr3 ), iξ = π1 (k1 , ξ ), viξ = that the TPA honestly fulfilled its obligation to audit the
π2 (k2 , ξ ). As we can see, the challenge message is determined user’s data stored on the CS. Hence, we have the following
by two parts. One part is r1 which is generated by the auditor, theorem.
and the other part Blt−ϕ+1 kBlt−ϕ+2 k · · · kBlt is determined Theorem 4: Misbehavior of the TPA in auditing the user’s
by the public blockchain, which is publicly transparent and data is traceable.
A. PROPERTY COMPARISON
Table 3 shows the comparison of our DBPA scheme with
some other schemes in the literature in terms of functional
features. As we can see, the proposed scheme supports
all the features compared to the existing schemes. Con- privacy protection of the user’s data, which is more important
cretely, the proposed scheme supports public auditing, which for the users if their data is sensitive. Table 4 provides a
means the auditing proofs could be verified by any user. comparison of our scheme with [24] and [26] in terms of com-
Moreover, all the auditing proofs in our scheme are traceable munication overhead. In our scheme, the TPA needs to send
since all the hash values of auditing proofs are stored in the challenge message ϕ, t, r3 , c to the cloud server in the first
the blockchain permanently and cannot be tampered with. move. After receiving the challenge message, the cloud server
In addition, our scheme achieves privacy preservation during needs to return a response information proof = {A, r1 , W , π}
the process of auditing, while the other schemes are not. Fur- to the TPA. As we can see, the communication overhead of
thermore, our scheme could prevent the adversary from chal- our scheme on the TPA side is |Zp |, and the communication
lenge message guessing, while the other blockchain-based overhead on the cloud server side is 11|G1 | + |GT | + 5|Zp |,
schemes could not. where |G1 |, |GT | and |Zp | denote the length of an element
of G1 , GT and Zp , respectively, c denotes the number of
B. EFFICIENCY COMPARISON challenge blocks, and |H | denotes the hash length a block
In this part we compare our DBPA scheme with schemes in the underlying blockchain. From Table 4 we learn that
SWP [48], SCLPV [24], and CPVPA [26] in terms of com- the communication overhead in SCLPV is linear with c on
putation overhead and communication overhead. Table 3 pro- the TPA side, while those in our scheme and CPVPA are
vides a comparison in computational efficiency of the cloud independent of c.
server and the TPA, where MG , MZp , EG denote a scalar Overall, our DBPA scheme provides better privacy protec-
multiplication in G, a scalar multiplication in Zp , a modular tion and security guarantee, but at the cost of a little higher
exponentiation in G, respectively, P denotes a bilinear pair- communication overhead, when compared with SCLPV and
ing, Cf denotes the evaluation of a PRF, and c denotes the total CPVPA. Specifically, the extra communication overhead on
number of challenge data blocks. From the table we learn that the cloud server side is 9|G1 |+|GT |+3|Zp | for the protection
both the computational overhead of the cloud server and that of user privacy against the TPA, and that on the TPA side is
of the TPA are slightly higher than those of the other three |Zp | for randomizing the challenge message in order to resist
schemes. However, our scheme provides a good solution to against the cloud server.
C. EXPERIMENTAL RESULTS
To demonstrate the usability of our DBPA scheme, we imple-
ment the scheme in Java. The experiments are conducted
on Windows 10 operating system, with Intel(R) Core(TM)
i7 CPU, 2.5GHZ and 8GB RAM. We make use of the
JPBC library, and utilize Type-A curve in our experiment.
To support 80-bit security level, we set the parameter p to
be of 160 bits. Figure 5(a) shows the computation delay on
the TPA side with different challenge block numbers. As we
can see, as the value of number c increases, the auditing
delay linearly increases as well, as more exponentiations and
multiplications in G1 are needed. Compared with CPVPA
[26], our scheme requires almost the same time to conduct
the verification on the same number of challenge data blocks.
Figure 5(b) shows the verification time of the CS side, which
almost grows linearly with the number of elements per file.
The verification time in our DBPA scheme is almost the
same as that in SCLPV [24] and CPVPA [26]. Furthermore,
We show the communication overhead between the TPA and
the CS in Figure 5(c), which is independent of the number
of challenge blocks in our scheme and CPVPA [26], while
it is linear with the number of challenge data blocks in
SWP [48] and SCLPV [24]. Furthermore, we use Ethereum
blockchain to examine the efficiency and cost of our DBPA
scheme. We use Solidity to create a contract and publish it to
Kovan public test network.2 The current price configuration
is 0.0012 Ether per million gas, and the current rate is about
1Ether ≈ 261.8$. Our wallet address is
0x851Ca2C940f1AD6eb10094dC08a37df81B3BE114.
The contract is deployed at block 1846343, and costs FIGURE 5. Efficiency comparison.
209978 gas. The transaction hash is
0x9c901a6f1b58f381a77da1492f54282
2e61b7435f236b188666c9b373e4c7eb7.
The transaction is confirmed at 22:49 on May 25th, 2020.
We first tested how the transaction confirmation time varies
in different number of data blocks, and set the number of data
blocks from 0 to 100. The results are shown in Figure 6(a).
As we can see, the time cost for confirmation has a positive
relationship with the transaction numbers. When a transaction FIGURE 6. Performance in Ethereum blockchain.
conducted a comprehensive performance analysis, showing [22] W. Shen, J. Yu, H. Xia, H. Zhang, X. Lu, and R. Hao, ‘‘Light-weight
that our scheme has low communication overhead and is effi- and privacy-preserving secure cloud auditing scheme for group users via
the third party medium,’’ J. Netw. Comput. Appl., vol. 82, pp. 56–64,
cient in terms of computation overhead. We did experiments Mar. 2017.
on Kovan testnet of Ethereum blockchain to demonstrate the [23] F. Armknecht, J.-M. Bohli, G. O. Karame, Z. Liu, and C. A. Reuter, ‘‘Out-
practicability of our scheme. sourced proofs of retrievability,’’ in Proc. ACM SIGSAC Conf. Comput.
Commun. Secur. CCS, 2014, pp. 831–843.
[24] Y. Zhang, C. Xu, S. Yu, H. Li, and X. Zhang, ‘‘SCLPV: Secure certifi-
REFERENCES cateless public verification for cloud-based cyber-physical-social systems
against malicious auditors,’’ IEEE Trans. Comput. Social Syst., vol. 2,
[1] E. Azhir, N. J. Navimipour, M. Hosseinzadeh, A. Sharifi, and A. Dar-
no. 4, pp. 159–170, Dec. 2015.
wesh, ‘‘Query optimization mechanisms in the cloud environments: A
[25] Y. Zhang, C. Xu, H. Li, and X. Liang, ‘‘Cryptographic public verification
systematic study,’’ Int. J. Commun. Syst., vol. 32, no. 8, May 2019,
of data integrity for cloud storage systems,’’ IEEE Cloud Comput., vol. 3,
Art. no. e3940.
no. 5, pp. 44–52, Sep. 2016.
[2] A. Singh and K. Chatterjee, ‘‘Cloud security issues and challenges: A sur-
[26] Y. Zhang, C. Xu, X. Lin, and X. S. Shen, ‘‘Blockchain-based public
vey,’’ J. Netw. Comput. Appl., vol. 79, pp. 88–115, Feb. 2017.
integrity verification for cloud storage against procrastinating auditors,’’
[3] Y. Shin, D. Koo, and J. Hur, ‘‘A survey of secure data deduplication
IEEE Trans. Cloud Comput., early access, Mar. 29, 2019, doi: 10.1109/
schemes for cloud storage systems,’’ ACM Comput. Surveys, vol. 49, no. 4,
TCC.2019.2908400.
pp. 1–38, Feb. 2017.
[27] J. Xue, C. Xu, J. Zhao, and J. Ma, ‘‘Identity-based public auditing for cloud
[4] M. Du, Q. Wang, M. He, and J. Weng, ‘‘Privacy-preserving indexing and storage systems against malicious auditors via blockchain,’’ Sci. China Inf.
query processing for secure dynamic cloud storage,’’ IEEE Trans. Inf. Sci., vol. 62, no. 3, Mar. 2019.
Forensics Security, vol. 13, no. 9, pp. 2320–2332, Sep. 2018.
[28] H. Yu, Z. Yang, and R. O. Sinnott, ‘‘Decentralized big data auditing for
[5] N. Kaaniche and M. Laurent, ‘‘Data security and privacy preservation in smart city environments leveraging blockchain technology,’’ IEEE Access,
cloud storage environments based on cryptographic mechanisms,’’ Com- vol. 7, pp. 6288–6296, 2019.
put. Commun., vol. 111, pp. 120–141, Oct. 2017.
[29] Y. Wu, X. Lin, X. Lu, J. Su, and P. Chen, ‘‘A secure light-weight public
[6] Y. Li, K. Gai, L. Qiu, M. Qiu, and H. Zhao, ‘‘Intelligent cryptography auditing scheme in cloud computing with potentially malicious third party
approach for secure distributed big data storage in cloud computing,’’ Inf. auditor,’’ IEICE Trans. Inf. Syst., vol. E99.D, no. 10, pp. 2638–2642, 2016.
Sci., vol. 387, pp. 103–115, May 2017.
[30] K. Qian and H. Huang, ‘‘A new identity-based public auditing against
[7] N. A. Kofahi and A. R. Al-Rabadi, ‘‘Identifying the top threats in cloud malicious auditor in the cloud,’’ Int. J. Embedded Syst., vol. 11, no. 4,
computing and its suggested solutions: A survey,’’ Adv. Netw., vol. 6, no. 1, pp. 452–460, 2019.
pp. 1–13, 2018. [31] X. Zhang, J. Zhao, C. Xu, H. Li, H. Wang, and Y. Zhang, ‘‘CIPPPA:
[8] A. Juels and B. S. Kaliski, ‘‘Pors: Proofs of retrievability for large files,’’ in Conditional identity privacy-preserving public auditing for cloud-based
Proc. 14th ACM Conf. Comput. Commun. Secur. CCS, 2007, pp. 584–597. WBANs against malicious auditors,’’ IEEE Trans. Cloud Comput., early
[9] G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, access, Jul. 10, 2019, doi: 10.1109/TCC.2019.2927219.
and D. Song, ‘‘Provable data possession at untrusted stores,’’ in Proc. 14th [32] S. Nakamoto. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
ACM Conf. Comput. Commun. Secur. CCS, 2007, pp. 598–609. [Online]. Available: https://bitcoin.org/bitcoin.pdf
[10] B. Wang, B. Li, and H. Li, ‘‘Panda: Public auditing for shared data with [33] M. A. Khan and K. Salah, ‘‘IoT security: Review, blockchain solutions,
efficient user revocation in the cloud,’’ IEEE Trans. Services Comput., and open challenges,’’ Future Gener. Comput. Syst., vol. 82, pp. 395–411,
vol. 8, no. 1, pp. 92–106, Jan. 2015. May 2018.
[11] J. Yuan and S. Yu, ‘‘Public integrity auditing for dynamic data sharing with [34] G. Wood, ‘‘Ethereum: A secure decentralised generalised transaction
multiuser modification,’’ IEEE Trans. Inf. Forensics Security, vol. 10, no. 8, ledger,’’ Ethereum Project Yellow Paper, vol. 151, pp. 1–32, Apr. 2014.
pp. 1717–1726, Aug. 2015. [35] X. Li, P. Jiang, T. Chen, X. Luo, and Q. Wen, ‘‘A survey on the security of
[12] T. Jiang, X. Chen, and J. Ma, ‘‘Public integrity auditing for shared dynamic blockchain systems,’’ Future Gener. Comput. Syst., vol. 107, pp. 841–853,
cloud data with group user revocation,’’ IEEE Trans. Comput., vol. 65, Jun. 2020.
no. 8, pp. 2363–2373, Aug. 2016. [36] Y. Yuan and F.-Y. Wang, ‘‘Blockchain and cryptocurrencies: Model, tech-
[13] D. He, B. Huang, and J. Chen, ‘‘New certificateless short signature niques, and applications,’’ IEEE Trans. Syst., Man, Cybern. Syst., vol. 48,
scheme,’’ IET Inf. Secur., vol. 7, no. 2, pp. 113–117, Jun. 2013. no. 9, pp. 1421–1428, Sep. 2018.
[14] H. Wang, D. He, and S. Tang, ‘‘Identity-based proxy-oriented data upload- [37] T. M. Fernández-Caramés and P. Fraga-Lamas, ‘‘A review on the
ing and remote data integrity checking in public cloud,’’ IEEE Trans. Inf. use of blockchain for the Internet of Things,’’ IEEE Access, vol. 6,
Forensics Security, vol. 11, no. 6, pp. 1165–1176, Jun. 2016. pp. 32979–33001, 2018.
[15] S. Peng, F. Zhou, Q. Wang, Z. Xu, and J. Xu, ‘‘Identity-based public multi- [38] K. Salah, M. H. U. Rehman, N. Nizamuddin, and A. Al-Fuqaha,
replica provable data possession,’’ IEEE Access, vol. 5, pp. 26990–27001, ‘‘Blockchain for AI: Review and open research challenges,’’ IEEE Access,
2017. vol. 7, pp. 10127–10149, 2019.
[16] W. Shen, J. Qin, J. Yu, R. Hao, and J. Hu, ‘‘Enabling identity-based [39] K. Fan, S. Wang, Y. Ren, H. Li, and Y. Yang, ‘‘MedBlock: Efficient and
integrity auditing and data sharing with sensitive information hiding for secure medical data sharing via blockchain,’’ J. Med. Syst., vol. 42, no. 8,
secure cloud storage,’’ IEEE Trans. Inf. Forensics Security, vol. 14, no. 2, p. 136, Aug. 2018.
pp. 331–346, Feb. 2019. [40] N. Z. Aitzhan and D. Svetinovic, ‘‘Security and privacy in decentralized
[17] X. Zhang, H. Wang, and C. Xu, ‘‘Identity-based key-exposure resilient energy trading through multi-signatures, blockchain and anonymous mes-
cloud storage public auditing scheme from lattices,’’ Inf. Sci., vol. 472, saging streams,’’ IEEE Trans. Dependable Secure Comput., vol. 15, no. 5,
pp. 223–234, Jan. 2019. pp. 840–852, Sep. 2018.
[18] L. Zhou, A. Fu, S. Yu, M. Su, and B. Kuang, ‘‘Data integrity verification [41] K. Leng, Y. Bi, L. Jing, H.-C. Fu, and I. Van Nieuwenhuyse, ‘‘Research
of the outsourced big data in the cloud environment: A survey,’’ J. Netw. on agricultural supply chain system with double chain architecture
Comput. Appl., vol. 122, pp. 1–15, Nov. 2018. based on blockchain technology,’’ Future Gener. Comput. Syst., vol. 86,
[19] H. Tian, F. Nan, C.-C. Chang, Y. Huang, J. Lu, and Y. Du, ‘‘Privacy- pp. 641–649, Sep. 2018.
preserving public auditing for secure data storage in fog-to-cloud comput- [42] D. He, S. Zeadally, and L. Wu, ‘‘Certificateless public auditing scheme for
ing,’’ J. Netw. Comput. Appl., vol. 127, pp. 59–69, Feb. 2019. cloud-assisted wireless body area networks,’’ IEEE Syst. J., vol. 12, no. 1,
[20] B. Wang, B. Li, and H. Li, ‘‘Oruta: Privacy-preserving public auditing pp. 64–73, Mar. 2018.
for shared data in the cloud,’’ IEEE Trans. Cloud Comput., vol. 2, no. 1, [43] M. Ali, S. U. R. Malik, and S. U. Khan, ‘‘DaSCE: Data security for cloud
pp. 43–56, Jan. 2014. environment with semi-trusted third party,’’ IEEE Trans. Cloud Comput.,
[21] J. Zhao, C. Xu, F. Li, and W. Zhang, ‘‘Identity-based public verification vol. 5, no. 4, pp. 642–655, Oct. 2017.
with privacy-preserving for data storage security in cloud computing,’’ [44] H. Xu, J. Cao, J. Zhang, L. Gong, and Z. Gu, ‘‘A survey: Cloud data security
IEICE Trans. Fundamentals Electron., Commun. Comput. Sci., vol. E96.A, based on blockchain technology,’’ in Proc. IEEE 4th Int. Conf. Data Sci.
no. 12, pp. 2709–2716, 2013. Cyberspace (DSC), Jun. 2019, pp. 618–624.
[45] N. Ravi and N. R. Sunitha, ‘‘Introduction of blockchain to mitigate the QIONG HUANG received the Ph.D. degree from
trusted third party auditing for cloud security: An overview,’’ in Proc. 2nd the City University of Hong Kong, in 2010. He is
Int. Conf. Emerg. Comput. Inf. Technol. (ICECIT), Dec. 2017, pp. 1–6. currently a Professor with the College of Mathe-
[46] Y. Zhang, C. Xu, N. Cheng, H. Li, H. Yang, and X. Shen, ‘‘Chronos+ +: An matics and Informatics, South China Agricultural
accurate blockchain-based time-stamping scheme for cloud storage,’’ IEEE University, Guangzhou, China. He has published
Trans. Services Comput., vol. 13, no. 2, pp. 216–229, Mar./Apr. 2020. more than 110 research papers in international
[47] S. S. Al-Riyami and K. G. Paterson, ‘‘Certificateless public key cryptogra- conferences and journals. His research interests
phy,’’ in Proc. Int. Conf. Theory Appl. Cryptol. Inf. Secur. Berlin, Germany:
include cryptography and information security,
Springer, 2003, pp. 452–473.
in particular, cryptographic protocols design and
[48] H. Shacham and B. Waters, ‘‘Compact proofs of retrievability,’’ in Proc.
Int. Conf. Theory Appl. Cryptol. Inf. Secur. Berlin, Germany: Springer, analysis. He has served as a Programme Commit-
2008, pp. 90–107. tee Member in many international conferences.
[49] C. Pierrot and B. Wesolowski, ‘‘Malleability of the blockchain’s entropy,’’
Cryptography Commun., vol. 10, no. 1, pp. 211–233, Jan. 2018. MEIYAN XIAO received the B.S. and M.S.
[50] X. Xu, I. Weber, M. Staples, L. Zhu, J. Bosch, L. Bass, C. Pautasso, degrees from South China Agricultural University,
and P. Rimba, ‘‘A taxonomy of blockchain-based systems for architec-
where she is currently pursuing the Ph.D. degree
ture design,’’ in Proc. IEEE Int. Conf. Softw. Archit. (ICSA), Apr. 2017,
with the College of Mathematics and Informatics.
pp. 243–252.
Her research interests include data security and
blockchain.
YING MIAO received the B.S. degree from South HONGBO LI received the B.S. and M.S.
China Agricultural University, in 2018, where she degrees from South China Agricultural University,
is currently pursuing the M.S. degree with the Col- Guangzhou, China, where he is currently pursuing
lege of Mathematics and Informatics. Her research the Ph.D. degree with the College of Mathematics
interests include data security and blockchain. and Informatics. His research interests include
applied cryptography and cloud security.