Skip to main content
Log in

Publicly verifiable searchable symmetric encryption based on efficient cryptographic components

  • Published:
Designs, Codes and Cryptography Aims and scope Submit manuscript

Abstract

Public verifiability is an interesting feature that cryptographic protocols, such as those used in cloud computing applications, may support. By public verifiability, the client can delegate the verification process to a third party auditor without revealing the private key or data. The main contribution of this paper is achieving public verifiability in the symmetric setting of searchable encryption (SE), separately for single and Boolean keyword search. While Public verifiability in SE has already been achieved using complex tools such as indistinguishability obfuscation or pairing, this work employs basic cryptographic components and assumptions, such as pseudo-random functions, one-way functions, digital signatures and the DDH assumption.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Alderman J., Janson C., Martin K.M., Renwick S.L.: Extended functionality in verifiable searchable encryption. In: Cryptography and Information Security in the Balkans—Second International Conference, BalkanCryptSec, pp. 187–205. Koper (2015).

  2. Ali M., Khan S.U., Vasilakos A.V.: Security in cloud computing: opportunities and challenges. Inf. Sci 305, 357–383 (2015).

    Article  MathSciNet  Google Scholar 

  3. Azraoui M., Elkhiyaoui K., Önen M., Molva R.: Publicly verifiable conjunctive keyword search in outsourced databases. In: 2015 IEEE Conference on Communications and Network Security, CNS, pp. 619–627. Florence, Italy (2015).

  4. Ballard L., Green M., de Medeiros B., Monrose F.: Correlation-resistant storage via keyword-searchable encryption. IACR Cryptol. ePrint Arch. 2005, 417 (2005).

    Google Scholar 

  5. Bost R., Fouque P., Pointcheval D.: Verifiable dynamic symmetric searchable encryption: optimality and forward security. IACR Cryptol. ePrint Arch. 2016, 62 (2016).

    Google Scholar 

  6. Cao N., Wang C., Li M., Ren K., Lou W.: Privacy-preserving multi-keyword ranked search over encrypted cloud data. IEEE Trans. Parallel Distrib. Syst. 25(1), 222–233 (2014).

    Article  Google Scholar 

  7. Cash D., Grubbs P., Perry J., Ristenpart, T.: Leakage-abuse attacks against searchable encryption. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, pp. 668–679 (2015).

  8. Cash D., Jarecki S., Jutla C.S., Krawczyk H., Rosu M., Steiner M.: Highly-scalable searchable symmetric encryption with support for boolean queries. In: Advances in Cryptology—CRYPTO 2013—33rd Annual Cryptology Conference, Proceedings, Part I, pp. 353–373. Santa Barbara, CA (2013).

  9. Chai Q., Gong G.: Verifiable symmetric searchable encryption for semi-honest-but-curious cloud servers. In: ICC 2012, Proceedings of IEEE International Conference on Communications, pp. 917–922. Ottawa, ON, Canada (2012)

  10. Chang Y., Mitzenmacher M.: Privacy preserving keyword searches on remote encrypted data. In: Third International Conference on Applied Cryptography and Network Security, ACNS 2005, pp. 442–455. New York, NY, USA (2005)

  11. Chase M., Kamara S.: Structured encryption and controlled disclosure. In: Advances in Cryptology—ASIACRYPT 2010—16th International Conference on the Theory and Application of Cryptology and Information Security, pp. 577–594. Singapore (2010).

  12. Cheng R., Yan J., Guan C., Zhang F., Ren K.: Verifiable searchable symmetric encryption from indistinguishability obfuscation. In: ASIA CCS ’15, Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security, pp. 621–626. Singapore (2015).

  13. Curtmola R., Garay J.A., Kamara S., Ostrovsky R.: Searchable symmetric encryption: improved definitions and efficient constructions. In: CCS 2006, Proceedings of the 13th ACM Conference on Computer and Communications Security, pp. 79–88. Alexandria, VA, USA (2006).

  14. Goh E.: Secure indexes. IACR Cryptol. ePrint Arch. 2003, 216 (2003).

    Google Scholar 

  15. Goldreich O., Ostrovsky R.: Software protection and simulation on oblivious rams. J. ACM 43(3), 431–473 (1996).

    Article  MathSciNet  MATH  Google Scholar 

  16. Golle P., Staddon J., Waters B.R.: Secure conjunctive keyword search over encrypted data. In: ACNS 2004, Second International Conference on Applied Cryptography and Network Security, pp. 31–45. Yellow Mountain, China (2004).

  17. Goyal V., Pandey O., Sahai A., Waters B.: Attribute-based encryption for fine-grained access control of encrypted data. In: CCS 2006, Proceedings of the 13th ACM Conference on Computer and Communications Security, pp. 89–98. Alexandria, VA, USA (2006).

  18. Islam M.S., Kuzu M., Kantarcioglu M.: Access pattern disclosure on searchable encryption: Ramification, attack and mitigation. In: NDSS 2012, 19th Annual Network and Distributed System Security Symposium. San Diego, CA (2012)

  19. Jiang X., Yu J., Yan J., Hao R.: Enabling efficient and verifiable multi-keyword ranked search over encrypted cloud data. Inf. Sci 403404, 2241 (2017).

    Google Scholar 

  20. Katz J., Lindell Y.: Introduction to Modern Cryptography. Chapman and Hall/CRC Press, Boca Raton (2007).

    Book  MATH  Google Scholar 

  21. Kurosawa K., Ohtaki Y.: How to update documents verifiably in searchable symmetric encryption. In: CANS 2013, Cryptology and Network Security—12th International Conference, pp. 309–328. Paraty, Brazil (2013).

  22. Kurosawa K., Ohtaki Y.: How to construct uc-secure searchable symmetric encryption scheme. IACR Cryptol. ePrint Arch. 2015, 251 (2015).

    Google Scholar 

  23. Liu C., Zhu L., Wang M., Tan Y.: Search pattern leakage in searchable encryption: attacks and new construction. Inf. Sci. 265, 176–188 (2014).

    Article  Google Scholar 

  24. Liu P., Wang J., Ma H., Nie H.: Efficient verifiable public key encryption with keyword search based on KP-ABE. In: BWCCA 2014, Ninth International Conference on Broadband and Wireless Computing, Communication and Applications, pp. 584–589. Guangdong, China (2014).

  25. Manning C.D., Raghavan P., Schütze H.: Introduction to Information Retrieval. Cambridge University Press, Cambridge (2008).

    Book  MATH  Google Scholar 

  26. Ogata W., Kurosawa K.: Efficient no-dictionary verifiable SSE. IACR Cryptol. ePrint Arch. 2016, 981 (2016).

    Google Scholar 

  27. Ostrovsky R.: Efficient computation on oblivious rams. In: Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, pp. 514–523. Baltimore, Maryland, USA (1990).

  28. Parno B., Raykova M., Vaikuntanathan V.: How to delegate and verify in public: verifiable computation from attribute-based encryption. In: TCC 2012, Theory of Cryptography—9th Theory of Cryptography Conference, pp. 422–439. Taormina, Sicily, Italy (2012).

  29. Song D.X., Wagner D., Perrig A.: Practical techniques for searches on encrypted data. In: 2000 IEEE Symposium on Security and Privacy, pp. 44–55. Berkeley, CA, USA (2000).

  30. Tang J., Cui Y., Li Q., Ren K., Liu J., Buyya R.: Ensuring security and privacy preservation for cloud data services. ACM Comput. Surv. 49(1), 13:1–13:39 (2016).

    Article  Google Scholar 

  31. Wan Z., Deng R.H.: Achieving verifiability for privacy-preserving multi-keyword search over encrypted cloud data. IEEE Trans. Depend. Sec. Comput. 2016, 1–12 (2016).

    Google Scholar 

  32. 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 

  33. Waters B.: Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. In: Public Key Cryptography—PKC 2011—14th International Conference on Practice and Theory in Public Key Cryptography, pp. 53–70. Taormina, Italy (2011).

  34. Xia Z., Wang X., Sun X., Wang Q.: A secure and dynamic multi-keyword ranked search scheme over encrypted cloud data. IEEE Trans. Parallel Distrib. Syst. 27(2), 340–352 (2016).

    Article  Google Scholar 

  35. Zhang R., Xue R., Yu T., Liu L.: PVSAE: A public verifiable searchable encryption service framework for outsourced encrypted data. In: ICWS 2016, IEEE International Conference on Web Services, pp. 428–435. San Francisco, CA, USA (2016).

  36. Zhang Y., Katz J., Papamanthou C.: All your queries are belong to us: the power of file-injection attacks on searchable encryption. In: 25th USENIX Security Symposium, USENIX Security 16, pp. 707–720. Austin, TX, USA (2016).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Azam Soleimanian.

Additional information

Communicated by C. Mitchell.

Shahram Khazaei has been supported by Iranian National Science Foundation (INSF) under Contract No. 92027548 and Sharif Industrial Relation Office (SIRO) under Grant No. G931223.

Appendix A: Background

Appendix A: Background

1.1 A.1: Basic primitives and assumptions

Decision Diffie-Hellman Assumption. Let G be a prime order cyclic group of order p with generator g. We say that the decision Diffie-Hellman (DDH) assumption holds in G if for all P.P.T adversaries \(\mathcal {A}\) there exists a negligible function \(\mathrm {negl}\) such that:

$$\begin{aligned} \bigg |\Pr [\mathcal {A}(g, g^a, g^b, g^{ab}) = 1]-\Pr [\mathcal {A}(g, g^a, g^b, g^c) = 1]\bigg |\le \mathrm {negl}(\lambda ), \end{aligned}$$

where the probability is over the randomness of \(\mathcal {A}\) and uniformly chosen abc from \(\mathbb {Z}^*_p\).

Definition 9

(CPA-Secure Symmetric Encryption Scheme [20]) For any symmetric encryption scheme \(\varPi =(\mathsf {Gen},\mathsf {Enc},\mathsf {Dec})\) the following game is defined.

\(\mathsf {SymK}_{\mathcal {A},\varPi }^{\mathsf {cpa}}(\lambda )\): A key K is generated by running \(\mathsf {Gen}(1^\lambda )\). The adversary \(\mathcal {A}\) is given input \(1^\lambda \) and oracle access to \(\mathsf {Enc}(K,.)\) and outputs a pair of messages \(m_0,m_1\) of the same length. A uniform bit \(b\in \{0, 1\}\) is chosen, and then a ciphertext \(c\leftarrow \mathsf {Enc}(K,m_b)\) is computed and given to \(\mathcal {A}\). The adversary \(\mathcal {A}\) continues to have oracle access to \(\mathsf {Enc}(K,.)\), and outputs a bit \(b'\). The output of the game denoted by \(\mathsf {SymK}_{\mathcal {A},\varPi }^{\mathsf {cpa}}(\lambda )\), is defined to be 1 if \(b'=b\), and 0 otherwise.

We say that \(\varPi \) is CPA-secure, if for all P.P.T adversaries \(\mathcal {A}\) there is a negligible function \(\mathrm {negl}\) such that

$$\begin{aligned} \Pr [\mathsf {SymK}_{\mathcal {A},\varPi }^{\mathsf {cpa}}(\lambda )=1]\le \frac{1}{2}+\mathrm {negl}(\lambda ). \end{aligned}$$

Definition 10

(Second-Preimage Resistant Hash Function) A second-preimage resistant hash function (with output length l) is a hash function \(H:\{0,1\}^*\rightarrow \{0,1\}^l\) if for all P.P.T adversaries \(\mathcal {A}\) there is a negligible function \(\mathrm {negl}\) such that:

$$\begin{aligned} \Pr [x\leftarrow \{0,1\}^*, x'\leftarrow \mathcal {A}(x)~:~x'\ne x,~H(x')=H(x)]\le \mathrm {negl}(\lambda ). \end{aligned}$$

Definition 11

(Pseudo-Random Function) Let \(\mathsf {Func}[n,m]\) be the set of all functions from \(\{0, 1\}^n\) to \(\{0, 1\}^m\). A function \(F : \{0, 1\}^\lambda \times \{0, 1\}^n\rightarrow \{0, 1\}^m\) is pseudo-random if it is computable in polynomial time (in \(\lambda \)) and if for all P.P.T adversaries \(\mathcal {A}\) there is a negligible function \(\mathrm {negl}\) such that:

$$\begin{aligned} \bigg |\Pr [K\leftarrow \{0, 1\}^\lambda ~:~\mathcal {A}^{F(K,.)}(\lambda ) = 1 ] -\Pr [g \leftarrow \mathsf {Func}[n,m] ~:~\mathcal {A}^{g(.)}(\lambda ) = 1]\bigg | \le \mathrm {negl}(\lambda ). \end{aligned}$$

If F is bijective then it is a pseudo-random permutation.

Definition 12

(Strong One-Way Function) A function \(g : \{0, 1\}^*\rightarrow \{0, 1\}^*\) is a strong one-way function if it is computable in polynomial time (in \(\lambda \)) and if for all P.P.T adversaries \(\mathcal {A}\) there exists a negligible function \(\mathrm {negl}\) such that for any input length \(n=n(\lambda )\),

$$\begin{aligned} \Pr [x\leftarrow \{0,1\}^n,~y\leftarrow g(x): ~g(\mathcal {A}(1^n,y))=y]\le \mathrm {negl}(\lambda ). \end{aligned}$$

1.2 A.2: Signature scheme

The correctness and security of a signature scheme are defined as follows.

Definition 13

(Correctness [20]) A signature scheme \(\varGamma =(\mathsf {Gen}, \mathsf {Sign},\mathsf {Vrfy})\) is correct if except with negligible probability over (pksk) output by \(\mathsf {Gen}(1^\lambda )\), it holds that

\(\mathsf {Vrfy}(pk,m,\mathsf {Sign}(sk,m)) = 1\) for every message m.

Definition 14

(Security [20]) Let \(\varGamma =(\mathsf {Gen}, \mathsf {Sign},\mathsf {Vrfy})\) be a signature scheme, and consider the following experiment for an adversary \(\mathcal {A}\):

\(\mathsf {Forge}_\mathcal {A}^\varGamma (\lambda )\): \(\mathsf {Gen}(1^\lambda )\) is run to obtain keys (pksk). The adversary \(\mathcal {A}\) is given pk and access to the oracle \(\mathsf {Sign}(sk,.)\). The adversary then outputs \((m,\sigma )\). Let \(\mathbf {q}\) denote the set of all queries that \(\mathcal {A}\) asked its oracle. The output of the experiment, denoted by \(\mathsf {Forge}_\mathcal {A}^\varGamma (\lambda )\), is defined to be 1, if and only if (1) \(\mathsf {Vrfy}(pk,m,\sigma ) = 1\) and (2) \(m\notin \mathbf {q}\).

We say the signature scheme \(\varGamma \) is existentially unforgeable under an adaptive chosen-message attack, or just secure, if for all P.P.T adversaries \(\mathcal {A}\), there is a negligible function \(\mathrm {negl}\) such that:

$$\begin{aligned} \Pr [\mathsf {Forge}_\mathcal {A}^\varGamma (\lambda ) = 1] \le \mathrm {negl}(\lambda ). \end{aligned}$$

1.3 A.3: TSet scheme

Definition 15

(Correctness [8]) For the adversary \(\mathcal {A}\) and a TSet scheme \(\varSigma =(\mathsf {Setup},\mathsf {GetTag}, \mathsf {Retrieve})\), the following game is defined.

\( \mathsf {ComCor}_\mathcal {A}^\varSigma (\lambda )\): \(\mathcal {A}(1^\lambda )\) chooses T, the game generates \((TSet,K )\leftarrow \mathsf {Setup}(T)\), gives TSet to \(\mathcal {A}\). Then the adversary adaptively chooses keywords w. For each query w from the adversary, the game generates \(tg \leftarrow \mathsf {GetTag}(K ,w)\) and \(t_w \leftarrow \mathsf {Retrieve}(TSet, tg)\). The game outputs 1 if in any execution the server outputs \(t_w \ne T[w]\), and 0 otherwise. The output of the game is denoted by the random variable \( \mathsf {ComCor}_\mathcal {A}^\varSigma (\lambda )\).

We say that a TSet scheme \(\varSigma \) is computationally correct if for all P.P.T adversaries \(\mathcal {A}\) there exists a negligible function \(\mathrm {negl}\) such that:

$$\begin{aligned} \Pr [\mathsf {ComCor}_\mathcal {A}^\varSigma (\lambda )=1]\le \mathrm {negl}(\lambda ). \end{aligned}$$

Definition 16

(Adaptive-Security [8]) Let \(\varSigma = (\mathsf {Setup}, \mathsf {GetTag}, \mathsf {Retrieve})\) be a TSet scheme and \(\mathcal {L}_T\) be a stateful algorithm. For the adversary \(\mathcal {A}\) and the simulator \(\mathcal {S}\), two following games are defined.

  • \(\mathsf {Real}_\mathcal {A}^\varSigma (\lambda )\): \(\mathcal {A}(1^\lambda )\) outputs T. The game runs \((TSet,K )\leftarrow \mathsf {Setup}(T)\) and gives TSet to \(\mathcal {A}\). Then \(\mathcal {A}\) adaptively chooses keywords w. For each w from the adversary, the game gives \(tg\leftarrow \mathsf {GetTag}(K, w)\) to \(\mathcal {A}\). Eventually \(\mathcal {A}\) outputs a bit which the game uses as its output denoted by \(\mathsf {Real}_\mathcal {A}^\varSigma (\lambda )\).

  • \(\mathsf {Sim}_\mathcal {A}^\varSigma (\lambda )\): The game initializes a counter \(i = 0\) and an empty list \(\mathbf {q}\). \(\mathcal {A}(1^\lambda )\) outputs T. The game runs \(TSet^*\leftarrow \mathcal {S}(\mathcal {L}_T(T))\) and gives \(TSet^*\) to \(\mathcal {A}\). Then \(\mathcal {A}\) adaptively chooses keywords w, and for each w the game stores w in \(\mathbf {q}[i]\), increments i, and gives \(\mathcal {A}\) the output of \(\mathcal {S}(\mathcal {L}_T (T,\mathbf {q}))\). Eventually, \(\mathcal {A}\) outputs a bit which the game uses as its output denoted by \(\mathsf {Sim}_\mathcal {A}^\varSigma (\lambda )\).

We say that \(\varSigma \) is a \(\mathcal {L}_T\)-adaptively-secure if for all P.P.T adversaries \(\mathcal {A}\) there exists an algorithm \(\mathcal {S}\) such that:

$$\begin{aligned} | \Pr [\mathsf {Real}_\mathcal {A}^\varSigma (\lambda )= 1]-\Pr [\mathsf {Sim}_\mathcal {A}^\varSigma (\lambda )= 1] |\le \mathrm {negl}(\lambda ). \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Soleimanian, A., Khazaei, S. Publicly verifiable searchable symmetric encryption based on efficient cryptographic components. Des. Codes Cryptogr. 87, 123–147 (2019). https://doi.org/10.1007/s10623-018-0489-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10623-018-0489-y

Keywords

Mathematics Subject Classification

Navigation