Next Article in Journal
Optimization of the Algorithm for the Implementation of Point Spread Function in the 3D-OSEM Reconstruction Algorithm Based on the List-Mode Micro PET Data
Previous Article in Journal
An Improved Adaptive Service Function Chain Mapping Method Based on Deep Reinforcement Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Incentive Public Auditing Scheme with Identity-Based Designated Verifier in Cloud

School of Information and Control Engineering, Xi’an University of Architecture and Technology, Xi’an 710055, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(6), 1308; https://doi.org/10.3390/electronics12061308
Submission received: 5 February 2023 / Revised: 1 March 2023 / Accepted: 4 March 2023 / Published: 9 March 2023

Abstract

:
With the rapid development of cloud storage and cloud computing technology, users can upload data to the cloud and share it with other users. However, the integrity and the privacy of data files at the cloud service provider suffer from challenges. In order to protect the data of user in the cloud, particularly for user groups without honest managers and semitrusted third-party auditors, we construct a new public auditing scheme that integrates a ( t , n ) threshold signature, an incentive mechanism, an identity-based designated verifier group, blinding technology, and a multiblock signature technique. In our scheme, the ( t , n ) threshold signature can eliminate the single power of the user group’s managers, to ensure that members of the user group take part in data sharing fairly and equally. The generation of a user’s key pairs and the signatures of data can be encouraged by an incentive mechanism based on a blockchain. Moreover, we introduce an identity-based designated verifier group and blinding technology to preserve data privacy during the data integrity auditing process. Furthermore, the multiblock signature technique reduces the costs to sign data blocks and verify. Finally, the security analysis and performance analysis demonstrate that our scheme is provably reliable and efficient.

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 ( t , n ) 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 ( t , n ) 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 ( t , n ) threshold signature that not only realized a public audit but also allowed n 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.

2. Preliminaries

Before presenting the details of our design proposal, we present the preliminary knowledge utilized in the article.
First, we list some symbols that appear in our paper and their definitions, as shown in Table 1.

2.1. Bilinear Map

Definition: G 1 , G 2 are two multiplicative cyclic groups with the same large prime order q , g being a generator of G 1 . Let e : G 1 × G 1 G 2 be a bilinear map, with the following attributes.

2.1.1. Computability

For u , v G 1 , there exists an efficient algorithm to compute the map e ( u , v ) .

2.1.2. Bilinearity

For u , v G 1 and any prime a , b Z q * , the equation e ( u a , v b ) = e ( u , v ) a b holds, where Z q * is the set of prime numbers.

2.1.3. Nondegeneracy

There must be a way to efficiently compute the bilinear map e in the form e ( g , g ) 1 .

2.2. Complexity Assumption

Definition 1
(CDH problem). Given G 1 as a multiplicative cyclic group and g a generator of G 1 , define the tuple ( g , g a , g b ) with the unknown elements a , b Z q * ; the CDH problem is to compute g a b .
Definition 2
(CDH assumption). The CDH assumption depends on the CDH problem and is defined as: Let g , g a , g a b G 1 be the inputs, where a , b Z q * are unknown, and g a are outputs. The CDH assumption states that for any probabilistic polynomial time algorithm A, the probability of utilizing A to address the CDH problem is ignorable by Equation (1). Moreover, ϵ represents an ignorable value.
A d v A C D H = P r [ A ( g , g a , g b ) = g a b : a , b R Z q * ] ϵ

2.3. Identity-Based Verifier

In an identity-based verification agency [17], identities such as an e-mail address, the number of an ID card or a phone number are utilized to produce public and secret keys with a master key owned by an agency called a key generation center. The detailed description of the generation operation is as follows. Firstly, our system selects a security value to calculate the master secret key of the key generation center. Then, given a hash function and the unique identification ID of the verifying agency, it generates a public–secret key pair. Finally, the user group can adopt an identity-based verifier as a user’s designated verifier part.

2.4. (t, n) Threshold Signature

The signer group is made up of multiple signers [22]. Any t or more qualified signers in a user group can cooperate with each other to generate a valid final signature group, but less than t signers cannot generate a final signature group. In addition, only the designated verifier who knows the public key associated with the signer group verifies the correctness of the final signature. In the event of a problem or if necessary, the signer group can certify to a third-party auditor that the final signature is effective under the signer group’s public key. The following describes the process of the ( t , n ) threshold signature [3]. First, all users, with the help of the user group, generate their shared public–secret key pair using a random polynomial function. Then, the user who generated a valid shared key pair is allowed to produce a shared signature. Lastly, t valid shared signatures are collected and utilized to aggregate the final signature of the data block.

2.5. Blinding Technology

In order to protect the privacy of the data in the cloud, auditors can use blinding technology to blind the data information. The blinding technique comes from a blind signature, a type of digital signature in which the data information is blinded before the signature [4]. The concept of blind signature is to blindly transmit data information using a randomly selected blinding factor. The specific blinding operation is introduced as follows. Firstly, the verifier chooses a new random value v and transmits that value to the CSP to avoid the cloud utilizing the previously transmitted information to pass the integrity verification [8]. Secondly, in order to ensure that auditors cannot steal users’ private information from the data information v m obtained in the audit process, the cloud further selects a random parameter r and blinds data messages through Equation (2).
m * = v m + r
Finally, because the original data information m is transformed into m * through the blinding operation, the privacy of user data is enhanced in the audit process.

2.6. Homomorphic Verifiable Tags

The homomorphic verifiable tag [15] (homomorphic validator), which allows auditors to check data integrity without downloading all data blocks, is an essential tool for building public auditing schemes. The homomorphic verifiable tags based on signatures should include the attributes of unforgeability, blockless verification, and nonmalleability. Assume that ( p k , s k ) represents the public key pair of the signer and σ 1 , σ 2 represent the signatures on data blocks m 1 , m 2 Z q . The three attributes of the homomorphic verifiable tags are specifically described as follows.

2.6.1. Unforgeability

Only users with the valid secret keys can produce effective signatures.

2.6.2. Blockless Verification

Auditors can verify the integrity of data files at the CSP by a linear combination of data blocks without downloading all the data. Specifically, given two random numbers σ 1 , σ 2 Z q and a linear combined data block m = σ 1 m 1 + σ 2 m 2 Z q , the verifier can audit the integrity of the linear combined block m without knowing the data blocks m 1 , m 2 .

2.6.3. Nonmalleability

The member of a user group without the effective secret key cannot produce an effective signature on the combined block by utilizing the given data signatures. To be specific, given two random values σ 1 , σ 2 Z q and a linear combined data block m = σ 1 m 1 + σ 2 m 2 Z q , if the user does not have an effective secret key, they cannot produce an effective signature σ by combining σ 1 , σ 2 .

3. System Model and Design Scheme

We present the scheme model in this proposal, including the system model, overview of the scheme, and security model.

3.1. System Model

In this paper, the system model of our proposal consists of four institutions: a user group (UG), a cloud service provider (CSP), a designated verifier group (DVG), and a key generation center (KGC); the specific definitions are as follows.

3.1.1. User Group

The user group contains n users. In essence, in the data integrity scheme, each user in the user group can upload their data files to the cloud, that is, the user is the data owner in the cloud. Similarly, every member of the user group UG can store their data files to the cloud service, so every user in the user group can be the data owner. They rent the CSP and upload data files to the CSP. Users can ask the DVG to audit their data files in the CSP. It creates a data access request to the CSP, and the cloud will respond with the data and associated integrity proofs.

3.1.2. Cloud Service Provider

The CSP has a huge storage ability and strong computing power. It provides storage services to the UG and sends the integrity proof of data files back to the DVG when the cloud accepts a data integrity challenge request.

3.1.3. Designated Verifier Group

The members of the DVG are requested by the UG to be the public checking verifier to audit user data at the CSP. The DVG consists of multiple designated verifiers. A designated verifier of the DVG will regularly verify the data integrity at the CSP. The DVG performs an integrity audit on all data stored at the CSP, as opposed to users only verifying the data they access. In private auditing schemes, auditors are generally verified by the data owner themselves (the user) rather than by third-party auditors. Since the data in the cloud are where the data ownership is stored, there is no need to worry about invisibility in the data integrity audit process in private audit solutions. However, the public auditing scheme in our scheme needs to perform an integrity verification with privacy protection.

3.1.4. Key Generation Center

The KGC is responsible for producing the key for the designated verifier of the DVG. With the identity-checking agency, the KGC computes the key and sends it to the DVG in a safe way.
Figure 1 displays the connections and interactions between the four bodies of the system model of our scheme. It was assumed that the CSP was half-honest; in other words, it sent back one response per challenge request but could trick the DVG on data-corruption events to maintain its reputation. Moreover, the DVG was truthful but curious. It honestly performed data integrity auditing and sent true results back to the data owner. However, the members of the DVG were curious about the user’s privacy information and attempted to obtain these data when performing data integrity auditing.

3.2. Overview of Our Scheme

The proposal in our article consists of the nine algorithms described below.

3.2.1. Set Up (1 λ )→(params, msk)

This algorithm is executed by the system. It inputs the security parameters λ and outputs some common parameters p a r a m s and the master key m s k . The purpose of this algorithmic step is to generate initialization and public parameters for the entire data integrity audit scenario. The parameters generated in p a r a m s are public parameters and participate in subsequent algorithm steps, including the key-pair generation algorithm, signature generation algorithm, and public audit algorithm. In addition, the m s k generated by the KGC in this algorithm step is the public parameter of the subsequent key algorithm that generates the specified verifier.

3.2.2. Designated Verifier Extract ( m s k , V I D )→( s k v , p k v )

The algorithm is performed by the KGC to produce a key pair of the designated verifier group. It inputs the master secret key m s k and the identity of the DVG V I D and outputs the designated verifier’s secret key s k v and public key p k v .
The designated verifier group is composed of multiple third-party auditors designated by the user. On the one hand, because the verifier is designated by the user, it determines the identity information of the verifier and enhances the privacy of the user data in the process of public audit. On the other hand, multiple validators can avoid the disadvantages brought by a single auditor. Specifically, if the public audit scheme is composed of a single auditor, the whole public audit scheme will not be able to proceed normally once the auditor has problems. Therefore, the verifier members specified in this scenario share the same key pair.

3.2.3. User Key Generation ( f i ( x ) ) →(sk u i , p k u i )( s k u , p k u )

This algorithm is executed by the UG. It inputs some random polynomial functions f i ( x ) and outputs each user’s shared secret–public key pair (s k u i , p k u i ) and user group key pair ( s k u , p k u ).
This algorithm is a key-pair generation algorithm based on the ( t , n ) threshold signature. Its idea is that UG members cooperate with each other to produce user key pairs, and users who generate qualified key pairs are regarded as qualified user group members. Each QU member of a qualified users’ group is a UG member of the user group. However, each UG member of a user group may not be a QU member.

3.2.4. Shared Signature Generation (sk u i , α , VID, m b , N b )→( S i b )

This algorithm is performed by the UG to produce a set of verification metadata files. It takes a user’s secret s k u i , extracts the designated verifier group p k v , the identity of the DVG V I D , the outsourced file block m b , and the number of file block identifier N b as inputs, and outputs the shared signature S i b of file block m b by the user u i .

3.2.5. Shared Signature Aggregation ( S i b , λ i )→( S b )

This algorithm is executed by the UG to aggregate different shared signatures. It inputs multiple different shared signatures S i b of the file block by multiple users and the Lagrangian interpolation coefficient λ i and outputs final signature S b .

3.2.6. Challenge (c, k 1 , k 2 )→( c h a l )

This algorithm is performed by the DVG to initiate a data integrity challenge. It inputs the number of challenged data blocks c and two random values k 1 , k 2 and outputs c h a l as the challenge message.

3.2.7. Proof Generation ( ψ , r ,   c h a l )→( p r o )

This algorithm is performed by the CSP to generate data possession proof. It inputs the corresponding blocks’ tags ψ , blinding factor r, and a challenging set c h a l and outputs audit proof p r o .

3.2.8. Designated Verifier Verification ( s k v ,   p k u ,   c h a l ,   p r o )→ ( 0 , 1 )

This algorithm is performed by the DVG to check the proof message. Given the designated verifier’s secret key s k v , public key of the UG p k u , the challenging set chal, and the final audit proof pro as input, if pro passed the verification of the designated verifier group, it outputs 1 and 0 otherwise.

3.2.9. Incentive Mechanism ( c o i n ,   s e b ,   N b ,   p k u i )→( U i c o i n )

This algorithm is executed by the system to perform the incentive mechanism. It inputs the total incentive compensation coin, the sequence number s e b , the file block identifier N b , and the public key of each qualified user p k u i and outputs the contributor’s fee U i c o i n .

3.3. Security Model

In this subsection, we introduce the security model of our proposal. A data integrity audit mainly faces two threats: data integrity threat and data privacy threat. Data integrity threat refers to the possibility of active attacks (deletion, forgery, etc.) and passive attacks (hacker attacks, etc.) on users’ data stored in the cloud. The threat to data privacy indicates that when third-party auditors check the data in the cloud, they may steal and monitor the users due to their curiosity about the data information, so that the users’ data privacy is threatened. There are two possible threats to data files stored at the CSP. One of the threats is data integrity threats from the CSP, another is data privacy threats during a public auditing process. The specific descriptions of these threats are as follows.

3.3.1. Data Integrity Threat

Users store their data files at the CSP and remove local data files. The outsourced data files stored at the CSP may be damaged by both active and passive attacks. Active attacks are those where an attacker may attempt to compromise the integrity of the shared data, making users use improper data. Passive attacks are when the CSP inadvertently damages (or even deletes) data in their storage due to hardware errors and human factors. Worse, cloud storage providers may withhold information about such data corruption in order to preserve their reputation.

3.3.2. Data Privacy Threat

When a user sends a request to an auditor, the data files stored at the CSP need to be audited by the verifier. Since the verifier may try to obtain data files or some other sensitive information from the received auditing message, the data files stored at the CSP will suffer from data privacy threats. Therefore, data may be leaked to auditors during this public audit.
To avoid integrity and privacy threats to data stored at the CSP, our proposal requires the following security and performance requirements to be achieved.

3.3.3. Correctness

A user group that generates correct shared public keys, correct shared signatures, and correct final signatures can validly pass the verifier’s audit.

3.3.4. Robustness

In the generation of the signature, the system can partially endure the participation of inactive or dishonest signers.

3.3.5. Homomorphic Authentication

A homomorphic authenticator is the foundation for realizing public auditing [15], which needs to satisfy the attributes of blockless verifiability and nonmalleability. Homomorphic authentication is one of the public auditing schemes proposed based on homomorphic verifiable tags, which are the basis of data integrity auditing. In a public audit, auditors do not need to download all the data blocks stored in the cloud but only need to verify some data blocks.

3.3.6. Public Auditing

The verifier can verify the integrity of the data files stored at the CSP without getting the secret key of the user group and verifying all the data.

3.3.7. Unforgeability

It is absolutely impossible for a semihonest cloud storage provider to generate a fake verified audit proof. In other words, only qualified users with the correct shared key can produce signatures for data blocks.

3.3.8. Data Privacy

When a verifier audits data file blocks, they cannot obtain any private information about a user’s data in the process.

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 ( t , n ) 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 ( t , n ) 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 Q U 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 S G . Finally, the aggregator chooses a group of signers S G and utilizes their shared signature to produce the final signature. Now, we present the structure of the nine algorithms as follows.
Set Up (1 λ ) ( p a r a m s , m s k ) : This algorithm produces the system parameters p a r a m s and the KGC’s master secret key m s k when setting the security parameter 1 λ . At first, it randomly chooses a big prime q and two cyclic groups G 1 , G 2 with the same prime order q. g is a generator of G 1 . e is a bilinear map of G 1 × G 1 G 2 . H , H 1 , H 2 , H 3 are hash functions, which are defined as H : { 0 , 1 } * G 1 and H 1 , H 2 , H 3 : { 0 , 1 } * Z q * . Moreover, it defines f : Z q * × { 1 , 2 , . . . , n } Z q * as a pseudorandom function and π : Z q * × { 1 , 2 , . . . , n } Z q * as a pseudorandom permutation, respectively. Then, the KGC selects a random number m s k Z q * as the master secret key. Finally, it sets p a r a m s = ( G 1 , G 2 , q , g , e , H , H 1 , H 2 , H 3 , f , π ) .
D e s i g n a t e d V e r i f i e r E x t r a c t   ( m s k , V I D ) ( s k v ,   p k v ) : This is a key-pair generating algorithm for the designated verifier group with identity V I D . When the KGC receives the identity of DVG V I D , it calculates s k v = H 1 ( V I D ) m s k as the secret key of the DVG and p k v = g s k v as the public key of the DVG.
U s e r K e y G e n e r a t i o n ( f i ( x ) ) →(sk u i , p k u i ) ( s k u ,   p k u ) : With the help of all users, this algorithm generates the secret shared key s k u i , the public shared key pk u i of each member of UG U i and the key pair of user group s k u ,   p k u . 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.
  • Generate sk ui and sk u . First of all, we should define the qualified users. Firstly, every user of UG U i chooses a random polynomial function f i ( x ) = a i 0 + a i 1 x + + a i ( t 1 ) x t 1 , where a i k ( 1 i n , 0 k t 1 ) is a coefficient. Secondly, the user U i broadcasts variable C i k ( C i k = g a i k ) to all other users, computes the secret shared value s i j ( s i j = f i ( j ) ) , and transmits the value s i j to user U j ( j i ) safely. After getting s i j from user U i , user U j checks the justifiability of s i j by Equation (3).
    g s i j = k = 0 t 1 ( C i k ) j k , 1 i , j n
    If the result of Equations (1) and (3) is not equal, this indicates that the secret shared key is wrong. Thus, user U i cannot become a qualified user. Moreover, user U i 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 Q U consists of these qualified users. After that, the secret shared key s k u i and secret key s k u of user U i are defined by Equations (4) and (5).
    s k u i = j Q U s j i ( m o d p ) ,
    s k u = j Q U a i 0 ( m o d p ) .
  • G e n e r a t e p k u i a n d p k u . Firstly, every user U i in the qualified users’ group Q U sends a variable value A i k ( which A i k = g a i k ) to all other users U j ( U j Q U ) who verify the validity of A i k by Equation (6).
    g s i j = k = 0 t 1 ( A i k ) j k , 1 i n
    If the result of Equation (4) is not equal, the inefficiency of A i k is monitored and t qualified users collaborate to rebuild the qualified A i k 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 U i sends their public shared key p k u i to all the other qualified users U j who verify the correctness of p k u i by Equation (7).
    p k u i = j Q U k = 0 t 1 ( A j k ) i k , 1 i n
    If the result of Equation (7) is equal, the public shared key p k u i is qualified and accepted. Otherwise, the user U i must transmit the incorrect value p k u i but the correct value p k u i must be constructed by the formula in Equation (7). Moreover, this dishonest operation is recorded in blockchain. The right public shared key p k u i that is verified or regenerated by Equation (7) is regarded as the final public shared key p k u i . Finally, the public key p k u is calculated by Equation (8).
    pk u = g sk u
    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 ( s k u i , α , VID, m b , N b )→( S i b ): This is a shared signature generation algorithm for each user in the qualified users’ group. Firstly, suppose the file M is divided into multiple outsourced file blocks. According to the multiblock signature technique, the outsourced file M is split into s data blocks; then, each block contains l small data blocks, represented as Equation (9).
M = M a b 1 a l , 1 b s = ( m 1 m 2 m b m s )
= m 11 m 12 m 1 b m 1 s m 21 m 22 m 2 b m 2 s m a 1 m a 2 m a b m a s m l 1 m l 2 m l b m l s
which m a = m a b 1 b s = ( m a 1 , m a 2 , , m a b , , m a s )
m b = m a b 1 a l = ( m 1 b , m 2 b , , m a b , , m l b )
Secondly, the system calculates the extracted value of the DVG α with the designated verifier’s public key p k v and the secret key of user group s k u by Equation (10).
α = H 2 ( p k v s k u )
Finally, all users U i , i [ 1 , n ] run the algorithm to produce their own shared signatures S i b for every outsourced data block m b , b [ 1 , s ] with the identity of DVG V I D , the secret shared key s k u i , the number of file blocks m b , b [ 1 , s ] , the identifier N b , b [ 1 , s ] , and the extracted value of the DVG α by Equation (11).
S i b = ( H ( α | | V I D | | N b ) · g 1 m b ) s k u i
The shared signatures of t qualified users are utilized to generate the signature of all outsourced data blocks m b , b [ 1 , s ] .
S i g n a t u r e S h a r i n g A g g r e g a t i o n ( S i b , λ i )→( S b ): After obtaining t shared signatures, the aggregator U a g g who originates from the UG generates the final signature of file block m b , b [ 1 , s ] by this algorithm. Firstly, the aggregator U a g g audits the validity of the accepted multiple shared signatures by Equation (12).
e ( S i b , g ) = e ( H ( α | | V I D | | N b ) · g 1 m b , p k u i )
If the result of Equation (12) is equal, the aggregator U a g g stores the signer’s identity in the blockchain in chronological order. Then, the aggregator U a g g receives t correct shared signatures S i b to record the signers of these shared signatures in signature group S G and aggregates the final signature S b , b [ 1 , s ] by Equation (13)
S b = i S G S i b λ i = ( H ( α | | V I D | | N b ) · g 1 m b ) s k u
where λ i = ( j S G , j i ) j i j is a Lagrangian interpolation coefficient. Moreover, a user needs to verify the validity of the final signature S b , b [ 1 , s ] of file block m b by Equation (14).
e ( S b , g ) = e ( H ( α | | V I D | | N b ) · g 1 m b , p k u )
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 { ( m b , N b , S b ) b [ 1 , s ] }.
C h a l l e n g e (c, k 1 ,   k 2 )→( c h a l ): 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 U i wants to audit the integrity of outsourced file M, the designated verifier sets a challenge message c h a l = { c ,   k 1 ,   k 2 } and sends it to the CSP, where k 1 , k 2 Z q * are two random values and c [ 1 , s ] is the number of challenged blocks.
P r o o f G e n e r a t i o n ( ψ , r , c h a l )→( p r o ): 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 c h a l , the CSP firstly computes ι = π k 1 ( d ) , v ι = f k 2 ( d ) , 1 d c . After that, it aggregates all the outsourced file blocks’ tags ψ = ι T S ι v ι G 1 . At last, the CSP selects a random value r Z q * , computes R = e ( g 1 , p k u ) r , γ = H 3 ( R ) , μ = ( r + γ · ι T v ι m ι ) ( m o d p ) (where
μ = γ · ι T v ι m ι ) and sends the audit proof p r o = { N b , b [ 1 , s ] , μ , ψ , R } to the designated verifier of DVG.
Designated Verifier Verification ( sk v , pk u , chal , pro )→ ( 0 , 1 ) : The designated verifier of the DVG executes this algorithm to verify the integrity of outsourced file M with the audit proof. Firstly, the designated verifier calculates α = H 2 ( p k u s k v ) , ι = π k 1 ( d ) , v ι = f k 2 ( d ) , 1 d c and verifies the audit proof pro by Equation (15).
R · e ( ψ γ , g ) = e ( ( b [ 1 , c ] H ( α | | V I D | | N b ) v b ) γ · g 1 μ , p k u )
Finally, if the result is equal to that of Equation (13), the integrity of outsourced file block m b stored in the CSP is confirmed.
I n c e n t i v e M e c h a n i s m   ( c o i n ,   s e b ,   N b ,   p k u i ) ( U i c o i n ) : 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 ( t , n ) threshold signature. Its purpose is to, on the one hand, encourage all members of the user group to broadcast in response to a user U i . Whether the response of this step is successful is related to whether the user U i 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 ( t , n ) threshold signature, the number of qualified user group members is at least t. Firstly, the outsourced file owner U i of data block m b defines the entire incentive reward c o i n 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 S e b , N b , p k u i , b [ 1 , s ] , where S e b is the sequence number, and N b 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 S e b is 1, the qualified signatories with contributions that generated the public shared key p k u i receive the incentive reward U i c o i n = c o i n log 2 t . If the sequence number S e b is in the scope of [ 2 , 3 ] , the valid contributors receive the incentive reward U i c o i n = c o i n 2 log 2 t . This is repeated until the sequence number S e b belongs to the scope of [ t / 2 , t ] and the valid contributors receive the incentive reward U i c o i n = c o i n ( t / 2 + 1 ) log 2 t . Due to its quality, the blockchain is able to ensure that only the truly valid signers of shared signatures receive incentive fees.

5. Security Analysis

In this chapter, we deeply analyze the six security properties of our designed proposal, including correctness, robustness, homomorphic authentication, public auditing, unforgeability, and data privacy. These six security properties analyzed are detailed as follows.

5.1. Correctness

The key pairs and signatures generated correctly can pass the verification by an auditor. Thus, we analyze the security property of correctness from three aspects: users’ public shared keys, shared signatures of data blocks, and final signatures.
Theorem 1.
A correct user’s public shared key p k u i is able to pass the detection in Equation (7).
Proof. 
According to the secret shared value of user U i s ji = f j ( i ) = k = 0 t 1 a jk · i k and the secret shared key of user U i sk ui = j QU s ji ( mod p ) , we can derive the correctness of a user’s public shared key pk ui by Equation (16).
p k u i = g s k u i = g j Q U s j i = j Q U g s j i = j Q U g f j ( i ) = j Q U g k = 0 t 1 a j k · i k = j Q U k = 0 t - 1 ( g a j k ) i k = j Q U k = 0 t - 1 ( A j k ) i k
Theorem 2.
A correct shared signature S i b is able to pass the verification in Equation (12).
Proof. 
According to the public shared key of user U i pk ui = g sk ui and the shared signature of block m b generated by user U i S ib = ( H ( ff | | VID | | N b ) · g 1 m b ) s k ui , we can derive the correctness of the shared signature generation algorithm by Equation (17).
e ( S i b , g ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) s k u i , g ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) , g s k u i ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) , p k u i )
Theorem 3.
A correct final signature S b is able to pass the verification in Equation (14).
Proof. 
According to the final signature of block m b S b = ( H ( ff | | VID | | N b ) · g 1 m b ) s k u and the public key of the UG pk u = g sk u , we can audit the validity of the final signature generation algorithm by Equation (18).
e ( S b , g ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) s k u , g ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) , g s k u ) = e ( ( H ( α | | V I D | | N b ) · g 1 m b ) , p k u )

5.2. Robustness

Robustness means that our scheme can accept some passive members of the UG to participate in the generation of key pairs and signatures. During the process of selecting qualified users Q U , we tolerate users who declined to generate their shared signatures to join Q U . Different qualified users Q U have different public–secret key pairs. Moreover, the same user can become a member of a different qualified users’ group Q U , so a different Q U is able to generate the same file block’s signature and the same Q U is able to generate different file block’s signatures. Therefore, the generated process of shared signatures is robust. The specific proof is shown below.
Theorem 4.
When less than t users of a user group is attacked by a malicious adversary, our scheme is still robust.
Proof. 
If a user is attacked by an adversary, the system can adopt two operations to maintain the security of our scheme: refuse to output results or broadcast incorrect information. A robust ( t , n ) threshold signature can endure some half-honest signature members in the process of generating a signature. Assume that X = { U i } i [ 1 , t 1 ] means the set of users attacked, and Y = { U j } j [ t , n ] means the set of honest users, where n 2 t 1 . At first, during the generation of a user’s public shared key, when an attacked user U i X declines to produce their public shared key, the other honest users rebuild cooperatively the polynomial of the attacked user U i to compute a valid secret shared value s i j . In addition, if the attacked user U i broadcasts an erroneous A i k , U i cannot pass the verification according to Equation (6). Then, more t honest users U j Y calculate A i k ( 0 k t 1 ) and valid public shared keys according to Equations (6) and (7). Next, in the process of generation of a user’s shared signature, if a dishonest user U i refuses to broadcast their signature sharing and the number of fully honest users is not less than t, other t honest users aggregate their shared signatures to produce cooperatively the final signature of the file block. In short, when less than t users are attacked by adversaries, the public shared keys of users can be produced validly in our scheme. Therefore, our provided ( t , n ) threshold signature scheme is robust. □

5.3. Homomorphic Authentication

Homomorphic authentication is a basis of data auditing [15]; it has the attributes of unforgeability, blockless verification, and nonmalleability.
Theorem 5.
We adopt the homomorphic authentication technology to construct our scheme.
Proof. 
Besides the property of unforgeability, where only the members of the UG with qualified secret shared keys are able to produce valid shared signatures, we analyze in detail two other properties. At first, the security property of the blockless verification is analyzed. For instance, for two file blocks m 1 and m 2 , given their file block identifiers N 1 and N 2 , their signatures S 1 and S 2 , the public key p k u , and two random numbers y 1 and y 2 , the designated verifier can audit the integrity of a linear combined block m = y 1 m 1 + y 2 m 2 without knowing file blocks m 1 and m 2 by Equation (19).
e ( b = 1 2 S b y b , g ) = e ( b = 1 2 ( H ( α | | V I D | | N b ) · g 1 m b ) s k u · y b , g ) = e ( b = 1 2 ( H ( α | | V I D | | N b ) · g 1 m b ) y b , g s k u ) = e ( b = 1 2 ( H ( α | | V I D | | N b ) · g 1 m ) , p k u )
In addition, we certify that a malicious hacker without the private key s k u cannot produce the effective signature of the data file block. The reason for this nonmalleability is that hash function H is a one-way hash function. Given the equation θ = ( H ( α | | V I D | | N ) g m ) s k u represents the signature of date block m , since
S 1 y 1 · S 2 y 2 = ( b = 1 2 ( H ( α | | V I D | | N b ) y i · g 1 m ) s k u , if θ can be verified, obviously
b = 1 2 ( H ( α | | V I D | | N b ) y i = ( H ( α | | V I D | | N ) , which goes against the assumption that H is a one-way hash function. □

5.4. Public Auditing

Public auditing refers to the use of proof messages from cloud servers by designated verifiers of the DVG to audit the integrity of data stored in the cloud.
Theorem 6.
If the CSP stores the right outsourced file and replies to the designated verifier’s questions, the designated verifier can validly audit the integrity of the data.
Proof. 
According to the outsourced file stored M = M a b , 1 a l , 1 b s = m b , b [ 1 , s ] , the number of file block identifiers N b , b [ 1 , s ] , and the final signature of file block S b , b [ 1 , s ] , the CSP sets a file possession proof P r o . Via Theorem 5, P r o is sent to the designated verifier from the cloud, and the integrity of the outsourced file is checked by Equation (15). When the proof information is calculated based on the relevant file data, the CSP can pass the audit.
R · e ( ψ γ , g ) = e ( g 1 , p k u ) r · e ( ( b [ 1 , s ] S b v b ) γ , g ) = e ( g 1 , p k u ) r · e ( ( b [ 1 , s ] ( H ( α | | V I D | | N b ) · g 1 m b ) s k u v b ) γ , g ) = e ( g 1 r , p k u ) · e ( ( b [ 1 , s ] ( H ( α | | V I D | | N b ) · g 1 m b ) v b ) γ , g s k u ) = e ( g 1 r , p k u ) · e ( ( b [ 1 , s ] ( H ( α | | V I D | | N b ) · g 1 m b ) v b ) γ μ , p k u ) = e ( b [ 1 , s ] H ( α | | V I D | | N b ) γ v b · g 1 γ μ · g 1 γ , p k u ) = e ( b [ 1 , s ] ( H ( α | | V I D | | N b ) v b ) γ · g 1 μ , p k u )

5.5. Unforgeability

The basic element of the ( t , n ) threshold signature is unforgeability, meaning only qualified users can generate correct signatures.
Theorem 7.
If no attacker knows the public key p k u and valid signature of file blocks { m 1 , , m b } , we can generate correctness signatures for a fresh file block m that is different from { m 1 , , m b } with a non-negligible probability.
Proof. 
Define a malicious attacker A that damages less than t members of the UG and a challenger C who responds to attacker A ’s query by signing the oracle and hash function. Furthermore, we assume some different simulation games, G a m e 0 , G a m e 1 , , G a m e 5 , where Forge i means that the attacker wins in Game i during the game. During these games, we demonstrate that it is possible for the attacker A to forge a qualified threshold signature by addressing the CDH assumption.
G a m e 0 : The attacker A has access to a signed oracle O S and a random oracle O H , the t 1 corrupted users in a team X are defined in Theorem 4. The aim of the attacker A is to fake a shared signature which can pass the audit. Given F o r g e 0 represents the situation where a fake signature passes verification,
S u c c A = P r [ F o r g e 0 ] = ϵ
G a m e 1 : The corrupted members of the UG in team X are U 1 , U 2 , , U t 1 . Then, according to the probability to guess correctly defined in Theorem 4:
P r [ F o r g e 1 ] = ( t 1 ) ! · ( n t 1 ) ! n ! P r [ F o r g e 0 ] < ϵ
G a m e 2 : Firstly, the challenger C selects a random number a Z p and produces secret key sk u = a and public key pk u = g a . After that, we execute the following steps for all members of the team X .
(1)
For each member of the team X , challenger C randomly chooses s k u 1 , , s k u i Z p as secret shared keys for these members and defines public shared keys as pk ui = g sk ui for these members. The public key is defined as pk u = g sk u .
(2)
For the fully honest members of the team Y , we calculate
s k u i = 1 L ( i , i ) · ( p k j 1 t 1 L ( j , i ) p k u j )
where L ( x , y ) is defined in [4] and x , y [ 1 , n ] .
(3)
The challenger chooses other t 1 random values s k u 1 , , s k u ( t 1 ) to define the public shared keys p k u i = g s k u i and secret shared key s k u i = x i for these corrupted users.
(4)
For all fully honest members of the team Y, challenger C chooses p k u t , p k u ( t + 1 ) , , p k u ( n 1 ) G 1 as their public shared keys and p k u t = p k u i [ 1 , n 1 ] s k u i as the users’ U n public shared key.
(5)
At last, the challenger C obtains the corresponding secret key sk u and public key pk u by integrating sk ui and pk ui , respectively.
According to these steps, these numbers stay the same as the values in G a m e 1 . The attacker A cannot corrupt the t 1 users from this simulation game.
P r [ F o r g e 2 ] = P r [ F o r g e 1 ] < ϵ
G a m e 3 : Af first, attacker A can query q h times. During the hash query sent by attacker A, to insert the challenge g a into an oracle reply, challenger C randomly chooses a value r Z p and calculates H ( α | | V I D | | N b ) g 1 m b = ( g 1 a b ) r when a new query ( N b , m b ) is generated. After that, we save ( N b , m b , r , ( g 1 a b ) r ) in the hash list and send H ( α | | V I D | | N b ) g m b as the reply back to the hash query. Since a random value r is chosen by Z p , this simulation game is completely indistinguishable from G a m e 3 .
P r [ F o r g e 3 ] = P r [ F o r g e 2 ] < ϵ
G a m e 4 : Challenger C proceeds if and only if N b , m b has not been queried before and the output of N b , m b passes the check. Since H ( ff | | VID | | N b ) g m b is indeterminate in G 1 , the probability of success in this simulation game is 1 / p .
| P r [ F o r g e 4 ] P r [ F o r g e 3 ] | 1 p
G a m e 5 : For all data information which has not been queried before, the challenger C replies H ( ff | | VID | | N b ) g 1 m b = ( g 1 ab ) r . Utilizing the equation ( H ( ff | | VID | | N b ) g 1 m b ) 1 / r to pass the check, and defining g 1 ab and g 1 a , C can output g 1 b with an attacker of Pr [ Forge 5 ] .
| P r [ F o r g e 5 ] P r [ F o r g e 4 ] | q h · q s p
According to Equations (21)–(25), we know that the probability that attacker A is victorious in all games is ϵ . Therefore, when an attacker A with a non-negligible probability characteristic produces forged messages, A d v A C D H = ϵ has a non-negligible probability to address the CDH problem, which conflicts with the CDH assumption on G 1 .
ϵ ( t 1 ) ! · ( n t + 1 ) ! n ! · ϵ 1 p q h · q s p
Thus, an attacker A cannot generate a forged signature in our scheme.

5.6. Data Privacy

In the public auditing process, our proposal is able to preserve file data messages safely for auditing.
Theorem 8.
The designated verifier cannot obtain the information of file blocks in the process of verifying data integrity.
Proof. 
In the data auditing process, the designated verifier seeds challenge message c h a l = { c , k 1 , k 2 } to the CSP and receives the proof of data information p r o = { N b , b [ 1 , s ] , μ , ψ , R } . When a public designated verifier acquires the combined message μ = b [ 1 , l ] v b m b , the member of the DVG is able to get the privacy information of user’s data by obtaining many linear combinations of data block signatures and solving the resultant linear equations. This step’s difficult success lies in the use of blinding operation technology μ = r + γ μ , which blinds μ by randomly choosing a blinding value r Z p . If the public designated verifier needs to solve bilinear equations, the verifier should know the random number r. Although the verifier can guess with a probability of { 1 / p } , the verifier may acquire the random value r from R = e ( g 1 , p k u ) r by deducing the random value of e ( g 1 , p k u ) . However, computing the random value r is as difficult as solving the discrete logarithm problem [8] in G 1 , which is computationally impossible. Thus, the attacker cannot get the information of file block m b by solving a set of linear equations. □

6. Performance Analysis

In this section, we display the feasibility of our proposal with a theoretical analysis of cloud computation, communication, and storage costs, and then evaluate the experimental results. In order to better indicate the characteristics of our scheme, we compared our proposal with the scheme in [4] and that in [17]. In addition, we show the functions of our proposal compared with the other two schemes [4,17] in Table 2. The purpose of the table is to compare the relevant technologies used in this paper with those of the other two papers, and to show the improvement of our scheme from different aspects and the advantages of the whole data integrity audit scheme from that side.

6.1. Theoretical Analysis

Let T p represent the computational overhead of a pairing operation on the groups G 1 and G 2 , and let T m u l and T e x p , respectively, represent the computational overhead of a multiplication operation and an exponentiation operation. In addition, we ignore the computation cost of addition operations and the operation of hashing. In our proposed scheme, the outsourced file M is split into s data blocks, every block containing l small data blocks. This means that the number of all data blocks in the other two schemes is l · s . The number of challenged blocks in each challenge step is c.
C o m p u t a t i o n a l C o s t A n a l y s i s : During the final signature generation, firstly, each qualified users U i , i Q U can generate shared signature S i b for all data blocks m b , b [ 1 , s ] . Then, t shared signatures passing the verification are aggregated to produce the final signature. Therefore, the computational cost of aggregating the final signature of all file blocks S i g n G e n is s t ( 2 T e x p + ( 3 t 1 ) T m u l ) . Due to the use of PRP and PRF in our scheme, the computational cost of the algorithmic challenge is negligible. In the process of proof generation, the designated verifier produces a challenge information c h a l after receiving the designated audit work from the member of the user group. The CSP generates a verification proof p r o = { N b , b [ 1 , s ] , μ , ψ , R } based on the received challenge message c h a l , thus the computational costs of μ , ψ and R are ( c + 1 ) T m u l , c T e x p + c T m u l and T e c p + T p , respectively. Meanwhile, the total computational cost of generating proof P r o G e n is ( c + 1 ) T e x p + ( 2 c + 1 ) T m u l + T p . During the designated verifier verification, the total computational cost of verifying proof P r o V e r is ( c + 3 ) T e x p + ( c + 2 ) T m u l + 2 T p . Table 3 presents the computational cost of our scheme and that of the other two schemes.
Communicational Cost Analysis : In most PDP-based proposals, the communication cost is mainly from the process of storing data from the UG to the CSP and the challenge and proof messages transmitted between the CSP and the DVG. We analyze the communication cost of our proposal in three steps: UG-to-CSP phase, DVG-to-CSP phase, and CSP-to-DVG phase. When the data are uploaded by the UG to the CSP, the UG sends s data blocks to the CSP with corresponding tags including the number of signed block identifier N b and data block signatures S b . It is important to know that in our proposal, each data block and the number of signed block identifiers are of size Z q , each signed block signature is of size G 1 . Thus, the total communication cost in the UG-to-CSP phase is ( l s + s ) | Z q | + s | G 1 | . In addition, the communication cost of our proposal in the UG-to-CSP phase is less than that of the other two proposals. Since we aggregate the signature of every s signed block when generating signatures, the number of final signatures are less than the number of all data blocks l · s . During the challenge phase from the DVG to the CSP, the total communication cost in the DVG-to-CSP phase is 3 | Z q | . During the proof generation by the CSP to the DCG, when the CSP receives the data information from a challenge, the cloud produces the data integrity proof and sends the proof p r o back to the designated verifier. Therefore, the total communication cost in the CSP-to-DVG phase is ( l c + c ) | Z q | + c | G 1 | + c | G 2 | . Table 4 presents the communication cost for our scheme and the other two schemes.
S t o r a g e C o s t A n a l y s i s : We are mainly concerned with the storage cost of the UG, CSP and DVG. From the UG’s perspective, after data are stored to the CSP, the UG destroys all other data locally except for each user’s own private key s k u i , user group’s secret key s k u , and the extracted value of the DVG α . Thus, the storage cost of the UG is 3 n | Z q | . The CSP just requires saving the outsourced file data blocks, corresponding identifiers the signed blocks, and their signatures. In our proposed signature, each l small block of data has a tag. Thus, the total storage cost of the CSP is ( l s + s ) | Z q | + s | G 1 | . The DVG needs to store its own private key s k v and user group’s public key p k u , so the storage cost is 2 | Z q | . Table 5 presents the storage cost for our scheme and the other two schemes.

6.2. Experimental Results

In order to better evaluate our proposed scheme, we implemented it by utilizing the 512-bit elliptic curve from the Pairing-Based Cryptography (PBC) Library [32] and the GNU Multiple Precision Arithmetic (GMP) Library [33]. All of the experiments were conducted on a UTM virtual machine with a configuration of 8G of RAM, two CPUs, a 64G disk, and the Ubuntu operating system. We used a MacBook Pro Laptop as the host computer with the macOS Big Sur 11.4 operation system, a Core Apple M1 and 16G of RAM.
In our experiments, we compared the computational cost of our scheme with the schemes in [4,17], including the final signature generation SignGen , proof generation ProGen , and designated verifier verification ProVer . We set an outsourced file with a size of 2 MB, which was split into 100 data blocks (according to the multiblock signature technique, we first divided the data file into 10 data blocks, each block containing 10 small data blocks). To ensure the diversity of the experiments, the count of data blocks was varied from 100 to 400, 900, 1600, and 2500. For the number of challenged data blocks c of a data file, we set their number to 10, 40, 90, 160, and 250, respectively. Moreover, we defined the number of members of user group n as 10, of which the number of qualified users t was 5 ( n / 2 ). All experiments were conducted 10 times to obtain more precise results.
Computational cost for SignGen : In the first experiment, we compared the performance of the SignGen of the three proposals, and the experimental results are shown in Figure 3. The horizontal axis of Figure 3 displays the number of data blocks utilized to generate the final signatures, and the vertical axis displays the computational time taken. As can be seen from Figure 3, when the number of data blocks increased, the computational time cost also increased linearly. The computational cost of the final signature generation SignGen in our proposed scheme was much higher than that of the scheme in [4], but lower than that of the scheme in [17]. The main reasons were: On the one hand, qualified users needed to sign all data blocks in scheme [4], but just signed partial data blocks in our scheme. On the other hand, each data block was signed by t qualified users in our scheme, but the data blocks were just signed by one user in scheme [17]. However, our scheme had the advantage of sharing data among multiple users and eliminating managers compared to scheme [17].
Computational cost for ProGen : In the second experiment, we compared the performance of the P r o G e n of the three proposals, and the experimental results are shown in Figure 4. The horizontal axis of Figure 4 represents the number of challenge blocks utilized to generate the proof message, and the vertical axis displays the computation time taken. As we can see, the computational cost of the proof generation P r o G e n in our proposed scheme was less than that in the scheme in [4] and the scheme in [17], because the number of challenged data blocks c in our proposed scheme was much smaller than that of the other two schemes.
C o m p u t a t i o n a l c o s t f o r P r o V e r : In the last experiment, we compared the performance of the P r o V e r of the three proposals, and the experimental results are presented in Figure 5. The horizontal axis of Figure 5 displays the number of challenged blocks utilized to verify the proof by a designated verifier, and the vertical axis displays the computation time taken. We can see that the computational cost increased linearly as the number of data blocks increased. Since the number of challenged data blocks c in our proposal was much smaller than in [4,17], the computational cost of the designated verifier verification P r o V e r was less than in the two other schemes.
Summarily, from the comparison of the experimental results, our designed scheme was more efficient, specifically in the generation of proofs and the auditing of designated validators. For the generation of the final signature, although the computational efficiency of our scheme was not the best, it was still competitive due to the ( t , n ) threshold signature, incentive mechanism, and multiblock signature technique.

7. Conclusions

In this study, we designed an incentivized public auditing scheme with an identity-based designated verifier in the cloud. In our propose scheme, each user of the user group was able to generate their own key pair and file block signatures by utilizing ( t , n ) threshold technology. To ensure all users could take part in the user key generation and the signature generation fairly, equally, and decentralized, during the process of auditing, only the identity-based designated verifier could verify the integrity of the user’s data stored in the CSP to eliminate the half-honest auditors in traditional data-integrity-audit protocols. Additionally, the multiblock signature technology reduced the computational overhead in the data block signature phase and the data audit process. The security analysis and the performance analysis demonstrated that our designed scheme realized the desirable correctness, robustness, security, efficiency, and unforgeability.

Author Contributions

Conceptualization, B.S. and L.Z.; methodology, L.Z.; validation, G.B.; formal analysis, L.Z.; data curation, G.B.; writing—original draft preparation, L.Z.; writing—review and editing, B.S.; supervision, B.S.; funding acquisition, B.S. and G.B. All authors have read and agreed to the published version of the manuscript.

Funding

The research funds of this paper are from the National Natural Science Foundation of China (no. 61872284) and the Shaanxi Provincial Natural Science Basic Research Program (no. 2021JLM-16).

Data Availability Statement

Data sets supporting the results of this article are included with this article. In addition, the data sets utilized or analyzed in this study are available from the corresponding authors upon reasonable request.

Acknowledgments

Thanks to all the authors of this paper for their efforts. In addition, I would like to thank the journal editors and reviewers for their help.

Conflicts of Interest

It should be known that none of the authors in this research paper have any financial or scientific conflict of interest with the research described in this manuscript.

References

  1. Buyya, R.; Yeo, C.S.; Venugopal, S.; Broberg, J.; Brandic, I. Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility. Future Gener. Comput. Syst. 2009, 25, 599–616. [Google Scholar] [CrossRef]
  2. Singh, B.; Dhawan, S.; Arora, A.; Patail, A. A View of Cloud Computing. Int. J. Comput. Technol. 2005, 4, 387–392. [Google Scholar] [CrossRef]
  3. Fu, A.; Yu, S.; Zhang, Y.; Wang, H.; Huang, C. NPP: A New Privacy-Aware Public Auditing Scheme for Cloud Data Sharing with Group Users. IEEE Trans. Big Data 2017, 8, 14–24. [Google Scholar] [CrossRef] [Green Version]
  4. Huang, L.; Zhou, J.; Zhang, G.; Sun, J.; Wei, T.; Yu, S.; Hu, S. IPANM: Incentive Public Auditing Scheme for Non-Manager Groups in Clouds. IEEE Trans. Dependable Secur. Comput. 2020, 19, 936–952. [Google Scholar] [CrossRef]
  5. Fernandes, D.; Soares, L.; Gomes, J.; Freire, M.M.; Inácio, P.R. Security issues in cloud environments: A survey. Int. J. Inf. Secur. 2014, 13, 113–170. [Google Scholar] [CrossRef]
  6. Hsien, W.F.; Yang, C.C.; Hwang, M.S. A Survey of Public Auditing for Secure Data Storage in Cloud Computing. Int. J. Netw. Secur. 2016, 18, 133–142. [Google Scholar]
  7. Khorshed, M.T.; Ali, A.; Wasimi, S.A. A survey on gaps, threat remediation challenges and some thoughts for proactive attack detection in cloud computing. Future Gener. Comput. Syst. 2012, 28, 833–851. [Google Scholar] [CrossRef]
  8. Wang, B.; Li, B.; Li, H. Oruta: Privacy-preserving public auditing for shared data in the cloud. IEEE Trans. Cloud Comput. 2014, 2, 43–56. [Google Scholar] [CrossRef]
  9. Zhang, R.; Ma, H.; Lu, Y.; Li, Y. Provably secure cloud storage for mobile networks with less computation and smaller overhead. Sci. China Inf. Sci. 2017, 60, 1–13. [Google Scholar] [CrossRef] [Green Version]
  10. Shacham, H.; Waters, B. Compact proofs of retrievability. J. Cryptol. 2013, 26, 442–483. [Google Scholar] [CrossRef]
  11. Yu, S. Big Privacy: Challenges and Opportunities of Privacy Study in the Age of Big Data. IEEE Access 2017, 4, 2751–2763. [Google Scholar] [CrossRef] [Green Version]
  12. Yan, H.; Li, J.; Han, J.; Zhang, Y. A Novel Efficient Remote Data Possession Checking Protocol in Cloud Storage. IEEE Trans. Inf. Forensics Secur. 2017. [CrossRef]
  13. Shen, W.; Qin, J.; Yu, J.; Hao, R.; Hu, J. Enabling Identity-Based Integrity Auditing and Data Sharing With Sensitive Information Hiding for Secure Cloud Storage. IEEE Trans. Inf. Forensics Secur. 2018, 14, 331–346. [Google Scholar] [CrossRef]
  14. Ding, W.; Yan, Z.; Deng, R. Privacy-Preserving Data Processing with Flexible Access Control. IEEE Trans. Dependable Secur. Comput. 2017, 17, 363–376. [Google Scholar] [CrossRef]
  15. Wang, B.; Li, B.; Hui, L. Knox: Privacy-Preserving Auditing for Shared Data with Large Groups in the Cloud. In Proceedings of the International Conference on Applied Cryptography Network Security, Singapore, 26–29 June 2012; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  16. Wang, B.; Hui, L.; Ming, L. Privacy-preserving public auditing for shared cloud data supporting group dynamics. In Proceedings of the International Conference on Communications, Budapest, Hungary, 9–13 June 2013. [Google Scholar]
  17. Li, J.; Yan, H.; Zhang, Y. Identity-based privacy preserving remote data integrity checking for cloud storage. IEEE Syst. J. Early Access 2020, 15, 577–585. [Google Scholar] [CrossRef]
  18. Yan, H.; Li, J.; Zhang, Y. Remote Data Checking with a Designated Verifier in Cloud Storage. IEEE Syst. J. 2020, 14, 1788–1797. [Google Scholar] [CrossRef]
  19. Yu, J.; Ren, K.; Wang, C.; Varadharajan, V. Enabling Cloud Storage Auditing With Key-Exposure Resistance. Inf. Forensics Secur. IEEE Trans. 2015, 10, 1167–1179. [Google Scholar]
  20. Shamir, A. Identity-based cryptosystems and signature schemes. In Advances in Cryptology: Proceedings of CRYPTO; Springer: Berlin, Germany, 1984; pp. 47–53. [Google Scholar]
  21. Lin, Q.; Yan, H.; Huang, Z.; Chen, W.; Shen, J.; Tang, Y. An ID-based linearly homomorphic signature scheme and its application in blockchain. IEEE Access 2018, 6, 20632–20640. [Google Scholar] [CrossRef]
  22. Boneh, D.; Gentry, C.; Lynn, B.; Shacham, H. Aggregate and Verifiably Encrypted Signatures from Bilinear Maps; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
  23. Wang, H.; He, D.; Yu, J.; Wang, Z. Incentive and Unconditionally Anonymous Identity-Based Public Provable Data Possession. IEEE Trans. Serv. Comput. 2019, 12, 824–835. [Google Scholar] [CrossRef]
  24. Gervais, A.; Karame, G.O.; Wüst, K.; Glykantzis, V.; Ritzdorf, H.; Capkun, S. On the Security and Performance of Proof of Work Blockchains. In Proceedings of the ACM SIGSAC Conference on Computer Communications Security, Vienna, Austria, 24–28 October 2016. [Google Scholar]
  25. Yang, X.; Wang, M.; Li, T.; Liu, R.; Wang, C. Privacy-Preserving Cloud Auditing for Multiple Users Scheme with Authorization and Traceability. IEEE Access 2020, 8, 130866–130877. [Google Scholar] [CrossRef]
  26. Ateniese, G.; Burns, R.; Curtmola, R.; Herring, J.; Kissner, L.; Peterson, Z.; Song, D. Provable data possession at untrusted stores. In Proceedings of the 14th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 29 October–2 November 2007; pp. 598–609. [Google Scholar]
  27. Wang, H.; Domingo-Ferrer, J.; Qin, B.; Wu, Q. Identity-based remote data possession checking in public clouds. IET Inf. Secur. 2014, 8, 114–121. [Google Scholar] [CrossRef]
  28. Wu, Y.; Chang, J.; Xue, R.; Zhang, R. Homomorphic MAC from Algebraic One-Way Functions for Network Coding with Small Key Size. Comput. J. 2017, 60, 1785–1800. [Google Scholar] [CrossRef]
  29. Xue, J.; Xu, C.; Zhao, J.; Ma, J. Identity-Based Public Auditing for Cloud Storage Systems against Malicious Auditors via Blockchain. Sci. China Inf. Sci. 2019, 62, 32104. [Google Scholar] [CrossRef] [Green Version]
  30. Li, J.; Yan, H.; Zhang, Y. Efficient identity-based provable multi-copy data possession in multi-cloud storage. IEEE Trans. Cloud Comput. 2019, 10, 356–365. [Google Scholar] [CrossRef]
  31. Li, L.; Liu, J.; Cheng, L.; Qiu, S.; Wang, W.; Zhang, X.; Zhang, Z. Creditcoin: A privacy-preserving blockchain-based incentive an nouncement network for communications of smart vehicles. IEEE Trans. Intell. Transp. Syst. 2018, 19, 2204–2220. [Google Scholar] [CrossRef] [Green Version]
  32. Pairing Based Crypography (PBC) Library. 2017. Available online: http://crypto.stanford.edu/pbc/ (accessed on 21 January 2020).
  33. The GNU Multiple Precision Arithmetic Library (GMP). Available online: http://gmplib.org/ (accessed on 16 September 2019).
Figure 1. System model.
Figure 1. System model.
Electronics 12 01308 g001
Figure 2. Signature generation model.
Figure 2. Signature generation model.
Electronics 12 01308 g002
Figure 3. Computational cost for SignGen [4,17].
Figure 3. Computational cost for SignGen [4,17].
Electronics 12 01308 g003
Figure 4. Computational cost for ProGen [4,17].
Figure 4. Computational cost for ProGen [4,17].
Electronics 12 01308 g004
Figure 5. Computational cost for ProVer [4,17].
Figure 5. Computational cost for ProVer [4,17].
Electronics 12 01308 g005
Table 1. Symbols and their definitions.
Table 1. Symbols and their definitions.
SymbolsDefinitions
UGUser group
CSPCloud service provider
DVGDesignated verifier group
KGCKey generation center
G 1 , G 2 Cyclic groups
qThe prime order of G 1 , G 2
gThe generator of G 1
eBilinear map from G 1 × G 1 to G 2
H , H 1 , H 2 , H 3 Hash function
fPseudorandom function
π Pseudorandom permutation
V I D The identity of DVG
f i ( x ) Random polynomial function
s k u i , p k u i User’s shared key pair
s k u , p k u User group key pair
s k v , p k v The key pair of DVG
MOutsourced file
m b Outsourced file block m ab ,   1 a l
S i b The partial signature of m b
λ i A Lagrangian interpolation coefficient
S b The final signature of m b
N b The number of m b identifier
c h a l Challenge message
cThe number of challenged blocks
p r o The audit proof
c o i n Total incentive fee
S e b Sequence number of a valid signer
U i c o i n The incentive fee of a valid contributor
Table 2. Functionality comparison.
Table 2. Functionality comparison.
Our Scheme[4][17]
Identity-basedYesNoYes
Designated verifierYesNoYes
( t , n ) thresholdYesYesNo
Multiblock signatureYesNoNo
Blinding technologyYesYesNo
Homomorphic authenticatorYesYesYes
TraceabilityYesYesNo
Incentive mechanismYesYesNo
Table 3. Computational cost.
Table 3. Computational cost.
SignGenProGenProVer
Our Scheme st ( 2 T exp + ( 3 t 1 ) T mul ) ( c + 1 ) T exp + ( 2 c + 1 ) T mul + T p     ( c + 3 ) T exp + ( c + 2 ) T mul + 2 T p
[4] lst ( 2 T exp + ( 3 t 1 ) T mul ) ( lc + 1 ) T exp + ( 2 lc + 1 ) T mul + T p     ( lc + 3 ) T exp + ( lc + 2 ) T mul + 2 T p
[17] ls ( 2 T exp + 2 T mul ) ( lc + 1 ) T exp + ( lc 1 ) T mul )     3 lcT exp + 2 lcT mul + 3 T p
Table 4. Communication cost.
Table 4. Communication cost.
UG to CSPDVG to CSPCSP to DVG
Our Scheme ( ls + s ) | Z q | + s | G 1 | 3 | Z q | ( lc + c ) | Z q | + c | G 1 | + c | G 2 |
[4] 2 ls | Z q | + ls | G 1 | 3 | Z q | 2 lc | Z q | + lc | G 1 | + lc | G 2 |
[17] 2 ls | Z q | + ls | G 1 | 3 | Z q | 2 lc | Z q | + lc | G 1 |
Table 5. Storage cost.
Table 5. Storage cost.
UGCSPTitle DVG
Our Scheme 3 n | Z q | ( ls + s ) | Z q | + s | G 1 | 2 | Z q |
[4] 2 n | Z q | 2 ls | Z q | + ls | G 1 | | Z q |
[17] | Z q | 2 ls | Z q | + ls | G 1 | | Z q |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Shao, B.; Zhang, L.; Bian, G. Incentive Public Auditing Scheme with Identity-Based Designated Verifier in Cloud. Electronics 2023, 12, 1308. https://doi.org/10.3390/electronics12061308

AMA Style

Shao B, Zhang L, Bian G. Incentive Public Auditing Scheme with Identity-Based Designated Verifier in Cloud. Electronics. 2023; 12(6):1308. https://doi.org/10.3390/electronics12061308

Chicago/Turabian Style

Shao, Bilin, Li Zhang, and Genqing Bian. 2023. "Incentive Public Auditing Scheme with Identity-Based Designated Verifier in Cloud" Electronics 12, no. 6: 1308. https://doi.org/10.3390/electronics12061308

APA Style

Shao, B., Zhang, L., & Bian, G. (2023). Incentive Public Auditing Scheme with Identity-Based Designated Verifier in Cloud. Electronics, 12(6), 1308. https://doi.org/10.3390/electronics12061308

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop