Skip to main content
Log in

IPad: ID-based public auditing for the outsourced data in the standard model

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Cloud storage is an important cloud computing service, it allows data users to store and access their files anytime, from anywhere and with any device. To ensure the security of the outsourced data, it also must allow data user to periodically verify integrity of the data which was outsourced to an untrusted cloud server at a relatively low cost. To solve this problem, most recent auditing protocols are mainly based on the traditional-public key infrastructure. In this infrastructure, the auditor must validate the certificates of data user before auditing data integrity. Thus, it results in a large amount of computation cost and is not suitable to the multi-user setting. To overcome this problem, in this paper, we propose two efficient ID-based public auditing protocols for the outsourced data by combing Water’s signature and public auditing for the outsourced data. And the two protocols are provably secure in the standard security model. Especially, our optimized protocol has constant communication overhead and computation cost. To the best of our knowledge, it is the first ID-based auditing for data integrity in the standard security model. By comparison with Wang et al.’s scheme and Tan et al.’s scheme, our protocols have the large advantages over the other two schemes in terms of communication cost and computation cost. Simulation results show that our proposed ID-based auditing protocols are the most efficient among three schemes in terms of computation cost.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Deng, H., Wu, Q., Qin, B., Chow, S.S.M., Domingo-Ferrer, J., Shi, W.: Tracing and revoking leaked credentials: accountability in leaking sensitive outsourced data. In: ASIA-CCS2014, pp. 425–434 (2014)

  2. Ren, K., Wang, C., Wang, Q.: Security challenges for the public cloud. IEEE Internet Comput. 16(1), 69–73 (2012)

    Article  Google Scholar 

  3. Ateniese, S.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 (CCS 07), pp. 598-609 (2007)

  4. Juels, A., Kaliski, B.S. Jr.: Pors: proofs of retrievability for large files. In: Proceedings of the 14th ACM Conference on Computer and Communication Security (CCS’07), pp. 584–597 (2007)

  5. Shacham, H., Waters, B.: Compact proofs of retrievability. In: Proceedings of the 14th International Conference on Theory and Application of Cryptology and Information Security: Advances in Cryptology (ASIACRYPT’08), pp. 90–107 (2008)

  6. Sebe, F., Domingo-Ferrer, J., Mart nez-Balleste, A., Deswarte, Y., Quisquater, J.-J.: Efficient Remote data possession checking in critical information infrastructures. In: IEEE Transaction of Knowledge Data Engineering, vol. 20, no. 8, pp. 1034–1038 (2008)

  7. Yamamoto, G., Oda, S., Aoki, K.: Fast integrity for large data. In: Proceedings of the ECRYPT Workshop Software Performance Enhancement for Encryption and Decryption, pp. 21–32 (2007)

  8. Shah, M.A., Baker, M., Mogul, J.C., Swaminathan, R.: Auditing to keep online storage services honest. In: Hunt, G.C. (ed.) Proceedings of the 11th USENIX Workshop Hot Topics in Operating Systems (HOTOS) (2007)

  9. Chang, E.-C., Xu, J.: Remote integrity check with dishonest storage server. In: Proceedings of the 13th European Symposium on Research in Computer Security (ESORICS’08), pp. 223–237 (2008)

  10. Boneh, D., Boyen, X., Shacham, H.: Short group signatures. Procedings of Advanced Cryptology Crypto, Series. LNCS, vol. 3152, pp. 41–45. Springer, New York (2004)

  11. Selvi, S.S.D., Vivek, S.S., Rangan, C.P.: Identity-based de-terministic signature scheme without forking-lemma. In: IWSEC 2011, LNCS 7038, pp. 79–95 (2011)

  12. Wang, B., Li, B., Li, H., Li, F.: Certificateless public auditing for data integrity in the cloud. CNS 2013, 276–284 (2013)

    Google Scholar 

  13. Wang, B., Li, B., Li, H.: Public auditing for shared data with efficient user revocation in the cloud. In: The Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM 2013), pp. 2904–2912

  14. Jia, X., Ee-Chien, C.: Towards efficient provable data possession. In: Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security, ASIACCS12, Seoul, Korea (2012)

  15. Yuan, J., Yu, S.: Proofs of retrievability with public verifiability and constant communication cost in cloud. In: Cloud Computing 2013, pp. 19–29. ACM (2013)

  16. Wang, C., Ren, K., Lou, W., Li, J.: Toward publicly auditable secure cloud data storage services. IEEE Netw. 24(4), 19–24 (2010)

    Article  Google Scholar 

  17. 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. 22(5), 847–859 (2011)

    Article  Google Scholar 

  18. Wang, C., Wang, Q., Ren, K., Lou, W.: Privacy-preserving public auditing for data storage security in cloud computing. In: Proceedings of IEEE INFOCOM, pp. 525–533 (2010)

  19. Zhu, Y., Hu, H., Ahn, G., Yu, M.: Cooperative provable data possession for integrity verification in multi-cloud storage. IEEE Trans. Parallel Distrib. Syst. 23(12), 2231–2244 (2012)

    Article  Google Scholar 

  20. Zhu, Y., Wang, H., Hu, Z., Ahn, G.-J., Hu, H., Yau, S.S.: Dynamic audit services for integrity verification of outsourced storages in clouds. In: Proceedings of ACM Symposium on Applied Computing, pp. 1550–1557 (2011)

  21. Zeng, K.: Publicly verifiable remote data integrity. In: Proceedings of the 10th International Conference on Information and Communication Security, pp. 419–434 (2008)

  22. Ateniese, G., Kamara, S., Katz, J.: Proofs of storage from homomorphic identification protocols. In: Proceedings of International Conference on Theory and Application of Cryptology and Information Security: Advances in Cryptology, pp. 319–333 (2009)

  23. Zhu, Y., Hu, H.X., Ahn, G.J., et al.: Collaborative integrity verification in hybrid clouds. In: 7th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), pp. 191–200

  24. Wei, L., et al.: Security and privacy for storage and computation in cloud computing. Inf. Sci. 258, 371–386 (2014)

    Article  Google Scholar 

  25. Wei, L., et al.: SecCloud: bridging secure storage and computation in cloud. ICDCS Workshops 2010, 52–61 (2010)

    Google Scholar 

  26. Zhang, X., et al.: DFL: secure and practical fault localization for datacenter networks. IEEE/ACM Trans. Netw. 22(4), 1218–1231 (2014)

    Article  Google Scholar 

  27. Jing, Q., Vasilakos, A.V., Wan, J., Jingwei, L., Qiu, D.: Security of the Internet of things: perspectives and challenges. Wirel. Netw. 20(8), 2481–2501 (2014)

    Article  Google Scholar 

  28. Ali, M., et al.: Security in cloud computing: opportunities and challenges. Inf. Sci. 305, 357–383 (2015)

    Article  MathSciNet  Google Scholar 

  29. Ali, M., et al.: SeDaSC: secure data sharing in clouds. IEEEE Syst. J. (2015). doi:10.1109/JSYST.2014.2379646

    Google Scholar 

  30. Attar, A., et al.: A survey of security challenges in cognitive radio networks: solutions and future research directions. Proc. IEEE 100(12), 3172–3186 (2012)

    Article  Google Scholar 

  31. Wang, H., Wu, Q., Qin, B., Domingo-Ferrer, J.: Identity-based remote data possession checking in public clouds. IET Inf. Secur. 8(2), 114–121 (2014). doi:10.1049/iet-ifs.2012.0271

    Article  Google Scholar 

  32. Shuang, T.A.N., Yan, J.I.A.: NaEPASC: a novel and efficient public auditing scheme for cloud data. J. Zhejiang Univ. Sci. C 15(9), 794–804 (2014)

    Article  Google Scholar 

  33. Goh, E.-J., Jarecki, S.: A signature scheme as secure as the Diffie-Hellman problem. In: EUROCRYPT 2003. LNCS, vol. 2656, pp. 401–415 (2003)

  34. Pairing-Based Cryptography Library. http://crypto.stanford.edu/pbc/. Accessed 15 Oct 2014

Download references

Acknowledgments

This work was supported by Beijing Municipal Natural Science Foundation (No: 4122024,4132056) and The importation and development of High-Caliber Talents project of Beijing municipal Institutions (CIT&TCD201304004).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jianhong Zhang.

Appendix

Appendix

Theorem 1

If there exists a probabilistic polynomial-time adversary \(\mathcal {A}\) which can successfully convince that the auditor to accept a fake proof information with non-negligible probability, we can construct an algorithm B to solve the CDH problem.

Proof

Assume that there exist an adversary \(\mathcal {A}\) which can produce a fake proof information to bypass verification, then we can construct an algorithm B by interacting with \(\mathcal {A}\) to break the CDH assumption. First, let us recall the CDH problem, given a group \(\mathbb {G}_1\), a generator \(g\in \mathbb {G}_1\), two elements \(g^a,g^b \in \mathbb {G}_1\), where ab are unknown, its goal is to compute another element \(g^{ab}\).

In order to use \(\mathcal {A}\) to solve the CDH problem, B acts as a challenger and simulates the following oracles in the interacting with \(\mathcal {A}\). \(\square \)

Setup Let \(l_u=2(q_e+q_t)\), where \(q_e\) is the query time on KeyExtract oracle and \(q_t\) is the query time on TagGen oracle. B randomly chooses an integer \(k_u\) which satisfies \(0\le k_u \le n_u\). And we assume that \(l_u(n_u+1)<q \) for the given values \(q_e,q_t\) and \(n_u\). Then B produces the following random numbers to setup public parameters:

  • First, it randomly selects \(x'_R \in _R Z_{l_u}\) and \(y'\in _R Z_p\).

  • For \(i=1\) to \(n_u\), it randomly selects \(\hat{x}_i \in Z_{l_u}\) and \(\hat{y}_i \in Z_q\).

  • Then, it defines the following functions for binary strings \(\mathfrak {U}_j\) where \(\mathfrak {U}_j=H_v(ID_j)\) for a data user with identity \(ID_j\).

    $$\begin{aligned} F(\mathfrak {U}_j)=x'+\sum _{i\in \mathfrak {V}_j}\hat{x}_i -l_uk_u&\text {and }&J(\mathfrak {U}_j)=y'+\sum _{i\in \mathfrak {V}_j}\hat{y}_i \end{aligned}$$
  • B setups a set of public parameters as follows: \(P_{pub}=g^a\), \(g_2=g^b\), \(v'=g_2^{-l_uk_u+x'}g^{y'}\), \(v_i=g_2^{\hat{x_i}}g^{\hat{y_i}}\) for \(1\le i \le n_u\).

Obviously, the master secret key is \(P_{pub}^{b}=g_2^{\alpha }=g^{ab}\) and the following relation hold.

$$\begin{aligned} v'\prod _{i\in \mathfrak {V}_j}v_i=g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)} \end{aligned}$$

Key extraction When the adversary \(\mathcal {A}\) makes a key extraction query with an identity information \(ID_j\), B first computes \(\mathfrak {U}_j=H_v(ID_j)\). If \(F(\mathfrak {U}_j)\ne 0 \mod q\), we constructs the private key of the data user \(ID_j\)

  1. 1.

    It randomly chooses \(e_{u_j} \in _R Z_q\).

  2. 2.

    Then it computes \(d_{j1}=(P_{pub})^{-\frac{J(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}} \Big (g_2^{F(\mathfrak {U}_j)}g^{J(F(\mathfrak {U}_j)}\Big )^{e_{u_j}}\) and \(d_{j2}=(P_{pub})^{-\frac{1}{F(\mathfrak {U}_j)}} g^{e_{u_j}}\).

  3. 3.

    Finally, set \(d_j=(d_{j1},d_{j2})\) as the private key of the data user with identity \(ID_j\) and add \((ID_j,d_j)\) to the \(H_v\)-list which is initially empty.

If let \(e_j=e_{u_j}-\frac{a}{F(\mathfrak {U}_j)}\), then the above private key is valid since

$$\begin{aligned} d_{j1}= & {} (P_{pub})^{-\frac{J(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}}\left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{e_{u_j}}\\= & {} g^{-\frac{a J(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}}\left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{e_{u_j}}\\= & {} g^{-a\frac{J(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}}\left( \left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)} \right) ^{\frac{a}{F(\mathfrak {U}_j)}}\right) \\&\times \,\left( \left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{-\frac{a}{F(\mathfrak {U}_j)}}\right) \left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{e_{u_j}}\\= & {} g^{-\frac{aJ(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}} g^{ab}g^{\frac{aJ(\mathfrak {U}_j)}{F(\mathfrak {U}_j)}} \left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{e_{j}}\\= & {} g^{ab}\left( g_2^{F(\mathfrak {U}_j)}g^{J(\mathfrak {U}_j)}\right) ^{e_{j}} \end{aligned}$$

and

$$\begin{aligned} d_{j2}=P_{pub}^{-\frac{1}{F(\mathfrak {U}_j)}} g^{e_{u_j}}=g^{-\frac{a}{F(\mathfrak {U}_j)}} g^{e_{u_j}}=g^{e_{j}} \end{aligned}$$

If \(F(\mathfrak {U}_j)=0 \mod q\), according to the above private key construction, we know the private key cannot be performed, thus, B aborts it.

TagGen queries When an adversary \(\mathcal {A}\) makes a tag query with \((m,ID_j)\), B responses as below

  1. 1.

    First, B checks whether the identity \(ID_j\) exists in the \(H_v-\) list. If it exists, then B executes the following steps

    1. (a)

      For k=0 to s, randomly choose \(r_k \in _R Z_q\) and compute \(u_k=g_2^{r_k}\).

    2. (b)

      produce a pair of public/private keys \((pk_s,sk_s)\leftarrow \sum .KGen(1^l)\) by a secure signature algorithm \(\sum \), where l is a security parameter.

    3. (c)

      compute \(\phi =\sum .sign(sk_s,\tau _0)\) to obtain a signature on string \(\tau _0\), where \(\tau _0=``Name||n||u_0||u_1||\cdots ||u_s''\) and n denotes the number of data blocks.

    4. (d)

      Assume that m is divided into n blocks. For each data block \(m_i\),\(1\le i \le n\), it computes

      $$\begin{aligned} \omega _i=r_0H_1(Name||i)+\sum _{j=1}^sr_jm_{ij} \end{aligned}$$
    5. (e)

      the authentication tag on data block \(m_i\) is computed as

      $$\begin{aligned} t_i=\left( t_{i1}=(d_{j1})^{\omega _i}=g_2^{\xi _1}\left( v'\prod _{i\in \mathcal {V}_j}v_i\right) ^{\xi _2},t_{i2}=d_{j2}^{\omega _i}=g^{\xi _2}\right) \end{aligned}$$

      where \(\xi =\alpha \cdot \omega _i\) and \(\xi _2=a_{u_j}\cdot \omega _i\).

  2. 2.

    If \(ID_j\) does not exist in the \(H_v\)-list, then B invokes Key Extraction to obtain a private key \(d_j\) with identity \(ID_j\) and produces the authentication tags \((t_1,\ldots ,t_n,\tau _0)\) by the above step 1.

  3. 3.

    Finally, it returns \((t_1,\ldots ,t_n,\tau _0)\) to the adversary \(\mathcal {A}\).

Auditing queries In this type of queries, B and the adversary \(\mathcal {A}\) act as the roles as the auditor and the prover, respectively. For any challenged files, they must been queried for TagGen queries. B runs Challenging algorithm to produce a challenged information C and sends it to \(\mathcal {A}\). After the adversary receives the challenged information C, it produces a proof information Prf. Finally, B verifies the proof information Prf by running Verifying algorithm.

Output Eventually, A outputs a faked proof information \(Prf^{*}\) on a data file \(m^{*}\) of data user with identity information \(ID^{*}\) in a non-negligent probability \(\varepsilon \). B checks whether the following conditions are satisfied:

  1. 1.

    \(F(\mathfrak {U}^{*})=0 \mod q\), where \(\mathfrak {U}^{*}=H_v(ID^{*})\);

  2. 2.

    \(Prf^{*}\) satisfies the verifying equation Eq. 5.

If all the above conditions are not satisfied, then B aborts it.

Let \(Prf^{*}=(\delta ^{*}_1,\delta ^{*}_2,\{\mu ^{*}_i\})_{i=1,\ldots ,s}\) be the faked proof information and satisfy \(Prf^{*}\ne Prf\) where \(Prf=(\delta _1,\delta _2,\{\mu _i\})_{i=1,\ldots ,s}\) is the real proof information. Thus they should satisfy the following relations:

$$\begin{aligned} e\left( u_0^{\hat{h}}\cdot \prod _{i=1}^su_i^{\mu ^{*}_j},P_{pub}\right) e\left( v'\prod _{i\in \mathcal {V}^{*}}v_i,\delta ^{*}_2\right) =e(\delta ^{*}_1,g) \end{aligned}$$
(16)

and

$$\begin{aligned} e\left( u_0^{\hat{h}}\cdot \prod _{i=1}^su_i^{\mu _i},P_{pub}\right) e\left( v'\prod _{i\in \mathcal {V}^{*}}v_i,\delta _2\right) =e(\delta _1,g) \end{aligned}$$
(17)

Based on Eqs. 6 and 7, we can obtain

$$\begin{aligned} e\left( \frac{\prod _{i=1}^su_i^{\mu ^{*}_i}}{\prod _{i=1}^su_i^{\mu _j}},P_{pub}\right) e\left( v'\prod _{i\in \mathcal {V}^{*}}v_i,\frac{\delta ^{*}_2}{\delta _2}\right)= & {} e\left( \frac{\delta ^{*}_1}{\delta _1},g\right) \end{aligned}$$
(18)
$$\begin{aligned}&\Updownarrow&\nonumber \\ e\left( {g_2^{\sum _{i=1}^sr_i(\mu ^{*}_j-\mu _j)}},P_{pub}\right) e\left( g^{J(\mathfrak {U}^{*})},\frac{\delta ^{*}_2}{\delta _2}\right)= & {} e\left( \frac{\delta ^{*}_1}{\delta _1},g\right) \end{aligned}$$
(19)

where \(v'\prod _{i\in \mathfrak {V}^{*}}v_i=g_2^{F(\mathfrak {U}^{*})}g^{J(\mathfrak {U}_j)}\) and \(F(\mathfrak {U}^{*})=0\).

Thus, we have

$$\begin{aligned} {g_2^{a\sum _{i=1}^sr_i(\mu ^{*}_j-\mu _j)}}= & {} \left( \frac{\delta ^{*}_2}{\delta _2}\right) ^{J(\mathfrak {U}^{*})}\cdot \frac{\delta ^{*}_1}{\delta _1} \nonumber \\&\Downarrow&\nonumber \\ g^{ab}= & {} \left( \left( \frac{\delta ^{*}_2}{\delta _2}\right) ^{J(\mathfrak {U}^{*})}\cdot \frac{\delta ^{*}_1}{\delta _1}\right) ^{\pi ^{-1}} \end{aligned}$$
(20)

where \(\pi =\sum _{i=1}^sr_i(\mu ^{*}_j-\mu _j)\).

It means that the right side of Eq. 10 is the solution of the CDH problem instance. Obviously, it is in contradiction with the difficulty of solving the CDH problem. \(\Box \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, J., Li, P. & Mao, J. IPad: ID-based public auditing for the outsourced data in the standard model. Cluster Comput 19, 127–138 (2016). https://doi.org/10.1007/s10586-015-0511-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-015-0511-3

Keywords

Navigation