1. Introduction
With the widespread application of Internet technology and cloud computing technology [
1], increasingly, cloud service providers (Apple iCloud, Google App Engine, BaiDu Cloud, Ali Cloud, etc.) can provide data storage services for users or organizations. Therefore, to decrease the overhead of data storage and management, more and more users and organizations select to lease a cloud service provider (CSP) to reserve their data [
2]. Moreover, the cloud makes it easier for data owners to form a user group (UG) to store and share their outsourced data files across devices and locations.
However, in order to ensure that data owners of a UG can share data information with other members fairly and equally, it is necessary to solve the problem that users cannot participate in data sharing equally due to the concentration of power of the user group’s managers [
3]. In addition, if members of a UG already have equal rights to share data, the low enthusiasm and low efficiency issue when uploading shared data cannot be ignored [
4]. In short, under the premise of ensuring the integrity of data in the CSP, the problem of a centralized management authority needs to be solved, and the enthusiasm of users to upload data to a CSP needs to be improved.
After users store their outsourced data files to the CSP, the integrity and the privacy of the data files in the cloud are under threat [
5]. On the one hand, the data uploaded to the CSP can easily be damaged or deleted by hardware failures, software exceptions, and human factors. On the other hand, the outsourced data file in the CSP maybe be corrupted and stolen by a half-honest cloud service [
6]. As users lose direct control of their data, they cannot be sure that their data files stored in the cloud are complete [
7]. Therefore, an effective method to check the integrity of data in the cloud without downloading them is required [
8].
In particular, users are desperate for a scheme to help them check the integrity of their data. According to the methods of a data integrity audit, an audit is divided into two types: a private audit scheme [
9] and a public audit scheme [
10]. In a private auditing scheme, the auditor is the data owner themselves. On the contrary, in a public auditing scheme, anyone can play the role of validator to perform the audit task. So far, many specific schemes have been proposed for different systems under different models [
3,
4,
8].
In order to improve the reliability and efficiency of the data integrity audit process, most methods employ a public auditing scheme that outsources the audit work to third-party professional verifiers. Therefore, a public audit is very common in concrete applications. However, third-party verifiers may intentionally or unintentionally access users’ private data information during the audit process [
11,
12,
13,
14]. Under this situation, some researchers have proposed many new privacy-preserving schemes [
15,
16,
17,
18]. Specifically, users of a cloud service require and wish to constrain the auditor’s identity, allowing only a designated verifier to check the integrity of the data stored at the CSP.
To our knowledge, most traditional public data-auditing schemes rely extensively on public-key cryptography [
12,
13,
14,
15,
16,
18,
19]. Moreover, these schemes request a credible certificate authority center to generate verifiers’ certificates by binding their identities and the associated public–private key pairs. With the increase of the number of users, a certificate authority center needs to generate and distribute a large number of certificates to many verifiers in the designated verifier group (DVG). Therefore, the certificate management becomes more complex, including for the generation, storage, delivery, and update of certificates, which causes increasing additional communication costs and computational costs and also greatly reduces the efficiencies of the public audit protocols.
To avoid having the certificate authority center based on public-key cryptography, in 1984, Shamir presented the notion of identity-based cryptography [
20]. Specifically, for a public verifier based on identity-based cryptography, the members of the DVG choose their verifier’s identifiers, including an ID-card number, email address etc., as their verifier’s public key. Additionally, the corresponding secret key of a designated verifier is generated by the mutual cooperation between the verifier’s public key based on identity information and a private key generation center called a key generation center (KGC) [
21]. Therefore, proposing a public audit scheme for an identity-based designated verifier is a trusty way to audit the security and integrity of data files at the CSP.
The main problems mentioned above can be generalized into the following four points. Firstly, when the users of a UG upload data to the CSP, to eliminate the problem of the centralized management powers of the user group’s managers, a
threshold signature [
3,
22] is used to enable the user group members to participate in data sharing with equal and fair rights. Moreover, the signers of the UG sign multiple data blocks together via a multiblock signature technique. Secondly, with the elimination of user group managers, users of the UG may be inefficient when participating in the process of generating key pairs and signing data blocks. Therefore, a blockchain-based incentive mechanism [
4,
23] is put forward to improve the generation efficiency. The blockchain has three merits, including decentralization, tamper-resistance, and traceability [
24], where decentralization offers users a fair environment, tamper-resistance ensures that a user’s records are correct and trustworthy, and traceability can verify the recording history for users. Thirdly, after users store data at the CSP, their integrity and privacy can be compromised by a semihonest cloud. Thus, verifiers are needed to verify the integrity of the data files at the CSP. In our scheme, an identity-based designated verifier is proposed to check data files at the CSP [
25]. Lastly, when the member of the DVG audits the data in the CSP, the data are blinded through data-blinding technology to avoid the problem of the data information being stolen by malicious hackers.
1.1. Contributions
In our paper, we constructed an incentive public auditing scheme with an identify-based designated verifier at the CSP. We summarize the main contributions of the body text as follows.
1.1.1. Contribution 1
In the data integrity audit stage, the verifier may be curious and steal the data stored by the user. Therefore, in the public audit scheme of this paper, professional third-party auditors are designated by members of the user group, so as to determine the identity of auditors, enhance the integrity of auditors, and reduce the risk of data privacy disclosure. In addition, the third-party auditor is not a single validator, and the improved designated verifier group is composed of multiple auditors designated by the user group members, so as to avoid new difficulties caused by the failure of the public audit scheme when the single designated validator fails.
1.1.2. Contribution 2
The key-pair generation scheme of the designated verifier group, which is specified by the user, is completely generated by the traditional PKI-based certificate authority (CA), and improved compared to the identity-based verifier based on IBC. The key pair of the authentication group is based on the identity information. The KGC generates a key pair based on the identity information of the authentication group. On the one hand, it effectively reduces the overhead cost of the certificate authority; on the other hand, the security of the key pair of the authentication group is enhanced.
1.1.3. Contribution 3
In this data file’s block signature, a multiblock signature technology is introduced. Specifically, the data-file block-signature technology uses a matrix mathematical form, where the data file is divided into multiple matrix file blocks. After the data are partitioned, QU members in the user group (UG) sign multiple data blocks in a certain form. Compared with the paper [
4], the same unblocked data file is signed by multiple qualified users. The advantage of this scheme is that the overhead cost is reduced.
1.2. Related Work
Because the public verifier may be curious about the information in the data files in the cloud, it may attempt to steal sensitive user information from the messages received during the audit. Therefore, the public audit scheme needs to solve this privacy protection problem. In 2007, a scheme of traditional cryptography proposed by G. Ateniese et al. [
26] could not be used for the integrity audit of data in the cloud. Thus, to address this confusion, H. Shacham et al. [
10] first proposed the concept of public audit in 2013. They came up with the first scheme of cloud audit, which checked the integrity of users’ data stored in the cloud. In order to improve performance and safety, many public auditing schemes based on public-key cryptography [
12,
13,
14,
15,
16,
18,
19] have been proposed. In these schemes, a certificate authority center is responsible for the certificate’s distribution and storage. However, as the number of users keeps climbing, it also increases the cost burden more and more.
In 1984, the concept of identity-based public-key cryptography was put forward by A. Shamir [
20], which addressed the problem of certificate management dependent on public-key cryptography. In 2014, a public cloud auditing scheme based on identity-based public-key cryptography was put forward by H. Wang et al. [
27], who demonstrated that the scheme had a proven safety. In 2017, Y. Wu et al. [
28] proposed a secure IB-PDP protocol with perfect data-privacy-preserving characteristics. In 2019, an identity-based public auditing protocol against malicious auditors based on the blockchain was put forward by J. Xue et al. [
29]. Moreover, a new identity-based data storage protocol was also put forward by J. Li et al. [
30], which used a homomorphic verifiable tag to decrease the system complexity in 2019. Later, J. Li et al. [
17] proposed a cloud auditing scheme based on identity-based public-key cryptography which preserved data privacy against a third-party audit in 2020. Recently, in 2020, H. Yan et al. [
18] proposed an efficient designated-verifier provable-data-possession protocol, where the data owner specified a designated verifier to check the integrity of their data in the cloud.
In addition to considering data privacy issues during public audits, we also need to ensure data integrity and security during data sharing among multiple users and uploading to the cloud for storage. In 2014, a provable-data-possession-based mechanism was put forward by Wang et al. [
8], Oruta, which could perform public audits of data shared in the cloud. Later, in 2019, H. Wang et al. [
23] pointed out that Oruta could calculate the authentication information used to audit the integrity of the shared data from the data in the audit process but could not resist group member change attacks. Thus, a new scheme called IAID-PDP [
23] was put forward by these authors that could not only resist group user change attacks but also rewarded the crime reporter. However, because of the use of a ring signature, the audit time of Oruta [
8] and IAID-PDP [
23] increased rapidly with the number of users in a user group. As a result, the scheme could not audit data shared by a large number of users.
To solve the problem caused by the ring signature, Wang B [
15] proposed a scheme called Knox where the group signature was used to construct homomorphic authenticators, and the number of user group members did not affect the audit time. However, since the permissions of the group manager scheme, Knox [
15], were higher than the permissions of the users, it could not support a public audit and adapt to equal user member groups. Thus, in order to ensure the fairness and equality of group users, Fu A et al. [
3] proposed the NPP scheme by using a
threshold signature, where the power was shared among multiple managers to eliminate power abuse caused by a single manager’s power.
Additionally, in 2020, Huang L et al. [
4] adopted the
threshold signature that not only realized a public audit but also allowed
user group members to equally participate in the generation of the valid signatures of files. Since the users of a user group can equally participate in generating key pairs and data block signatures, users may be inactive and inefficient. To increase efficiency, these authors introduced the incentive mechanism [
23] in their paper [
4]. The incentive mechanism encouraged members of a user group to participate in the generation of file signatures by rewarding the user who generated qualified signatures first through blockchain technology [
24]. In 2019, J. Li [
31] proved that based on the characteristics of the incentive mechanism based on blockchain technology, users were encouraged to participate in the forwarding and receiving of data packets, encouraging them to get corresponding rewards.
1.3. Organization
The rest of this article is organized as follows: In
Section 2, we present preliminary knowledge. In
Section 3, we present our system model and an overview of our proposal. The construction of a detailed scheme is introduced in
Section 4.
Section 5 shows the security analysis. The performance of our scheme is analyzed in
Section 6. At last, we summarize our study in
Section 7.
4. Our Construction
In this section, we describe the specific structure of our proposal, which supports both public validation and data privacy protection. Furthermore,
Figure 2 shows a signature generation model including user key generation, shared signature generation, and shared signature aggregation. Normal users are all members of the user group (UG), that is, the total number of members in the user group whose signature is
n in the
threshold. A qualified user is a member of a user group that generates a qualified user key pair based on a pseudorandom function and user broadcast. A qualified user group (QU) member must be a member of the user group, but not all
n user group members must be qualified user group members. In addition, the number of qualified user group members should be at least
t users generating the correct user key pair, otherwise the signature model based on the
threshold signature cannot be carried out. The process of the final signature generation model is as follows. Firstly, all users in the UG can participate in the generation of user keys. In the process, each user who participates in and contributes to the key generation by producing valid shared keys is chosen as a member of the qualified users’ group
to produce the user’s secret shared keys for all members of the UG. Secondly, all users can produce a shared signatures on the data blocks after obtaining their secret shared key. Any
t signers that generate the shared signature constitute a signature group
. Finally, the aggregator chooses a group of signers
and utilizes their shared signature to produce the final signature. Now, we present the structure of the nine algorithms as follows.
Set Up (1): This algorithm produces the system parameters and the KGC’s master secret key when setting the security parameter . At first, it randomly chooses a big prime q and two cyclic groups with the same prime order q. g is a generator of . e is a bilinear map of × →. are hash functions, which are defined as and . Moreover, it defines × → as a pseudorandom function and × → as a pseudorandom permutation, respectively. Then, the KGC selects a random number as the master secret key. Finally, it sets .
→: This is a key-pair generating algorithm for the designated verifier group with identity . When the KGC receives the identity of DVG , it calculates as the secret key of the DVG and as the public key of the DVG.
(→(sk, : With the help of all users, this algorithm generates the secret shared key , the public shared key pk of each member of UG and the key pair of user group . It should be noted that not every user in the user group demands to take part in the entire process of producing the public shared key and the secret shared value, but a qualified users’ group is composed of t qualified users. The t qualified users are completely honest. Therefore, our scheme can ignore mistakes caused by users when producing a shared key pair.
The generation process for these two key pairs is shown below.
First of all, we should define the qualified users. Firstly, every user of UG
chooses a random polynomial function
, where
is a coefficient. Secondly, the user
broadcasts variable
to all other users, computes the secret shared value
, and transmits the value
to user
(
) safely. After getting
from user
, user
checks the justifiability of
by Equation (
3).
If the result of Equations (1) and (3) is not equal, this indicates that the secret shared key is wrong. Thus, user
cannot become a qualified user. Moreover, user
with the incorrect shared secret key should be notified and the user’s mistake should be sent to each user of the UG to discard the message generated by that user. Finally, if the user is reported by no less than
t other users, the user is considered unqualified, otherwise it is qualified. The qualified users’ group
consists of these qualified users. After that, the secret shared key
and secret key
of user
are defined by Equations (4) and (5).
Firstly, every user
in the qualified users’ group
sends a variable value
to all other users
who verify the validity of
by Equation (
6).
If the result of Equation (
4) is not equal, the inefficiency of
is monitored and
t qualified users collaborate to rebuild the qualified
and resend the value again. Thus, we introduce two types of blockchains in our proposal. One is utilized to monitor the wrong behaviors during the signature generation, and the other is used for an incentive mechanism. Secondly, every qualified user
sends their public shared key
to all the other qualified users
who verify the correctness of
by Equation (
7).
If the result of Equation (
7) is equal, the public shared key
is qualified and accepted. Otherwise, the user
must transmit the incorrect value
but the correct value
must be constructed by the formula in Equation (
7). Moreover, this dishonest operation is recorded in blockchain. The right public shared key
that is verified or regenerated by Equation (
7) is regarded as the final public shared key
. Finally, the public key
is calculated by Equation (
8).
During this process, the identity message of each user who generates the qualified public shared key is monitored in the blockchain sequentially. The operation is utilized to achieve the incentive mechanism which urges each user to take part in the process and raises the efficiency of the signature generation.
Shared Signature Generation (,
, VID, m
,
)→(
): This is a shared signature generation algorithm for each user in the qualified users’ group. Firstly, suppose the file
is divided into multiple outsourced file blocks. According to the multiblock signature technique, the outsourced file
is split into
data blocks; then, each block contains
small data blocks, represented as Equation (
9).
which Secondly, the system calculates the extracted value of the DVG
with the designated verifier’s public key
and the secret key of user group
by Equation (
10).
Finally, all users
run the algorithm to produce their own shared signatures
for every outsourced data block
with the identity of DVG
, the secret shared key
, the number of file blocks
, the identifier
, and the extracted value of the DVG
by Equation (
11).
The shared signatures of t qualified users are utilized to generate the signature of all outsourced data blocks .
(
,
)→(
): After obtaining
t shared signatures, the aggregator
who originates from the UG generates the final signature of file block
by this algorithm. Firstly, the aggregator
audits the validity of the accepted multiple shared signatures by Equation (
12).
If the result of Equation (
12) is equal, the aggregator
stores the signer’s identity in the blockchain in chronological order. Then, the aggregator
receives
t correct shared signatures
to record the signers of these shared signatures in signature group
and aggregates the final signature
by Equation (
13)
where
is a Lagrangian interpolation coefficient. Moreover, a user needs to verify the validity of the final signature
of file block
by Equation (
14).
Every block of a data file may involve more than one signatures, because of all the members of a user group are able to choose t effective shared signatures of qualified users and aggregate the final signature, although only the earliest effective signature monitored in the blockchain is selected to handle this. Finally, it sends its data block to the CSP in the pattern of {}.
(c, )→(): The public auditing means that the designated verifier executes this algorithm to send a challenge question to the cloud storage provider and the CSP needs to answer the question. If the user wants to audit the integrity of outsourced file M, the designated verifier sets a challenge message and sends it to the CSP, where are two random values and is the number of challenged blocks.
(, )→(): Depending on the public data information stored in the system, the CSP executes this algorithm to set a file possession proof and sends it to the designated verifier. Firstly, when the cloud storage provider receives the , the CSP firstly computes . After that, it aggregates all the outsourced file blocks’ tags . At last, the CSP selects a random value , computes , = , (where
) and sends the audit proof to the designated verifier of DVG.
)→
: The designated verifier of the DVG executes this algorithm to verify the integrity of outsourced file
with the audit proof. Firstly, the designated verifier calculates
,
and verifies the audit proof
by Equation (
15).
Finally, if the result is equal to that of Equation (
13), the integrity of outsourced file block
stored in the CSP is confirmed.
: The group users have same rights to generate key pairs and signatures because of the disappearance of the user group manager. However, group users may be unwilling to contribute to these operations, leading to inefficient calculations. To deal with this issue, we propose an incentive mechanism in this paper, by utilizing the characteristics of the blockchain, including decentralization, tamper-resistance, and traceability, to record some user information for fair rewards. The incentive mechanism is proposed to serve the user key-pair generation stage and signature generation stage based on the threshold signature. Its purpose is to, on the one hand, encourage all members of the user group to broadcast in response to a user . Whether the response of this step is successful is related to whether the user can generate the correct key pair and become a qualified member of the user group. On the other hand, the users who encourage the generation of qualified key pairs, that is, the members of the qualified users’ group, will be composed of t qualified users who sign the data file block, and t qualified users who produce correct signatures from the signature group. In addition, in the signature generation scheme based on the threshold signature, the number of qualified user group members is at least t. Firstly, the outsourced file owner of data block defines the entire incentive reward and the number of qualified signatories with contributions that the owner demands as t. Then, the server searches the blockchain to find the earliest valid contributors to give them rewards. The incentive mechanism is based on blockchain technology, which serves two main functions. The first is to record information. The incentive mechanism based on the blockchain accompanies the user in the whole process of signature generation, so the relevant information generated by the user key pair and the relevant information generated by the signature in this process is recorded. In addition, when the final signatures of all data files are generated before they are uploaded to the cloud, the blockchain-based incentive mechanism completes its first function. The second is the incentive mechanism to reward users for their contributions through the blockchain, so as to stimulate the user group to play an active role in the process of generating signatures.The information of valid contributors in the blockchain is set as , where is the sequence number, and is the file block number. Finally, in the incentive mechanism of our scheme, the rewards earned by effective contributors decrease over time. If the sequence number is 1, the qualified signatories with contributions that generated the public shared key receive the incentive reward . If the sequence number is in the scope of , the valid contributors receive the incentive reward . This is repeated until the sequence number belongs to the scope of and the valid contributors receive the incentive reward . Due to its quality, the blockchain is able to ensure that only the truly valid signers of shared signatures receive incentive fees.