Next Article in Journal
A Highly Accurate Computational Approach to Solving the Diffusion Equation of a Fractional Order
Previous Article in Journal
Arakelov Inequalities for a Family of Surfaces Fibered by Curves
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Secure Certificate-Based Data Integrity Auditing Protocol with Cloud Service Providers

by
Yuan Tian
,
Xuan Zhou
,
Tanping Zhou
*,
Weidong Zhong
,
Ruifeng Li
and
Xiaoyuan Yang
Chinese People’s Armed Police Force Engineering University, Xi’an 710086, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2024, 12(13), 1964; https://doi.org/10.3390/math12131964
Submission received: 21 May 2024 / Revised: 19 June 2024 / Accepted: 22 June 2024 / Published: 25 June 2024

Abstract

:
With the surge in cloud storage popularity, more individuals are choosing to store large amounts of data on remote cloud service providers (CSPs) to save local storage resources. However, users’ primary worries revolve around maintaining data integrity and authenticity. Consequently, several cloud auditing methods have emerged to address these concerns. Many of these approaches rely on traditional public-key cryptography systems or are grounded in identity-based cryptography systems or certificateless cryptography systems. However, they are vulnerable to the increased costs linked with certificate management, key escrow, or the significant expenses of establishing a secure channel, respectively. To counter these limitations, Li et al. introduced a certificate-based cloud auditing protocol (LZ22), notable for its minimal tag generation overhead. Nonetheless, this protocol exhibits certain security vulnerabilities. In this paper, we devise a counterfeiting technique that allows the CSP to produce a counterfeit data block with an identical tag to the original one. Our counterfeiting method boasts a 100% success rate ∀ data block and operates with exceptional efficiency. The counterfeiting process for a single block of 10 kB, 50 kB, and 100 kB takes a maximum of 0.08 s, 0.51 s, and 1.04 s, respectively. By substituting the exponential component of homomorphic verifiable tags (HVTs) with non-public random elements, we formulate a secure certificate-based cloud auditing protocol. In comparison to the LZ22 protocol, the average tag generation overhead of our proposed protocol is reduced by 6.80%, 13.78%, and 8.66% for data sizes of 10 kB, 50 kB, and 100 kB, respectively. However, the auditing overhead of our proposed protocol shows an increase. The average overhead rises by 3.05%, 0.17%, and 0.45% over the LZ22 protocol’s overhead for data sizes of 10 kB, 50 kB, and 100 kB, correspondingly.

1. Introduction

In recent times, as wireless sensor technology advances continuously, the integration of wireless sensor technique with implantable medical electronic devices has progressively supplanted traditional portable medical devices as a focal point in global medical research and development [1]. In contrast to conventional portable medical electronic devices, implantable medical devices exhibit greater flexibility and convenience in appearance and usage. They can provide real-time health monitoring and even predict diseases. Implantable medical devices necessitate a simple chip implantation procedure within the body. Whether it involves monitoring diverse health metrics or restoring bodily functions, implantable chips offer enhanced ease, speed, accuracy, and cost efficiency. The utilization of implantable medical sensors enables users to monitor their health anytime, anywhere, thereby enhancing the efficient allocation of hospital resources to some extent.
Nevertheless, the escalating volume of health monitoring data poses challenges in terms of data storage, potentially reducing the efficiency of medical sensors. This challenge can be mitigated by cloud service providers (CSPs) equipped with robust computational capabilities and ample storage resources. The operational framework of a typical medical sensor network is depicted in Figure 1. Initially, medical sensors gather health data from users regularly, which are then transmitted via the Internet to the CSP through associated mobile Portable Personal Terminals (e.g., smartphones, smart wristbands). Subsequently, the Health Center can analyze these health data and provide feedback to users, while hospitals can leverage the monitoring data within the CSP to gain precise insights into a patient’s condition and upload diagnosis outcomes to the CSP.
However, as concerns about privacy protection continue to grow, two major issues have arisen regarding the choice of CSPs for data storage outsourcing. One concern relates to potential data leakage by the CSP, while the other focuses on ensuring the integrity of data stored within the CSP. Consequently, safeguarding the privacy and integrity of health data within CSPs is crucial for users. Data encryption technology is widely recognized as a pivotal tool for preserving data privacy, involving the encryption of data locally before transferring it to the CSP. Furthermore, data auditing techniques play a crucial role in verifying the integrity of data stored within a CSP. This method entails issuing an audit challenge to the CSP to evaluate its ability to accurately respond to the challenge, thereby ensuring data integrity.
Therefore, the data storage outsourcing capability provided by CSPs effectively addresses the challenge of overloaded local storage for wireless sensors. By utilizing outsourced storage integrated with data encryption and auditing technologies, users can ensure the privacy and integrity of their data.

1.1. Related Works

With the swift progress in wireless communication technology, wireless sensor technology has become a focal point of investigation. The small size, minimal energy consumption, and scalability of wireless sensors have established them as the preferred option for IoT applications, such as electronic medical health monitoring. Due to the limited computing and storage capacities of wireless sensors, they frequently collaborate with CSPs to securely store encrypted data in the cloud. As a result, the attention on ensuring data integrity within CSPs has significantly increased in recent years in the domain of outsourced storage security protection research.
Homomorphic encryption [2,3,4,5] enables cryptographic computing, providing secure calculations with guaranteed confidentiality, making it a significant research focus in cloud computing. However, homomorphic encryption does not ensure the integrity of the calculation process.
Some data integrity-checking protocols were proposed between 2004 and 2006 [6,7,8]. However, all of these protocols required downloading the complete data file to check the integrity of the data. This took up a lot of communication overhead, which was not practical in the era of big data with huge data volumes.
The initial introduction of the Provable Data Possession (PDP) model by Ateniese et al. in 2007 [9] marked a significant milestone. This model utilized homomorphic verifiable tags (HVTs) and random sampling methods to empower users to authenticate remote data integrity with a high level of certainty. However, the computational and storage resources demanded by the protocol were substantial due to the homomorphic nature of the RSA cryptosystem on which the HVTs were founded. In 2008, Shacham et al. led the way in integrating a third-party auditor (TPA) into the model for validating remote data integrity [10]. By delegating the verification to a TPA, the protocol alleviated the verification burden on users. By employing BLS signatures [11] to create HVTs, this protocol generated shorter tags compared to the method proposed by [9]. Nonetheless, the length of these HVTs still exceeded that of the data block itself, resulting in a storage overhead for the CSP that surpassed that of the data block.
Subsequently, in order to cater to diverse user needs and reduce the computational and storage overhead of the protocol, scholars developed a range of third-party cloud auditing protocols based on various cryptographic systems. Initially, numerous researchers devised third-party cloud auditing protocols [9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26] grounded in the Public Key Infrastructure (PKI) cryptosystem [27]. While PKI-based protocols are widely used, the substantial certificate management burden associated with them cannot be ignored. To tackle this challenge, other researchers suggested protocols [28,29,30,31,32,33,34,35,36,37,38,39,40,41] based on the identity (ID) cryptosystem [42]. In the ID cryptosystem, the Private Key Generator (PKG) only needs to generate and retain the private key s k corresponding to the user’s I D , leading to reduced storage overhead compared to the PKI-based protocols. However, the susceptibility of PKG to hacking and private key theft poses a challenge, rendering ID-based auditing protocols vulnerable to private key escrow attacks. To streamline key management and mitigate key escrow vulnerabilities, researchers have also proposed cloud auditing protocols [43,44,45,46,47,48] based on the certificateless cryptosystem [49]. These protocols prevent the exposure of the private key by distributing the key generation process between the Key Generation Center (KGC) and the user, thereby addressing the key escrow issue. However, establishing a trusted channel for transmitting part of the private key between KGC and users presents a communication overhead challenge in the certificateless cryptosystem.
To resolve the issue of communication overhead in certificate-less cryptosystems, Gentry introduced the certificate-based cryptosystem in 2003 [50]. The certificate-based cryptosystem eliminated the necessity to establish a trusted channel for each user; the certificate distribution could occur in the open channel, reducing the communication overhead resulting from establishing a trusted channel. Building upon the certificate-based cryptosystem, Ref. [51] devised an efficient third-party cloud auditing protocol. This protocol reduced the computational cost on both the user and the TPA sides compared to the aforementioned protocols by cleverly constructing the HVTs. Nonetheless, this protocol did raise some security concerns.

1.2. Our Contributions

In this paper, we design a third-party cloud auditing protocol that leveraged secure certificates to address the susceptibility of encrypted data blocks to forgery within the LZ22 protocol [51]. Our contributions are detailed below.
To begin, we devise a method for generating forged data blocks with identical tags to the original ones. This technique is capable of forging lost data blocks, enabling the successful completion of TPA challenges in cases where the user’s data block is missing due to CSP errors. Our forgery approach boasts a 100% success rate ∀ data block. Furthermore, we conduct simulation experiments to evaluate the computational overhead associated with forgery for data sizes of 10 kB, 50 kB, and 100 kB. The results demonstrate that the computational overhead for forgery is remarkably minimal, with a maximum forging time of 1.04 s per data block.
Subsequently, we develop a robust certificate-based data integrity auditing protocol to resolve the security issues present in the LZ22 protocol. By reconfiguring the homomorphic verifiable tags (HVTs) and integrating these enhanced HVTs into our cloud auditing protocols, we enhance the security of our protocol significantly. A comprehensive overview of our protocol is provided, along with an in-depth analysis of its correctness and security aspects.
Lastly, we validate the practicality and efficiency of our protocol through experimental assessments. By simulating the time overhead of Tag Generation and Auditing for various auditing protocols, including the latest PKI auditing protocol [26], ID-based auditing protocol [30], certificateless auditing protocol [46], certificate-based auditing protocol [51], and our auditing protocol, we demonstrate the superior efficiency of our protocol in Tag Generation compared to the other protocols. Additionally, our auditing efficiency matches that of the auditing protocol proposed by [51], ensuring a high level of security while maintaining operational efficiency.

1.3. Outline of the Article

The overall structure of the remaining sections in this article is outlined as follows. In Section 2, we present pertinent background information regarding the Certificate-Based Data Integrity Auditing Protocol (CBDIAP). Subsequently, in Section 3, we delve into the security vulnerabilities of the LZ22 protocol and put forth a potential forgery attack strategy. Moving on to Section 4, we introduce and scrutinize the protocol proposed in this paper, conducting both correctness and security analyses. Subsequently, in Section 5, we evaluate the overhead associated with Tag Generation and Auditing for the proposed protocol through theoretical and experimental assessments. Finally, we encapsulate the key findings and delineate future research avenues in Section 6.

2. Preliminaries

In this section, we introduce some basic knowledge, including symmetric bilinear mapping, security assumptions, and the formal definition of the CBDIAP. The details are as follows.

2.1. Symmetric Bilinear Mapping

The concept of symmetric bilinear mapping was first introduced by John Milnor, and Dale Husemoller et al. in 1973 in their published book Symmetric Bilinear Forms [52]. The details are as follows.
Choose two cyclic groups G 1 , G T . Suppose o r d e r G 1 = o r d e r G T = p p i s p r i m e , and there exists a mapping e ^ : G 1 × G 1 G T satisfying the following properties:
  • Bilinear: a , b Z p , g G 1 , such that e ^ g a , g b = e ^ g , g a b .
  • Nondegeneracy: if g is the generator of G 1 , such that e ^ g , g 1 G T ( 1 G T is the identity element in the group G T ) is the generator of G T .
  • Computability: g 1 , g 2 G 1 , such that e ^ g 1 , g 2 can be calculated efficiently.

2.2. Security Assumptions

Definition 1
(k-Collusion Attack Algorithm Problem (k-CAA) Assumption [53]). In a cyclic group G with order p where p is prime, ∀ x , h 1 , , h k Z p * and g G , given g , g x and pairs h 1 , g 1 x + h 1 , , h k , g 1 x + h k , the task is to output a new pair h * , g 1 x + h * where h * h 1 , , h k . The k-CAA assumption is deemed valid under t , ε if there exists no probabilistic polynomial time (PPT) algorithm that can generate h * , g 1 x + h * in G with a success rate of at least ε.
Definition 2
(Weak k-CAA Problem Assumption [54]). In a cyclic group G with order p where p is prime, ∀ x , a , b , h 1 , , h k Z p * and g G , given g , g x , g a , g b , and pairs h 1 , g a b x + h 1 , , h k , g a b x + h k , the objective is to output a new pair h * , g a b x + h * or solve g a b where h * h 1 , , h k . The weak k-CAA assumption is considered valid under t , ε if there exists no PPT algorithm that can generate h * , g a b x + h * or solve g a b in G with a success rate of at least ε.
Definition 3
(Computational Diffie–Hellman Problem (CDH) Assumption [11]). In a cyclic group G with order p where p is prime, ∀ a , b Z p * and g G , given g , g a , g b , the aim is to solve g a b . The CDH assumption is considered valid under t , ε if there exists no PPT algorithm that can solve g a b in G with a success rate of at least ε.

2.3. The Formal Definition of the CBDIAP

The CBDIAP is a third-party data integrity auditing protocol that relies on certificate-based cryptographic systems. The protocol involves three key entities: the CSP, TPA, and user, each with distinct responsibilities. The CSP is tasked with system initialization, user certificate distribution, and encrypted data block storage. On the other hand, the TPA’s role is to audit the CSP to guarantee the integrity of the data stored within it. The formal specification of this protocol can be found in Definition 4.
Definition 4.
The CBDIAP consists of four PPT algorithms [51]:
1. 
System setup  1 λ msk , pp : with input security parameter λ, CSP initializes the data integrity auditing system to generate the system master private key m s k and broadcast the system parameters p p .
2. 
User registration  ID , upk ID Cert ID : The user sends their I D and public key u p k I D to the CSP. Then, the CSP returns a valid certificate C e r t I D to the user.
3. 
Outsourcing storage  F = m i i = 1 m , ds , t τ , σ i i = 1 m : Given an encrypted dataset F = m i i = 1 m named d s , timestamp t, the user uploads the encrypted dataset F = m i i = 1 m , the dataset label τ, and the data block tags σ i i = 1 m to the CSP.
4. 
Auditing  ID , ds , chal (0/1): The TPA sends the user’s I D , d s , and the audit challenge c h a l to the CSP. The CSP generates a Data Integrity Proof P F to be returned to the TPA. The TPA output is one, which proves that the data are intact on the CSP, or, conversely, outputs zero.

2.3.1. Correctness

Definition 5.
If the CBDIAP is correct, the following conditions need to be met [51]:
1. 
For the certificate C e r t I D returned by the CSP, the user must verify that the certificate C e r t I D sent by the CSP matches his or her own I D and u p k I D to check whether the certificate is valid.
2. 
I D 0 , 1 * , d s , c h a l i , c i : i I , if the CSP received I D , d s , c h a l from the TPA, the CSP can generate P F . Then, the CSP sends PF to the TPA. Finally, the TPA checks whether the P F matches the dataset label τ and checks whether the P F is evidence of the dataset d s .
3. 
For σ i i = 1 m , the TPA checks the integrity of the data in the CSP by testing whether m i i = 1 m and σ i i = 1 m match.

2.3.2. Security Model

In the CBDIAP, the forgery of adversary A is said to be successful if the forged P F can pass the auditing algorithm, and the forged dataset with arbitrary data block m * m i i = 1 m is not interrogated.
Definition 6.
If the probability that any PPT adversary A can win the following game is negligible, then we consider CBDIAP secure.
Initialization: challenger C generates system parameters p p and system master private key m s k , stores the m s k itself, and sends the p p to adversary A .
TagGen query: Adversary A sends the user’s I D , the encrypted dataset F = m i i = 1 m named d s , and the corresponding timestamp t to challenger C . Then, C returns the corresponding dataset label τ and all the data block tags σ i i = 1 m to A .
ProofCheck query: ∀ dataset, C sends c h a l to A , A generates the corresponding P F .
Forge: A generates p r o o f   P F , where P F corresponds to an unvisited dataset, i.e., none of the data blocks in the new dataset have undergone the TagGen query process.

3. Data Block Forgery of LZ22 Protocol

First, we analyze the security problems of the LZ22 protocol in the outsourcing storage process in detail and propose our forgery method. Then, we experimentally analyze the time overhead required for forgery.

3.1. Security Problems of LZ22

In reality, a secure cloud auditing protocol requires that the CSP cannot generate a valid attestation without having the complete raw data [55]. Here, we first assume that the TPA needs to audit the integrity of an encrypted dataset F = ( m 1 , , m m ) with identity ID and dataset name d s . Then, after the CSP receives the audit challenge ( I D , d s , c h a l = { i , c i : i I } ) from the TPA, it generates a valid proof P F = ( m , σ ) , where m = i I c i m i , σ = i I σ i c i . At this point, if the CSP is still able to generate a proof P F * = ( m * , σ * ) that can be verified despite the loss of a data block m k , k I , then this cloud auditing protocol is unsafe.
In the LZ22 protocol [51], the data block m i has a tag σ i = H 3 I D , i , τ · β j = 1 n H 4 I D , j · m i j r . For each data block m i , the CSP can pre-determine an intermediate value M i = j = 1 n H 4 I D , j · m i j for tag σ i and store M i in the CSP. In this way, when a certain data block m k , k I is lost, the CSP can forge a data block m k * = m k 1 * , , m k n * . As long as j = 1 n H 4 I D , j · m k j * = j = 1 n H 4 I D , j · m k j = M k , then the forged data block m k * has the same tag σ k as the real data block m k . In this way, the CSP can send a proof P F * = m * , σ , where m * = i I , i k c i m i + c k m k * = ( m 1 * , , m n * ) , σ = i I σ i c i . We verify the algorithm by substituting P F * = ( m * , σ ) into the Equation (1):
e ^ ( σ , g ) = e ^ i I σ i c i , g = e ^ i I H 3 ( I D , i , τ ) c i · β c i · j = 1 n H 4 ( I D , j ) · m i j r , g = e ^ i I H 3 ( I D , i , τ ) c i · β i I j = 1 n H 4 ( I D , j ) · c i · m i j , R = e ^ i I H 3 ( I D , i , τ ) c i · β i I , i k j = 1 n H 4 ( I D , j ) · c i · m i j + j = 1 n H 4 I D , j · c k · m k j , R = e ^ i I H 3 ( I D , i , τ ) c i · β i I , i k j = 1 n H 4 ( I D , j ) · c i · m i j + c k · m k , R = e ^ i I H 3 ( I D , i , τ ) c i · β i I , i k j = 1 n H 4 ( I D , j ) · c i · m i j + j = 1 n H 4 I D , j · c k · m k j * , R = e ^ i I H 3 ( I D , i , τ ) c i · β j = 1 n H 4 I D , j · i I , i k c i · m i j + c k m k j * , R = e ^ i I H 3 ( I D , i , τ ) c i · β j = 1 n H 4 I D , j · m j * , R
That is, the proof P F * = ( m * , σ ) returned by the CSP to the TPA can pass the verification. Since data block m * is forged by the CSP, the LZ22 protocol is not secure.
Below, we consider specifically how to construct the data block m k * = m k 1 * , , m k n * such that j = 1 n H 4 I D , j · m k j * = M k . Since H 4 I D , j , j { 1 , , n } are all values that can be calculated by the CSP, m k 1 * , , m k ( n 1 ) * can be chosen arbitrarily. It is sufficient that m k n * = ( M k j = 1 n 1 H 4 I D , j · m k j * ) H 4 I D , n holds, at which point m k * = m k 1 * , , m k n 1 * , ( M k j = 1 n 1 H 4 I D , j · m k j * ) H 4 I D , n holds. An extreme case is to make m k j * = 0 , j { 1 , , ( n 1 ) } , m k n * = M k H 4 I D , n hold, when m k * = 0 , , 0 , M k H 4 I D , n . From the analysis, it is clear that the forging success rate of our proposed method for forging data blocks is 100%.
Note that this method of masking data loss by the CSP requires an additional value M i = j = 1 n H 4 I D , j · m i j to be computed for each data block m i when storing the user dataset, and thus the CSP needs to prepare an additional 1 n of the original dataset size of the storage space for storing M i . Figure 2 compares the difference between the legitimate CSP and the dishonest CSP in the auditing phase.

3.2. Data Block Forgery Experiments

In this section, we delve into the time overhead associated with the CSP’s ability to counterfeit a data block. Given that the data block m k * targeted for forgery shares an identical tag σ k with the authentic data block m k , there is no necessity to fabricate the tag σ k .
Our simulation used the Pycharm IDE, with the compiler version being Python 3.8. Our simulation ran on a Linux 5.10.0-8-generic system, using the 11th Gen Intel (R) Core (TM) i7-11800H @ 2.30-GHz processor. The parameters used in the simulation were all standard parameters of the Pypbc library [56]. To design an 80-bit secure auditing algorithm, the length of any element in the group G 1 needed 160 bits (20 bytes). We analyzed the time overhead required for forgery with dataset sizes of 10 kB, 50 kB, and 100 kB, respectively.
In the data block forgery method proposed in the previous section, the CSP needs to additionally compute a value M i = j = 1 n H 4 I D , j · m i j for each data block m i and store M i , i { 1 , , m } locally after receiving the dataset F = ( m 1 , , m m ) uploaded by the user. After an experimental simulation, we concluded that the time overhead required by the CSP to compute each M i was related to the number of sector n in each data block as shown in Figure 3.
After the CSP receives an audit challenge ( I D , d s , c h a l = { i , c i : i I } ) from the TPA, if it finds that a block of data m k , k I is missing, it can then forge a block of data m k * = m k 1 * , , m k n * using the previously stored value m k . The forgery method that minimizes the time overhead is to make m k j * = 0 , j { 1 , , ( n 1 ) } , m k n * = M k H 4 I D , n and obtain m k * = 0 , , 0 , M k H 4 I D , n . When the number of missing data blocks is more than one, the same method can be used to forge the other missing data blocks. We derived the time required by the forgery method with the lowest overhead for the CSP forgery of each m k * related to the number of sector n in each data block as shown in Figure 4.
To make the forged data block look more real, the values of m k 1 * , , m k ( n 1 ) * can be assigned one by one by the CSP according to the numerical characteristics of the existing data block, as long as the last element of the forged data block m k * satisfies m k n * = ( M k j = 1 n 1 H 4 I D , j · m k j * ) H 4 I D , n . At this point, m k * = m k 1 * , , m k n 1 * , ( M k j = 1 n 1 H 4 I D , j · m k j * ) H 4 I D , n , and the forgery process will require a greater amount of calculation. When the number of missing data blocks is more than one, the same method can be used to forge the other missing data blocks. The time required for the CSP to forge each more realistic m k * versus the number of sector n in each data block is shown in Figure 5.
In the following, we analyze the total time overhead required for CSPs to forge data blocks in the LZ22 protocol using the forgery method proposed in this paper. First, for a given encrypted dataset F = m 1 , , m m , the CSP needs to compute an extra value M i = j = 1 n H 4 I D , j · m i j for each data block m i . Then, the CSP forges the lost data block through the challenge. If the CSP uses the lowest overhead forgery method, the number of sectors n for each data block versus the total time overhead is shown in Figure 6. If the CSP uses a more realistic forgery method, the number of sectors n of each data block versus the total time overhead is shown in Figure 7.
From Figure 3, Figure 4, Figure 5, Figure 6 and Figure 7, we can see that the time overhead of our forgery method is minimal. With sufficient storage resources (i.e., sufficient storage space to store the intermediate value M i ), the CSP needs at most 1.1 s to forge a lost data block and pass the audit challenge. Otherwise, even if auditing is required during the user outsourcing storage process (i.e., the CSP needs to calculate the intermediate value M i and forge the missing data block m k at the same time), it takes at most 5.5 s for the CSP to be able to complete the forgery of a particular missing data block and pass the auditing challenge.

4. The Proposed Protocol

In this section, we introduce an enhanced protocol designed to address the security vulnerabilities present in the LZ22 protocol. Subsequently, a comprehensive analysis of the correctness of our protocol is conducted. Finally, we provide a rigorous proof of the security guarantees offered by our proposed protocol.

4.1. Concrete Structure

From Section 3, it is clear that the encrypted data block m k stored by the CSP in the LZ22 protocol can be forged with 100% probability. In our protocol, we make it impossible for the attacker to calculate the exponential part of σ k by changing the H 4 I D , j , j [ 1 , n ] function of tag σ k in the LZ22 protocol to pick n random numbers a j Z q * , j [ 1 , n ] , which makes it impossible to forge any data block. The specific details of our protocol are as follows.
The proposed protocol comprises four algorithms illustrated in Figure 8. Initially, the system setup algorithm is executed by the CSP to generate initialization parameters p p . Then, the CSP sends p p to the user and TPA. Subsequently, in the user registration algorithm, the user creates ( I D , u p k I D ) and transmits it to the CSP. The CSP then responds by sending C e r t I D to the user. Then, the user verifies the legitimacy of the certificate. Following this, the outsourcing storage algorithm is activated by the user, tasked with labeling encrypted datasets and transmitting ( τ , { ( m i , σ i ) i = 1 m } ) to the CSP and τ to the TPA. Lastly, the auditing algorithm is initiated by the TPA, responsible for issuing audit challenges to the CSP to verify the integrity of the stored data. Upon receiving an audit challenge from the TPA, the CSP must present the necessary proof of integrity ( P F ) to the TPA for assessment in order to verify the data integrity. A detailed description of each algorithm is provided below.

4.1.1. System Setup

Input security parameter 1 λ ; then, the CSP randomly selects the cyclic group G 1 of order prime q, and the symmetric bilinear mapping e ^ : G 1 × G 1 G T . Then, the CSP randomly selects the generator element g G 1 and an integer s Z q * to compute the master public key p k = g s . Then, the CSP randomly selects three collision-resistant hash functions: H 1 : 0 , 1 * × G 1 G 1 , H 2 : 0 , 1 * × G 1 × G 1 Z q , H 3 : 0 , 1 * × Z q × G 1 G 1 . Finally, the CSP announces the above system public parameter p p = ( q , G 1 , G T , e ^ , g , p k , H 1 , H 2 , H 3 ) and sets s as the system master key m s k .

4.1.2. User Registration

The user registration algorithm is divided into three phases: UserKeyGen, certify, and authentication.
  • UserKeyGen: the user randomly chooses x Z q as secret key u s k I D , computes the user public key as u p k I D = g x , and then sends I D and u p k I D to CSP.
  • Certify: The CSP generates certificate Cert I D = H 1 I D , u p k I D m s k and sends it to the user.
  • Authentication: The user verifies the legitimacy of the certificate Cer t I D through equation e ^ Cert I D , g = e ^ ( H 1 I D , u p k I D , p k ) .

4.1.3. Outsourcing Storage

The outsourcing storage algorithm is divided into two phases: data processing and data uploading.
  • Data processing:
    (1)
    Given an encrypted dataset F 0 , 1 * with timestamp t and dataset name d s , the user initially divides the dataset F into m data blocks ( m 1 , , m m ) , each comprising n sectors. Specifically, F = m i , j m × n , where m i , j Z q .
    (2)
    The user then randomly selects r , a 1 , , a n Z q * , calculates R = g r , g j j = 1 n : = g a j j = 1 n , and U = Cert I D 1 u s k I D + H 2 I D , d s , t , g j j = 1 n , R , m , n . The user assigns the label τ = ( g j j = 1 n , R , U , d s , t , m , n ) of dataset F and retains a 1 , , a n .
    (3)
    For each data block m i , the user computes the corresponding tag into Equation (2):
    σ i : = H 3 I D , i , τ · g j = 1 n a j m i j r .
  • Data uploading: The user uploads dataset label τ , data blocks m 1 , , m m , and corresponding tags σ 1 , , σ m to the CSP. At the same time, the user sends dataset label τ to the TPA.

4.1.4. Auditing

In the Auditing algorithm, three distinct phases, namely challenge, proof generation, and proof verification, are delineated for execution.
  • Challenge: The TPA randomly selects a non-empty subset I with element i { 1 , , m } . For each i, the TPA randomly chooses c i Z q * . Subsequently, the TPA transmits the user I D , dataset name d s , and challenge c h a l = { i , c i : i I } to the CSP.
  • Proof generation: Upon reception of ( I D , d s , c h a l ) , the CSP computes m and σ in Equation (3):
    m = i I c i m i , σ = i I σ i c i
    Subsequently, the CSP sends P F = ( m , σ ) back to the TPA.
  • Proof verification: Upon receipt of P F , the TPA initially verifies the validity of the label τ using Equation (4).
    e ^ U , u p k I D · g H 2 I D , d s , t , g j j = 1 n , R , m , n = e ^ ( H 1 I D , u p k I D , p k )
    If Equation (4) is satisfied, the TPA confirms the integrity of the user’s data stored by the CSP through Equation (5).
    e ^ σ , g = e ^ ( i I H 3 I D , i , τ c i · j = 1 n g j m j , R )
    If both equations Equations (4) and (5) are satisfied, the TPA can ascertain the integrity of the dataset stored in the CSP; otherwise, it indicates either nonintegrity or tampering of the dataset.

4.2. Correctness

According to Definition 5, in this section, we verify the correctness of the proposed protocol in terms of certificate validity, legitimacy of dataset label τ , and data integrity verification. To verify the correctness of the proposed protocol, we assume that all participants in this section faithfully execute the proposed protocol.

4.2.1. Certificate Validity

Claim 1.
I D , u p k I D , C e r t I D , e ^ Cer t I D , g = e ^ ( H 1 I D , u p k I D , p k )  is constant holds.
Proof. 
e ^ C e r t I D , g = e ^ H 1 I D , u p k I D s , g = e ^ H 1 I D , u p k I D , g s = e ^ H 1 I D , u p k I D , p k

4.2.2. Legitimacy of Dataset Label τ

Claim 2.
P F , τ , u p k I D , I D , e ^ U I D , u p k I D · g H 2 I D , d s , t , g j j = 1 n , R , m , n
= e ^ ( H 1 I D , u p k I D , p k )  is constant holds. (here we let  γ = H 2 I D , d s , t , g j j = 1 n , R , m , n ).
Proof. 
e ^ U , u p k I D · g γ = e ^ Cert I D 1 x + γ , g x g γ = e ^ Cert I D , g x + γ x + γ = e ^ H 1 I D , u p k I D s , g = e ^ H 1 I D , u p k I D , g s = e ^ H 1 I D , u p k I D , p k

4.2.3. Data Integrity Verification

Claim 3.
P F , τ , u p k I D , I D , e ^ σ , g = e ^ ( i I H 3 I D , i , τ c i · j = 1 n g j m j , R )  is constant holds.
Proof. 
e ^ σ , g = e ^ i I σ i c i , g = e ^ i I H 3 I D , i , τ · g j = 1 n a j m i j r · c i , g = e ^ i I H 3 I D , i , τ · ( g j = 1 n a j ) m i j c i , g r = e ^ i I H 3 I D , i , τ · ( g j = 1 n a j ) m i j c i , R = e ^ i I H 3 I D , i , τ c i · j = 1 n g j c i · m i j , R = e ^ i I H 3 I D , i , τ c i · j = 1 n g j m j , R

4.3. Security Analysis

In our proposed protocol, following Definitions 1–3, we delineate three classes of PPT algorithmic adversaries. Adversary ( A I ) simulates an eavesdropper with the ability to substitute the u p k I D of the user yet lacks access to Cer t I D . On the other hand, adversary ( A I I ) behaves like a malicious CSP possessing knowledge of m s k but lacking the capability to alter u p k I D . Lastly, adversary ( A I I I ) replicates a compromised CSP with the capacity to fabricate P F but without the ability to retrieve the user’s randomly generated a 1 , , a n . None of the three adversaries, A I , A I I , and A I I I , have privileges to access Cer t I D , u s k I D or a 1 , , a n . The security guarantees of our protocol are substantiated by Theorems 1–3.
Theorem 1.
Assuming the weak k-CAA problem assumption holds in G 1 , it is infeasiblePPT adversary A I to generate a valid proof with a significant advantage ε A I .
Proof. 
The detailed proof is elaborated in Appendix A. □
Theorem 2.
Given the k-CAA assumption in G 1 , no PPT adversary A I I can counterfeit a valid proof with a non-negligible advantage ε A I I .
Proof. 
The thorough proof is accessible in Appendix B. □
Theorem 3.
In the scenario where the CDH assumption holds in e ^ : G 1 × G 1 G T , it is computationally infeasiblePPT adversary A I I I to generate a valid proof with a notable advantage ε A I I I .
Proof. 
The detailed proof can be found in Appendix C. □

5. Performance Analysis

In this section, we conduct a theoretical analysis of the computational complexity associated with Tag Generation and Auditing in various cryptographic protocols, including those proposed by Han et al. [26], Li et al. [30], Shen et al. [46], Li et al. [51], and the protocol presented in this work. Then, we also experimentally simulate these two properties. The specific theoretical and experimental analyses are as follows.

5.1. Analysis of Theoretical Effectiveness

We provide the operational notations in Table 1. The theoretical analysis outcomes of the above protocols are presented in Table 2.

5.2. Analysis of Experimental Simulations

In this section, we present the results of the experimental simulations conducted to evaluate the computational costs associated with Tag Generation and Auditing in various protocols, including the above five protocols. The simulations were performed using the PyCharm IDE with Python 3.8 compiler version. The experiments were conducted on a Linux 5.10.0-8-generic system equipped with an 11th Gen Intel Core i7-11800H @ 2.30-GHz processor. For the design of an 80-bit secure auditing protocol, each element in the group G 1 was required to have a length of 160 bits (20 bytes).
Figure 9, Figure 10 and Figure 11 illustrate the correlation between the time cost of tag generation and the number of data block sectors (n) for the aforementioned protocols, considering dataset sizes of 10 kB, 50 kB, and 100 kB, respectively. From Figure 9, Figure 10 and Figure 11, we find that the time overhead of the protocol proposed in this paper and the time overhead of the protocol proposed by [51] exhibit a gradual decrease as the number of sectors of each block increases. Upon analysis, it is evident that when the dataset size is constant, an increase in the number of sectors for each data block n results in a decrease in the relative value of m. Operations related to m predominantly involve operations on the group, while those associated with n involve operations on the finite field. It is noteworthy that the efficiency of operations on the group is notably lower compared to operations on the finite field, which gives rise to the aforementioned phenomenon. The figures indicate that the computational overhead of the protocol proposed by [51] and our protocol is the lowest among the five protocols. Nevertheless, our proposed protocol exhibits superior security performance.
Figure 12, Figure 13 and Figure 14 display the relationship between the time cost of auditing and the number of auditing challenges (c) for the aforementioned protocols, considering dataset sizes of 10 kB, 50 kB, and 100 kB, respectively. From Figure 12, Figure 13 and Figure 14, the time overhead of the five protocols discussed earlier (excluding the protocol proposed by [46]) increases proportionally with the number of audit challenges. The examination reveals that as the audit file size remains constant, the value of n diminishes with the increase in c. Therefore, based on the expression, it can be inferred that the audit overhead exhibits an almost linear correlation with the rise in c (excluding the protocol proposed by [46]). The figures reveal that the computational overhead of the protocol proposed by [51] and our protocol is the lowest among the five protocols. However, our proposed protocol demonstrates superior security performance.

6. Conclusions

In this study, we initially identified a forgery method capable of forging arbitrary data blocks within the [51] protocol with minimal time overhead. Subsequently, we introduced a secure certificate-based cloud auditing protocol. Analyses affirmed that the efficiency of the protocol presented in this paper surpassed that of the five compared protocols.

Author Contributions

Conceptualization, X.Z. and T.Z.; Methodology, Y.T., X.Z. and T.Z.; Software, Y.T.; Formal analysis, Y.T., X.Z. and T.Z.; Investigation, Y.T.; Resources, T.Z. and W.Z.; Data curation, Y.T.; Writing—original draft, Y.T. and X.Z.; Writing—review & editing, Y.T., T.Z., W.Z., R.L. and X.Y.; Supervision, W.Z.; Project administration, X.Y.; Funding acquisition, T.Z. and X.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (grant nos. 62172436, 62102452), Natural Science Foundation of Shaanxi Province (grant no. 2023-JC-YB-584).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

If a PPT adversary A I possesses the capability to compromise the proposed protocol with advantage ε A I , then there exists another PPT algorithm C that can resolve the k-CAA dilemma. Let us assume that q u , q k , q 1 , q c , q c o r , q 2 , q 3 , q t , q d represent the maximum count of queries made by A I to the U s e r K e y G e n oracle, K e y R e p l a c e oracle, H 1 oracle, C e r t i f y oracle, C o r r u p t i o n oracle, H 2 oracle, H 3 oracle, T a g G e n oracle, and U oracle, respectively.
Game A1.
Suppose that  C  is given a random instance  ( g , g x , g a , g b , h 1 , g a b x + h 1 , , h k , g a b x + h k )  of the weak k-CAA problem, where  x , a , b , h 1 , , h k Z q * , g G 1 . Let  s o l v e w e a k 1 = g a b  or  s o l v e w e a k 2 = ( h * , g a b x + h * )  be the solution to the weak k-CAA problem.  C  solves the weak k-CAA problem by interacting with  A I . The details are as follows:
  • Initialize: C sets p k = g a and creates a list of public parameters P P = G 1 , G T , q , e ^ , g , p k . Then, C gives A I public parameters P P .
  • Random oracle queries: C randomly chooses t [ 1 , q u ] and assumes I D denotes the tth time query to the H 1 oracle. C responds to the query from A I as follows:
    (1) 
    U s e r K e y G e n q u e r y : C maintains an initially empty list L I D ; L I D is used to store the following triples ( I D , u s k I D , u p k I D ) . If A I queries I D in L I D , C returns u p k I D to A I . Otherwise, C performs the following steps. If I D I D , C randomly chooses u s k I D Z q * and computes u p k I D = g u s k I D . Then, C returns ( u s k I D , u p k I D ) to A I and stores ( I D , u s k I D , u p k I D ) in L I D . If I D = I D , C terminates the query.
    (2) 
    K e y R e p l a c e q u e r y : when C received a new pair ( u s k * , u p k * ) for I D (it can be any ID already in L I D ), and u p k * = g u s k * holds, C stores ( I D , u s k * , u p k * ) in L I D .
    (3) 
    H 1 q u e r y : C maintains an initially empty list L 1 ; L 1 is used to store the following triples ( I D , H 1 I D , u p k I D , α I D ) . If A I queries ( I D , u p k I D ) in L 1 , C returns H 1 I D , u p k I D to A I . Otherwise, C performs the following steps. If I D I D , C randomly chooses α I D Z q * and sets H 1 I D , u p k I D = g α I D . If I D = I D , C sets H 1 I D , u p k I D = g b . Then, C returns H 1 I D , u p k I D to A I and stores ( I D , H 1 I D , u p k I D , α I D ) in L 1 .
    (4) 
    C e r t i f y q u e r y : C maintains an initially empty list L c ; L c is used to store the following binary group ( I D , C e r t I D ) . If A I queries I D in L c , C returns C e r t I D to A I . Otherwise, C performs the following steps. If I D I D , C sets C e r t I D = ( g a ) α I D . Then, C returns C e r t I D to A I and stores ( I D , C e r t I D ) in L c . If I D = I D , C terminates the query.
    (5) 
    C o r r u p t i o n q u e r y : If I D L I D or I D = I D , C terminates the query. Otherwise, C sends u s k I D to A I from L I D .
    (6) 
    H 2 q u e r y : C maintains an initially empty list L 2 ; L 2 is used to store the following pluralist group ( I D , d s , t , g j j = 1 n , R I D , m , n , H 2 , c o i n ) . If A I queries I D , d s , t in L 2 , C returns H ^ to A I . Otherwise, C performs the following steps. Firstly, C tosses a coin, whose v a l u e { 0 , 1 } . We specify that during the coin toss, Pr c o i n = 1 = P H 2 , Pr c o i n = 0 = 1 P H 2 . If I D I D , we randomly choose H ^ Z q * and set c o i n = 0 . If I D = I D and c o i n = 1 , we randomly choose H ^ { h 1 , , h k } ; else, we randomly choose H ^ { h 1 , , h k } . Then, C returns H ^ to A I and stores ( I D , d s , t , g j j = 1 n , R I D , m , n , H 2 , c o i n ) in L 2 .
    (7) 
    H 3 q u e r y : C maintains an initially empty list L 3 ; L 3 is used to store the following pluralist group ( I D , τ , y i i = 1 m ) . If A I queries ( I D , τ ) in L 3 , C returns y i i = 1 m to A I . Otherwise, C randomly chooses y i i = 1 m G 1 . Then, C returns y i i = 1 m to A I and stores ( I D , τ , y i i = 1 m ) in L 3 .
    (8) 
    U q u e r y : C maintains an initially empty list L u ; L u is used to store the following pluralist group ( I D , F , d s , t , U , R I D , g j j = 1 n ) . Firstly, A I randomly chooses an encrypted dataset F = m 1 , , m m with timestamp t. The dataset name is d s . Secondly, C randomly chooses r I D , a 1 , , a n Z q * and sets R I D = g r I D , g j j = 1 n = g a j j = 1 n . Then, C performs the following steps. If I D I D , we set U = C e r t I D 1 u s k I D + H ^ and c o i n = 0 . If I D = I D and c o i n = 0 , we set U = g a b 1 x + h , h { h 1 , , h k } ; else, C terminates the query. Finally, C sends τ = ( g j j = 1 n , R , U , d s , t , m , n ) to A I and stores ( I D , F , τ ) in L u .
    (9) 
    T a g G e n q u e r y : C maintains an initially empty list L T ; L T is used to store the following pluralist group ( I D , F , τ , σ i i = 1 m ) . If A I queries tags σ i i = 1 m in L T for dataset F = { m 1 , , m m } , m i , σ i i = 1 m is returned to A I . Otherwise, C performs the following steps. If I D = I D and c o i n = 1 , C terminates the query; else, C sets σ i = y i · g j = 1 n a j · m i j r I D and stores ( I D , F , τ , σ i i = 1 m ) in L T .Finally, C sends m i , σ i i = 1 m to A I .
    (10) 
    P r o o f C h e c k q u e r y : First, C generates a c h a l = { i , c i : i I } to A I . Then, A I generates a proof P F = { τ , m , σ } to C , where m = i I c i · m i , σ = i I σ i c i . Finally, C audits P F and sends 0 ( r e j e c t ) or 1 ( a c c e p t ) to A I .
  • Forge: A I wins in Game A1 if the following conditions are met:
    (1) 
    A I can forge a tuple ( I D * , u p k * , c h a l * , P F * ) .
    (2) 
    A I has never queried C e r t i f y on I D * .
    (3) 
    A I has never queried U on ( I D * , F * , d s * , t * ) .
    (4) 
    A I has never queried T a g G e n on ( I D * , F * , d s * , t * ) .
    (5) 
    P r o o f C h e c k q u e r y outputs 1.
    Therefore, A I wants to win Game A1 by constructing U * that satisfies the condition via Equation (A1).
    e ^ U * , u p k * · g h * = e ^ H 1 I D * , u p k * , p k e ^ U * , g u s k * · g h * = e ^ ( g b , g a ) e ^ U * , g u s k * + h * = e ^ g , g a b e ^ U * , g = e ^ ( ( g a b ) 1 u s k * + h * , g )
    That is, A I can forge U * = ( g a b 1 u s k * + h * to win Game A1.
  • Outputs: From the above steps, it follows that C can solve for s o l v e w e a k 1 = g a b = U * u s k * + h * by A I forging U * when C satisfies the following two conditions:
    (1) 
    C does not terminate the query.
    (2) 
    A I wins Game A1.
    From Game A1, the following conditions need to be satisfied simultaneously to fulfill Condition (1):
    (1) 
    The probability that C does not terminate the U s e r K e y G e n q u e r y is minimized as 1 1 q u q u .
    (2) 
    The probability that C does not terminate the C e r t i f y q u e r y is minimized as 1 1 q c q c .
    (3) 
    The probability that C does not terminate the C o r r u p t i o n q u e r y is minimized as 1 1 q u q c o r .
    (4) 
    The probability that C does not terminate the U q u e r y is minimized as 1 P H 2 q d q d .
    (5) 
    The probability that C does not terminate the T a g G e n q u e r y is minimized as 1 P H 2 q t q t .
    From Game A1, the following conditions need to be satisfied simultaneously to fulfill Condition (2):
    (1) 
    In the H 1 q u e r y , A I can ask H ^ h 1 , , h k within the number of queries, whose probability is minimized to 1 q 1 .
    (2) 
    In the H 2 q u e r y , A I can ask γ I D , i within the number of queries, whose probability is minimized to 1 1 P H 2 q 2 q 2 .
Here, it is assumed that A I can attack the protocol with a non-negligible advantage ε A I . Then, C can solve g a b with a non-negligible advantage ε . Among them, ε 1 1 q c q c 1 1 q u q u + q c o r 1 P H 2 q d q d 1 P H 2 q t q t 1 1 P H 2 q 2 q 2 1 q 1 ε A I (number of queries T q u + q k + q 1 + q c + q c o r + q 2 + q 3 + q t + q d ). However, from Definition 2, there exists no C that can solve the weak k-CAA problem in T queries with an ε advantage, and thus no A I that can attack the protocol with an ε A I advantage.

Appendix B

If an adversary A I I in a PPT setting can successfully compromise the proposed protocol with advantage ε A I I , then there exists another PPT algorithm C capable of solving the k-CAA problem. Let us consider q u , q 1 , q c o r , q 2 , q 3 , q t , q d as the maximum allowable number of queries posed by A I I to the U s e r K e y G e n oracle, H 1 oracle, C o r r u p t i o n oracle, H 2 oracle, H 3 oracle, T a g G e n oracle, and U oracle, respectively.
Game A2.
Suppose that C is given a random instance g , g x , h 1 , g 1 x + h 1 , , h k , g 1 x + h k of the k-CAA problem, where x , h 1 , , h k Z q * , g G 1 . Let s o l v e k C A A = ( h * , g 1 x + h * ) be the solution to the k-CAA problem. C solves the k-CAA problem by interacting with A I I . The details are as follows:
  • Initialize: C randomly chooses s Z q * , sets p k = g s , and creates a list of public parameters P P = G 1 , G T , q , e ^ , g , p k . Then, C gives A I I public parameters P P and s.
  • Random oracle queries: C randomly chooses t [ 1 , q u ] and assumes I D denotes the tth time query to the H 1 oracle. C responds to the query from A I I as follows:
    (1) 
    U s e r K e y G e n q u e r y : C maintains an initially empty list L I D , L I D is used to store the following triples ( I D , u s k I D , u p k I D ) . If A I I queries I D in L I D , C returns u p k I D to A I I . Otherwise, C performs the following steps. If I D I D , C randomly chooses u s k I D Z q * , and computes u p k I D = g u s k I D . And then, C returns ( u s k I D , u p k I D ) to A I I and stores ( I D , u s k I D , u p k I D ) in L I D . If I D = I D , C terminate the query.
    (2) 
    H 1 q u e r y : C maintains an initially empty list L 1 ; L 1 is used to store the following triples ( I D , H 1 I D , u p k I D , α I D ) . If A I I queries ( I D , u p k I D ) in L 1 , C returns H 1 I D , u p k I D to A I I . Otherwise, C randomly chooses α I D Z q * and sets H 1 I D , u p k I D = g α I D . Then, C returns H 1 I D , u p k I D to A I I and stores ( I D , H 1 I D , u p k I D , α I D ) in L 1 .
    (3) 
    C o r r u p t i o n q u e r y : If I D L I D or I D = I D , C terminates the query. Otherwise, C sends u s k I D to A I I from L I D .
    (4) 
    H 2 q u e r y : C maintains an initially empty list L 2 ; L 2 is used to store the following pluralist group ( I D , d s , t , g j j = 1 n , R I D , m , n , H 2 , c o i n ) . If A I I queries I D , d s , t in L 2 , C returns H ^ to A I I . Otherwise, C performs the following steps. First, C tosses a coin, whose v a l u e { 0 , 1 } . We specify that during the coin toss, Pr c o i n = 1 = P H 2 , Pr c o i n = 0 = 1 P H 2 . If I D I D , we randomly choose H ^ Z q * and set c o i n = 0 . If I D = I D and c o i n = 1 , we randomly choose H ^ { h 1 , , h k } ; else, we randomly choose H ^ { h 1 , , h k } . Then, C returns H ^ to A I I and stores ( I D , d s , t , g j j = 1 n , R I D , m , n , H 2 , c o i n ) in L 2 .
    (5) 
    H 3 q u e r y : C maintains an initially empty list L 3 ; L 3 is used to store the following pluralist group ( I D , τ , y i i = 1 m ) . If A I I queries ( I D , τ ) in L 3 , C returns y i i = 1 m to A I I . Otherwise, C randomly chooses y i i = 1 m G 1 . Then, C returns y i i = 1 m to A I I and stores ( I D , τ , y i i = 1 m ) in L 3 .
    (6) 
    U q u e r y : C maintains an initially empty list L u ; L u is used to store the following pluralist group ( I D , F , d s , t , U , R I D , g j j = 1 n ) . Firstly, A I I randomly chooses encrypted dataset F = m 1 , , m m with timestamp t. The dataset name is d s . Secondly, C randomly chooses r I D , a 1 , , a n Z q * , and sets R I D = g r I D , g j j = 1 n = g a j j = 1 n . Then, C performs the following steps. If I D I D , we set U = g s · α I D 1 u s k I D + H ^ and set c o i n = 0 . If I D = I D and c o i n = 0 , we set U = g s · α I D 1 x + h , h { h 1 , , h k } , else C terminates the query. Finally, C sends τ = ( g j j = 1 n , R , U , d s , t , m , n ) to A I I and stores ( I D , F , τ ) in L u .
    (7) 
    T a g G e n q u e r y : C maintains an initially empty list L T ; L T is used to store the following pluralist group ( I D , F , τ , σ i i = 1 m ) . If A I I queries tags σ i i = 1 m in L T for dataset F = { m 1 , , m m } , it returns m i , σ i i = 1 m to A I I . Otherwise, C performs the following steps. If I D = I D and c o i n = 1 , C terminates the query; else, C sets σ i = y i · g j = 1 n a j · m i j r I D and stores ( I D , F , τ , σ i i = 1 m ) in L T .Finally, C sends m i , σ i i = 1 m to A I I .
    (8) 
    P r o o f C h e c k q u e r y : First, C generates a c h a l = { i , c i : i I } to A I I . Then, A I I generates a proof P F = { τ , m , σ } to C , where m = i I c i · m i , σ = i I σ i c i . Finally, C audits P F and sends 0 ( r e j e c t ) or 1 ( a c c e p t ) to A I I .
  • Forge: For A I I to win in Game A2, the following conditions need to be met.
    (1) 
    A I I can forge a tuple ( I D * , u p k * , d s * , c h a l * , P F * ) .
    (2) 
    A I I has never queried C o r r u p t i o n on I D * .
    (3) 
    A I I has never queried U on ( I D * , F * , d s * , t * ) .
    (4) 
    A I I has never queried T a g G e n on ( I D * , F * , d s * , u s k * ) .
    (5) 
    P r o o f C h e c k q u e r y outputs 1.
    Therefore, A I I wants to win Game A2 by constructing U * that satisfies the condition via Equation (A2).
    e ^ U * , u p k * · g h * = e ^ H 1 I D * , u p k * , p k e ^ U * , g u s k * · g h * = e ^ ( g α I D * , g s ) e ^ U * , g u s k * + h * = e ^ g s · α I D * , g e ^ U * , g = e ^ ( g s · α I D * 1 u s k * + h * , g )
    That is, A I I can forge U * = g s · α I D * 1 u s k * + h * to win Game A2.
  • Outputs: From the above steps, it follows that C can solve for s o l v e k C A A = h * , g 1 x + h * = ( h * , U * 1 s · α I D * ) by A I I forging U * when C satisfies the following two conditions:
    (1) 
    C does not terminate the query.
    (2) 
    A I I wins Game A2.
    From Game A2, the following conditions need to be satisfied simultaneously to fulfill Condition (1):
    (1) 
    The probability that C does not terminate the U s e r K e y G e n q u e r y is minimized as 1 1 q u q u .
    (2) 
    The probability that C does not terminate the C o r r u p t i o n q u e r y is minimized as 1 1 q u q c o r .
    (3) 
    The probability that C does not terminate the U q u e r y is minimized as 1 P H 2 q d q d .
    (4) 
    The probability that C does not terminate the T a g G e n q u e r y is minimized as 1 P H 2 q t q t .
    From Game A2, the following conditions need to be satisfied simultaneously to fulfill Condition (2):
    (1) 
    In the H 1 q u e r y , A I I can ask H ^ h 1 , , h k within the number of queries, whose probability is minimized to 1 q 1 .
    (2) 
    In the H 2 q u e r y , A I I can ask γ I D , i within the number of queries, whose probability is minimized to 1 1 P H 2 q 2 q 2 .
Here, it is assumed that A I I can attack the protocol with a non-negligible advantage ε A I I . Then, C can output a new pair h * , g 1 x + h * with a non-negligible advantage ε . Among them, ε 1 1 q u q u + q c o r 1 P H 2 q d q d 1 P H 2 q t q t 1 1 P H 2 q 2 q 2 1 q 1 ε A I I (number of queries T q u + q 1 + q c o r + q 2 + q 3 + q t + q d ). However, from Definition 1, there exists no C that can solve the k-CAA problem in T queries with an ε advantage, and thus no A I I that can attack the protocol with an ε A I I advantage.

Appendix C

If a PPT adversary A I I I is capable of undermining the proposed protocol with advantage ε A I I I , then another PPT algorithm C exists that can effectively tackle the CDH problem. Let us assume q u , q c , q 2 , q 3 , q t , q d represent the maximum allowable numbers of queries made by A I I I to the U s e r K e y G e n oracle, C e r t i f y oracle, H 2 oracle, H 3 oracle, T a g G e n oracle, and U oracle, respectively.
Game A3.
Suppose that C is given a random instance g , g a , g b of the CDH problem, where g G 1 , a , b Z q * . Let s o l v e C D H = g a b be the solution to the CDH problem. C solves the CDH problem by interacting with A I I I . The details are as follows:
  • Initialize: C sets p k = g a and creates a list of public parameters P P = G 1 , G T , q , e ^ , g , p k . Then, C gives A I I I public parameters P P .
  • Random oracle queries: C randomly chooses t [ 1 , q u ] and assumes I D denotes the tth time query to the H 1 oracle. C responds to the query from A I I I as follows:
    (1) 
    U s e r K e y G e n q u e r y : C maintains an initially empty list L I D ; L I D is used to store the following triples ( I D , u s k I D , u p k I D ) . If A I I I queries I D in L I D , C returns u p k I D to A I I I . Otherwise, C performs the following steps. If I D I D , C randomly chooses u s k I D Z q * , and computes u p k I D = g u s k I D . Then, C returns ( u s k I D , u p k I D ) to A I I I and stores ( I D , u s k I D , u p k I D ) in L I D . If I D = I D , C terminates the query.
    (2) 
    C e r t i f y q u e r y : If A I I I queries Cer t I D in L c , C returns Cer t I D to A I I I . Otherwise, C performs the following steps.
    (1) 
    If I D I D , C randomly chooses α I D Z q * , sets H 1 I D , u p k I D = g α I D and C e r t I D = H 1 I D , u p k I D a = g α I D · a , and then returns H 1 I D , u p k I D , C e r t I D to A I I I . C stores ( I D , H 1 I D , u p k I D , C e r t I D ) in L c .
    (2) 
    If I D = I D , C sets H 1 I D , u p k I D = g b , and C e r t I D = . Then, C stores ( I D , H 1 I D , u p k I D , ) in L c and terminates the query.
    (3) 
    H 2 q u e r y : If A I I I queries H 2 I D , d s , t , g j j = 1 n , R I D , m , n in L 2 , C returns it to A I I I . Otherwise, C randomly chooses β , r Z q * and performs the following steps:
    (1) 
    If I D I D , C sets H 2 I D , d s , t , g j j = 1 n , R I D , m , n = β , R = g r , c o i n = 0 andthen returns β to A I I I . C stores ( I D , β , R , 0 , r ) in L 2 .
    (2) 
    If I D = I D , C tosses a coin, whose v a l u e { 0 , 1 } . We specify that during the coin toss, Pr c o i n = 1 = P H 2 , Pr c o i n = 0 = 1 P H 2 , and we terminate the query if and only if c o i n = 1 . When c o i n = 1 , we set H 2 I D , d s , t , g j j = 1 n , R , m , n = β , R = g b · r . When c o i n = 0 , we set H 2 I D , d s , t , g j j = 1 n , R I D , m , n = β , R = g r . Then, C returns β to A I I I and stores ( I D , β , R , c o i n , r ) in L 2 .
    (4) 
    U q u e r y : If A I I I queries U in L u , C returns U to A I I I . Otherwise, C performs the following steps:
    (1) 
    If I D I D , C performs the following steps. Firstly, C extracts Cer t I D from L c ; if it does not exist, C extracts Cer t I D after executing the C e r t i f y q u e r y . Secondly, C extracts u s k I D from L I D ; if not present, C extracts u s k I D after executing the U s e r K e y G e n q u e r y . Then, C extracts β from L 2 ; if not present, C extracts β after executing the H 2 q u e r y . Finally, C calculates U = g α I D · a 1 u s k I D + β and stores ( I D , U I D , 0 ) in L u .
    (2) 
    If I D = I D , C tosses a coin, whose v a l u e { 0 , 1 } . We specify that during the coin toss, Pr c o i n = 1 = P U , Pr c o i n = 0 = 1 P U . When c o i n = 1 , we set U = and terminate the query. When c o i n = 0 , C extracts u s k I D from L I D ; if not present, C extracts u s k I D after executing U s e r K e y G e n q u e r y . Then, C extracts β from L 2 ; if not present, C extracts β after executing H 2 q u e r y . Finally, C sets U = g a b 1 u s k I D + β and stores ( I D , U , c o i n ) in L u .
    (5) 
    H 3 q u e r y : If A I I I queries H 3 I D , i , τ in L 3 , C returnsit to A I I I . Otherwise, C performs the following steps. C randomly chooses γ I D , i G 1 and sets H 3 I D , i , τ = γ I D , i . Then, C stores ( I D , i , γ I D , i ) in L 3 and returns γ I D , i to A I I I .
    (6) 
    T a g G e n q u e r y : If A I I I queries σ i in L T , C returnsit to A I I I . Otherwise, C performs the following steps. Firstly, C randomly chooses δ 1 , , δ n , v i 1 , , v i n Z q * and sets g j = g δ j . Secondly, C extracts H 3 I D , i , τ from L 3 ; if it does not exist, C executes the H 3 q u e r y and then extracts H 3 I D , i , τ . Thirdly, C extracts r from L 2 ; if not present, C extracts r after executing the H 2 q u e r y . Then, C looks at the corresponding coin value, and when c o i n = 1 , C calculates σ i = γ I D , i · g j = 1 n δ j v i j b · r and stores ( I D , i , δ j j = 1 n , v i j j = 1 n , σ i ) in L T . When c o i n = 0 , C calculates σ i = γ I D , i · g j = 1 n δ j v i j r and stores ( I D , i , δ j j = 1 n , v i j j = 1 n , σ i ) in L T . Finally, C sends ( σ i , g j j = 1 n ) to A I I I .
  • Auditing: We suppose that A I I I can forge ( U * , ( m * , σ * ) ) for I D by the above steps and can pass the challenge of C .
    (1) 
    A I I I constructs U * by calculating Equation (A3).
    e ^ U * , g u s k I D · g β = e ^ ( g b , g a ) e ^ ( U * , g u s k I D + β ) = e ^ ( g a b , g ) e ^ U * , g = e ^ g a b 1 u s k I D + β , g
    That is, A I I I can forge U * = g a b 1 u s k I D + β to pass the check.
    (2) 
    A I I I derives σ * for m * by calculating the following equation.
    (1) 
    If c o i n = 1 , e ^ σ * , g = e ^ γ I D , i · j = 1 n g j m j * b · r , g , that is, A I I I can forge σ * = γ I D , i · j = 1 n g j m j * b · r to pass the check.
    (2) 
    If c o i n = 0 , e ^ σ * , g = e ^ γ I D , i · j = 1 n g j m j * r , g , that is, A I I I can forge σ * = γ I D , i · j = 1 n g j m j * r to pass the check.
  • Outputs: From the above steps, it follows that C can solve for s o l v e C D H = g a b = U * u s k I D + β by A I I I forging U * when C satisfies the following two conditions:
    (1) 
    C does not terminate the query.
    (2) 
    A I I I wins Game A3.
    From Game A3, the following conditions need to be satisfied simultaneously to fulfill Condition (1):
    (1) 
    The probability that C does not terminate the C e r t i f y q u e r y is minimized as 1 1 q c q c .
    (2) 
    The probability that C does not terminate the H 2 q u e r y is minimized as 1 P H 2 q 2 q 2 .
    (3) 
    The probability that C does not terminate the U q u e r y is minimized as 1 P U q d q d .
    From Game A3, the following conditions need to be satisfied simultaneously to fulfill Condition (2):
    (1) 
    In the U s e r K e y G e n q u e r y , A I I I can ask I D , u s k I D , u p k I D within the number of queries, whose probability is minimized to 1 q u .
    (2) 
    In the H 3 q u e r y , A I I I can ask γ I D , i within the number of queries, whose probability is minimized to 1 q 3 .
Here, it is assumed that A I I I can attack the protocol with a non-negligible advantage ε A I I I . Then, C can solve g a b with a non-negligible advantage ε . Among them, ε 1 1 q c q c 1 P H 2 q 2 q 2 1 P U q d q d 1 q u · q 3 ε A I I I (number of queries T q u + q c + q 2 + q 3 + q t + q d ). However, from Definition 3, there exists no C that can solve the CDH problem in T queries with an ε advantage, and thus no A I I I that can attack the protocol with an ε A I I I advantage.

References

  1. Kim, H.; Rigo, B.; Wong, G.; Lee, Y.J.; Yeo, W.H. Advances in Wireless, Batteryless, Implantable Electronics for Real-Time, Continuous Physiological Monitoring. Nano-Micro Lett. 2023, 16, 52. [Google Scholar] [CrossRef] [PubMed]
  2. Microsoft/SEAL. Microsoft. 2024. Available online: https://github.com/microsoft/SEAL (accessed on 18 April 2024).
  3. Di Matteo, S.; Gerfo, M.L.; Saponara, S. VLSI Design and FPGA Implementation of an NTT Hardware Accelerator for Homomorphic SEAL-Embedded Library. IEEE Access 2023, 11, 72498–72508. [Google Scholar] [CrossRef]
  4. Homenc/HElib. Homenc. 2024. Available online: https://github.com/homenc/HElib (accessed on 15 March 2024).
  5. PALISADE Homomorphic Encryption Software Library—An Open-Source Lattice Crypto Software Library. Available online: https://palisade-crypto.org/ (accessed on 15 March 2024).
  6. Deswarte, Y.; Quisquater, J.J.; Saïdane, A. Remote Integrity Checking. In Integrity and Internal Control in Information Systems VI, Proceedings of the IFIP TC11/WG11.5 Sixth Working Conference on Integrity and Internal Control in Information Systems (IICIS), Lausanne, Switzerland, 13–14 November 2003; Jajodia, S., Strous, L., Eds.; Springer: Boston, MA, USA, 2004; pp. 1–11. [Google Scholar] [CrossRef]
  7. Oprea, A.; Reiter, M. Space-Efficient Block Storage Integrity. In Proceedings of the Network and Distributed System Security Symposium, NDSS 2005, San Diego, CA, USA, 1 January 2005. [Google Scholar]
  8. Schwarz, T.; Miller, E. Store, Forget, and Check: Using Algebraic Signatures to Check Remotely Administered Storage. In Proceedings of the 26th IEEE International Conference on Distributed Computing Systems (ICDCS’06), Lisboa, Portugal, 4–7 July 2006; p. 12. [Google Scholar] [CrossRef]
  9. 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, 31 October–2 November 2007; pp. 598–609. [Google Scholar] [CrossRef]
  10. Shacham, H.; Waters, B. Compact Proofs of Retrievability. In Proceedings of the Advances in Cryptology—ASIACRYPT 2008, Melbourne, Australia, 7–11 December 2008; Pieprzyk, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 90–107. [Google Scholar] [CrossRef]
  11. Boneh, D.; Lynn, B.; Shacham, H. Short Signatures from the Weil Pairing. J. Cryptol. 2004, 17, 297–319. [Google Scholar] [CrossRef]
  12. Armknecht, F.; Bohli, J.M.; Karame, G.; Li, W. Outsourcing Proofs of Retrievability. IEEE Trans. Cloud Comput. 2018, 9, 286–301. [Google Scholar] [CrossRef]
  13. Bowers, K.D.; Juels, A.; Oprea, A. Proofs of Retrievability: Theory and Implementation. In Proceedings of the 2009 ACM Workshop on Cloud Computing Security, Chicago, IL, USA, 13 November 2009; CCSW’09. pp. 43–54. [Google Scholar] [CrossRef]
  14. Cash, D.; Küpçü, A.; Wichs, D. Dynamic Proofs of Retrievability Via Oblivious RAM. J. Cryptol. 2017, 30, 22–57. [Google Scholar] [CrossRef]
  15. Cui, H.; Wan, Z.; Gao, R.; Wang, H. Outsourced Privately Verifiable Proofs of Retrievability Via Blockchain. IEEE Trans. Dependable Secur. Comput. 2023, 1–18. [Google Scholar] [CrossRef]
  16. Hao, Z.; Zhong, S.; Yu, N. A Privacy-Preserving Remote Data Integrity Checking Protocol with Data Dynamics and Public Verifiability. IEEE Trans. Knowl. Data Eng. 2011, 23, 1432–1437. [Google Scholar] [CrossRef]
  17. Nayak, S.K.; Tripathy, S. SEPDP: Secure and Efficient Privacy Preserving Provable Data Possession in Cloud Storage. IEEE Trans. Serv. Comput. 2018, 14, 876–888. [Google Scholar] [CrossRef]
  18. Wang, H. Proxy Provable Data Possession in Public Clouds. IEEE Trans. Serv. Comput. 2013, 6, 551–559. [Google Scholar] [CrossRef]
  19. Wang, Q.; Wang, C.; Ren, K.; Lou, W.; Li, J. Enabling Public Auditability and Data Dynamics for Storage Security in Cloud Computing. IEEE Trans. Parallel Distrib. Syst. 2011, 22, 847–859. [Google Scholar] [CrossRef]
  20. Xiong, L.; Goryczka, S.; Sunderam, V. Adaptive, Secure, and Scalable Distributed Data Outsourcing: A Vision Paper. In Proceedings of the 2011 Workshop on Dynamic Distributed Data-Intensive Applications, Programming Abstractions, and Systems, San Jose, CA, USA, 8 June 2011; 3DAPAS ’11. pp. 1–6. [Google Scholar] [CrossRef]
  21. Zhang, X.; Zhao, J.; Xu, C.; Li, H.; Wang, H.; Zhang, Y. CIPPPA: Conditional Identity Privacy-Preserving Public Auditing for Cloud-Based WBANs against Malicious Auditors. IEEE Trans. Cloud Comput. 2019, 9, 1362–1375. [Google Scholar] [CrossRef]
  22. Zheng, Q.; Xu, S. Fair and Dynamic Proofs of Retrievability. In Proceedings of the First ACM Conference on Data and Application Security and Privacy, San Antonio, TX, USA, 21–23 February 2011; CODASPY’11. pp. 237–248. [Google Scholar] [CrossRef]
  23. Zhu, Y.; Hu, H.; Ahn, G.J.; Yu, M. Cooperative Provable Data Possession for Integrity Verification in Multicloud Storage. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 2231–2244. [Google Scholar] [CrossRef]
  24. Zhu, Y.; Hu, H.; Ahn, G.J.; Han, Y.; Chen, S. Collaborative Integrity Verification in Hybrid Clouds. In Proceedings of the 7th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), Orlando, FL, USA, 15–18 October 2011; pp. 191–200. [Google Scholar]
  25. Zhu, Y.; Wang, H.; Hu, Z.; Ahn, G.J.; Hu, H.; Yau, S.S. Efficient Provable Data Possession for Hybrid Clouds. In Proceedings of the 17th ACM Conference on Computer and Communications Security, Chicago, IL, USA, 4–8 October 2010; CCS’10. pp. 756–758. [Google Scholar] [CrossRef]
  26. Han, J.; Li, Y.; Yu, Y.; Ding, Y. Cloud Auditing Scheme with Dynamic Revocation of Users and Real-Time Updates of Data. J. Softw. 2020, 31, 578–596. [Google Scholar] [CrossRef]
  27. Diffie, W. New Directions in Cryptography. IEEE Trans. Inf. Theory 1976, IT-22, 644–654. [Google Scholar] [CrossRef]
  28. Chang, J.; Shao, B.; Ji, Y.; Bian, G. Efficient Identity-Based Provable Multi-Copy Data Possession in Multi-Cloud Storage, Revisited. IEEE Commun. Lett. 2020, 24, 2723–2727. [Google Scholar] [CrossRef]
  29. Chen, D.; Yuan, H.; Hu, S.; Wang, Q.; Wang, C. BOSSA: A Decentralized System for Proofs of Data Retrievability and Replication. IEEE Trans. Parallel Distrib. Syst. 2021, 32, 786–798. [Google Scholar] [CrossRef]
  30. Li, J.; Yan, H.; Zhang, Y. Efficient Identity-Based Provable Multi-Copy Data Possession in Multi-Cloud Storage. IEEE Trans. Cloud Comput. 2022, 10, 356–365. [Google Scholar] [CrossRef]
  31. Ni, J.; Zhang, K.; Yu, Y.; Yang, T. Identity-Based Provable Data Possession From RSA Assumption for Secure Cloud Storage. IEEE Trans. Dependable Secur. Comput. 2022, 19, 1753–1769. [Google Scholar] [CrossRef]
  32. 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]
  33. Wang, H.; He, D.; Tang, S. Identity-Based Proxy-Oriented Data Uploading and Remote Data Integrity Checking in Public Cloud. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1165–1176. [Google Scholar] [CrossRef]
  34. Wang, H. Identity-Based Distributed Provable Data Possession in Multicloud Storage. IEEE Trans. Serv. Comput. 2015, 8, 328–340. [Google Scholar] [CrossRef]
  35. 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]
  36. Wang, H.; Wu, Q.; Qin, B.; Domingo-Ferrer, J. Identity-Based Remote Data Possession Checking in Public Clouds. IET Inf. Secur. 2014, 8, 114–121. [Google Scholar] [CrossRef]
  37. Wang, Y.; Wu, Q.; Qin, B.; Shi, W.; Deng, R.H.; Hu, J. Identity-Based Data Outsourcing with Comprehensive Auditing in Clouds. IEEE Trans. Inf. Forensics Secur. 2016, 12, 940–952. [Google Scholar] [CrossRef]
  38. Yang, Y.; Chen, Y.; Chen, F.; Chen, J. An Efficient Identity-Based Provable Data Possession Protocol with Compressed Cloud Storage. IEEE Trans. Inf. Forensics Secur. 2022, 17, 1359–1371. [Google Scholar] [CrossRef]
  39. Yu, Y.; Au, M.H.; Ateniese, G.; Huang, X.; Susilo, W.; Dai, Y.; Min, G. Identity-Based Remote Data Integrity Checking with Perfect Data Privacy Preserving for Cloud Storage. IEEE Trans. Inf. Forensics Secur. 2016, 12, 767–778. [Google Scholar] [CrossRef]
  40. Zhang, Y.; Yu, J.; Hao, R.; Wang, C.; Ren, K. Enabling Efficient User Revocation in Identity-Based Cloud Storage Auditing for Shared Big Data. IEEE Trans. Dependable Secur. Comput. 2018, 17, 608–619. [Google Scholar] [CrossRef]
  41. Pang, X.; Wang, T.; Chen, W.; Ren, M. Batch Provable Data Possession Scheme with Error Locating. J. Softw. 2018, 30, 362–380. [Google Scholar] [CrossRef]
  42. Shamir, A. Identity-Based Cryptosystems and Signature Schemes. In Advances in Cryptology; Blakley, G.R., Chaum, D., Eds.; Springer: Berlin/Heidelberg, Germany, 1985; pp. 47–53. [Google Scholar] [CrossRef]
  43. Deng, L.; Chen, Z.; Ruan, Y.; Zhou, H.; Li, S. Certificateless Provable Data Possession Scheme Suitable for Smart Grid Management Systems. IEEE Syst. J. 2023, 17, 4245–4256. [Google Scholar] [CrossRef]
  44. He, D.; Kumar, N.; Zeadally, S.; Wang, H. Certificateless Provable Data Possession Scheme for Cloud-Based Smart Grid Data Management Systems. IEEE Trans. Ind. Inform. 2017, 14, 1232–1241. [Google Scholar] [CrossRef]
  45. Li, J.; Yan, H.; Zhang, Y. Certificateless Public Integrity Checking of Group Shared Data on Cloud Storage. IEEE Trans. Serv. Comput. 2018, 14, 71–81. [Google Scholar] [CrossRef]
  46. Shen, J.; Zeng, P.; Choo, K.K.R.; Li, C. A Certificateless Provable Data Possession Scheme for Cloud-Based EHRs. IEEE Trans. Inf. Forensics Secur. 2023, 18, 1156–1168. [Google Scholar] [CrossRef]
  47. Wang, B.; Li, B.; Li, H.; Li, F. Certificateless Public Auditing for Data Integrity in the Cloud. In Proceedings of the 2013 IEEE Conference on Communications and Network Security (CNS), National Harbor, MD, USA, 14–16 October 2013; pp. 136–144. [Google Scholar] [CrossRef]
  48. Zhou, L.; Fu, A.; Yang, G.; Wang, H.; Zhang, Y. Efficient Certificateless Multi-Copy Integrity Auditing Scheme Supporting Data Dynamics. IEEE Trans. Dependable Secur. Comput. 2022, 19, 1118–1132. [Google Scholar] [CrossRef]
  49. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. In Advances in Cryptology—ASIACRYPT 2003; Laih, C.S., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 452–473. [Google Scholar] [CrossRef]
  50. Gentry, C. Certificate-Based Encryption and the Certificate Revocation Problem. In Advances in Cryptology—EUROCRYPT 2003; Biham, E., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 272–293. [Google Scholar] [CrossRef]
  51. Li, Y.; Zhang, F. An Efficient Certificate-Based Data Integrity Auditing Protocol for Cloud-Assisted WBANs. IEEE Internet Things J. 2022, 9, 11513–11523. [Google Scholar] [CrossRef]
  52. Milnor, J.W.; Husemoller, D. Symmetric Bilinear Forms; Springer: Berlin/Heidelberg, Germany, 1973; Volume 73. [Google Scholar] [CrossRef]
  53. Mitsunari, S.; Sakai, R.; Kasahara, M. A New Traitor Tracing. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2002, 85, 481–484. [Google Scholar]
  54. Liu, J.K.; Bao, F.; Zhou, J. Short and Efficient Certificate-Based Signature. In NETWORKING 2011 Workshops; Casares-Giner, V., Manzoni, P., Pont, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 167–178. [Google Scholar] [CrossRef]
  55. Wang, C.; Chow, S.S.; Wang, Q.; Ren, K.; Lou, W. Privacy-Preserving Public Auditing for Secure Cloud Storage. IEEE Trans. Comput. 2013, 62, 362–375. [Google Scholar] [CrossRef]
  56. Maas, M. Pairing-Based Cryptography. Master’s Thesis, Technische Universiteit Eindhoven, Department of Mathematics and Computing Science, Eindhoven, The Netherlands, 2004. [Google Scholar]
Figure 1. The operation of a typical medical sensor network.
Figure 1. The operation of a typical medical sensor network.
Mathematics 12 01964 g001
Figure 2. The difference between the legitimate CSP and the dishonest CSP.
Figure 2. The difference between the legitimate CSP and the dishonest CSP.
Mathematics 12 01964 g002
Figure 3. The time cost of computing intermediate value M i .
Figure 3. The time cost of computing intermediate value M i .
Mathematics 12 01964 g003
Figure 4. The lowest time cost of forging each data block m k * .
Figure 4. The lowest time cost of forging each data block m k * .
Mathematics 12 01964 g004
Figure 5. The time cost of forging each more realistic data block m k * .
Figure 5. The time cost of forging each more realistic data block m k * .
Mathematics 12 01964 g005
Figure 6. The total time cost of forging each data block m k * (lowest overhead forgery method).
Figure 6. The total time cost of forging each data block m k * (lowest overhead forgery method).
Mathematics 12 01964 g006
Figure 7. The total time cost of forging each data block m k * (more realistic forgery method).
Figure 7. The total time cost of forging each data block m k * (more realistic forgery method).
Mathematics 12 01964 g007
Figure 8. Flowchart of the proposed protocol.
Figure 8. Flowchart of the proposed protocol.
Mathematics 12 01964 g008
Figure 9. The time cost of tag generation (dataset size = 10 kB).
Figure 9. The time cost of tag generation (dataset size = 10 kB).
Mathematics 12 01964 g009
Figure 10. The time cost of tag generation (dataset size = 50 kB).
Figure 10. The time cost of tag generation (dataset size = 50 kB).
Mathematics 12 01964 g010
Figure 11. The time cost of tag generation (dataset size = 100 kB).
Figure 11. The time cost of tag generation (dataset size = 100 kB).
Mathematics 12 01964 g011
Figure 12. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 10 kB).
Figure 12. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 10 kB).
Mathematics 12 01964 g012
Figure 13. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 50 kB).
Figure 13. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 50 kB).
Mathematics 12 01964 g013
Figure 14. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 100 kB).
Figure 14. The time cost of auditing: (a) line graph; (b) percentage bar graph (dataset size = 100 kB).
Mathematics 12 01964 g014
Table 1. Notations.
Table 1. Notations.
NotationMeaning
T M 1 Multiplication operations on the group G 1
T M 2 Multiplication operations on the group G T
T M 3 Multiplication operations on the domain Z q *
T E 1 Exponential operations on the group G 1
T E 2 Exponential operations on the group G T
T E 3 Exponential operations on the domain Z q *
T H 1 Mapping to the hash operation on the group G 1
T H 2 Mapping to the hash operation on the domain Z q *
T P Bilinear pairing operation
mNumber of data blocks
nNumber of sectors for each data block
cNumber of audit challenges
Table 2. Theoretical analysis.
Table 2. Theoretical analysis.
ProtocolTagGen.comp CostAuditing.comp CostCryptographic System
 [26] 2 m n T E 1 + m n T H 1
+ m n T M 1
c + 2 T E 1 + c T M 1
+ c T H 1 + 2 T P
PKI-based
 [30] 2 m T E 1 + 2 m T M 1
+ m n T M 3
c + n + 1 T E 1
+ c + n 1 T M 1
+ c + 1 T H 1 + T M 2
+ 3 T P
ID-based
 [46] 2 m T E 1 + 2 m T M 1
+ m n T M 3 + m T H 1
2 c + n T E 1
+ c + n 1 T M 1
+ T M 2 + T H 1 + 3 T P
Certificateless
 [51] 2 m + 1 T E 1 + m T M 1
+ m T H 1 + m n T M 3
+ m n + 1 T H 2
c + 1 T E 1 + c T M 1
+ c T H 1 + n T M 3
+ n T H 2 + 2 T P
Certificate-based
Our protocol 2 m + 1 T E 1 + m T M 1
+ m T H 1 + m n T M 3
+ T H 2
c + n T E 1
+ c + n 1 T M 1
+ c T H 1 + 2 T P
Certificate-based
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

Tian, Y.; Zhou, X.; Zhou, T.; Zhong, W.; Li, R.; Yang, X. A Secure Certificate-Based Data Integrity Auditing Protocol with Cloud Service Providers. Mathematics 2024, 12, 1964. https://doi.org/10.3390/math12131964

AMA Style

Tian Y, Zhou X, Zhou T, Zhong W, Li R, Yang X. A Secure Certificate-Based Data Integrity Auditing Protocol with Cloud Service Providers. Mathematics. 2024; 12(13):1964. https://doi.org/10.3390/math12131964

Chicago/Turabian Style

Tian, Yuan, Xuan Zhou, Tanping Zhou, Weidong Zhong, Ruifeng Li, and Xiaoyuan Yang. 2024. "A Secure Certificate-Based Data Integrity Auditing Protocol with Cloud Service Providers" Mathematics 12, no. 13: 1964. https://doi.org/10.3390/math12131964

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