Skip to main content

Keyword Search Meets Membership Testing: Adaptive Security from SXDH

  • Conference paper
  • First Online:
Progress in Cryptology – INDOCRYPT 2018 (INDOCRYPT 2018)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 11356))

Included in the following conference series:

Abstract

Searchable encryption (SE) allows users to securely store sensitive data in encrypted form on cloud and at the same time perform keyword search over the encrypted documents. In this work, we focus on variants of SE schemes that along with keyword search, also support membership testing. The problem can be formulated in two flavors depending on whether the search policy is encoded in the ciphertext or in the trapdoor. The ciphertext-policy variant is called Broadcast Encryption with Keyword Search (BEKS) and allows only privileged users to perform keyword search on an encrypted file. Available dedicated constructions could achieve selective security under parameterized assumption. The key-policy variant, called Key-Aggregate Searchable Encryption (KASE), restricts the keyword search within a particular set of documents. Naive application of existing SE schemes in this scenario leads to inefficient protocols with either variable length trapdoor or exponential blowup of storage requirement in terms of the document set size. This therefore calls for an efficient solution that allows such subset based restricted search with constant trapdoor size.

In this work, we have presented adaptively secure solutions for both the above problems. Our BEKS construction achieves constant-size ciphertext whereas the KASE construction achieves constant-size trapdoor. Both the constructions are instantiated in prime-order bilinear groups and are proven anonymous CPA-secure under SXDH assumption by extending Jutla-Roy technique. Our proposed solutions improve upon the only other adaptively secure schemes that can be obtained using the generic technique of Ambrona et al.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Ambrona, M., Barthe, G., Schmidt, B.: Generic transformations of predicate encodings: constructions and applications. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 36–66. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_2

    Chapter  Google Scholar 

  2. Attrapadung, N., Furukawa, J., Imai, H.: Forward-secure and searchable broadcast encryption with short ciphertexts and private keys. In: Lai, X., Chen, K. (eds.) ASIACRYPT 2006. LNCS, vol. 4284, pp. 161–177. Springer, Heidelberg (2006). https://doi.org/10.1007/11935230_11

    Chapter  Google Scholar 

  3. Boneh, D., Di Crescenzo, G., Ostrovsky, R., Persiano, G.: Public key encryption with keyword search. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 506–522. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24676-3_30

    Chapter  Google Scholar 

  4. Boneh, D., Gentry, C., Waters, B.: Collusion resistant broadcast encryption with short ciphertexts and private keys. In: Shoup, V. (ed.) CRYPTO 2005. LNCS, vol. 3621, pp. 258–275. Springer, Heidelberg (2005). https://doi.org/10.1007/11535218_16

    Chapter  Google Scholar 

  5. Chang, Y.C., Mitzenmacher, M.: Privacy preserving keyword searches on remote encrypted data. In: Ioannidis, J., Keromytis, A., Yung, M. (eds.) ACNS 2005. LNCS, vol. 3531, pp. 442–455. Springer, Heidelberg (2005). https://doi.org/10.1007/11496137_30

    Chapter  Google Scholar 

  6. Chen, J., Gay, R., Wee, H.: Improved dual system ABE in prime-order groups via predicate encodings. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 595–624. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46803-6_20

    Chapter  Google Scholar 

  7. Chen, J., Gong, J.: ABE with tag made easy. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10625, pp. 35–65. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70697-9_2

    Chapter  Google Scholar 

  8. Chu, C.K., Chow, S.S.M., Tzeng, W.G., Zhou, J., Deng, R.H.: Key-aggregate cryptosystem for scalable data sharing in cloud storage. IEEE Trans. Parallel Distrib. Syst. 25(2), 468–477 (2014)

    Article  Google Scholar 

  9. Cui, B., Liu, Z., Wang, L.: Key-aggregate searchable encryption (KASE) for group data sharing via cloud storage. IEEE Trans. Comput. 65(8), 2374–2385 (2016)

    Article  MathSciNet  Google Scholar 

  10. Curtmola, R., Garay, J.A., Kamara, S., Ostrovsky, R.: Searchable symmetric encryption: improved definitions and efficient constructions. J. Comput. Secur. 19(5), 895–934 (2011)

    Article  Google Scholar 

  11. Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 548–566. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36178-2_34

    Chapter  Google Scholar 

  12. Gentry, C., Waters, B.: Adaptive security in broadcast encryption systems (with short ciphertexts). In: Joux, A. (ed.) EUROCRYPT 2009. LNCS, vol. 5479, pp. 171–188. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-01001-9_10

    Chapter  MATH  Google Scholar 

  13. Goh, E.: Secure indexes. IACR Cryptology ePrint Archive 2003, 216 (2003). http://eprint.iacr.org/2003/216

  14. Jutla, C.S., Roy, A.: Shorter quasi-adaptive NIZK proofs for linear subspaces. J. Cryptol. 30(4), 1116–1156 (2017)

    Article  MathSciNet  Google Scholar 

  15. Kiayias, A., Oksuz, O., Russell, A., Tang, Q., Wang, B.: Efficient encrypted keyword search for multi-user data sharing. In: Askoxylakis, I., Ioannidis, S., Katsikas, S., Meadows, C. (eds.) ESORICS 2016. LNCS, vol. 9878, pp. 173–195. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45744-4_9

    Chapter  Google Scholar 

  16. Kiltz, E., Wee, H.: Quasi-adaptive NIZK for linear subspaces revisited. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 101–128. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46803-6_4

    Chapter  Google Scholar 

  17. Patranabis, S., Mukhopadhyay, D.: Spot the black hat in a dark room: parallelized controlled access searchable encryption on FPGAs. Cryptology ePrint Archive, Report 2017/668 (2017)

    Google Scholar 

  18. Ramanna, S.C.: More efficient constructions for inner-product encryption. In: Manulis, M., Sadeghi, A.-R., Schneider, S. (eds.) ACNS 2016. LNCS, vol. 9696, pp. 231–248. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39555-5_13

    Chapter  Google Scholar 

  19. Ramanna, S.C., Sarkar, P.: Efficient (Anonymous) compact HIBE from standard assumptions. In: Chow, S.S.M., Liu, J.K., Hui, L.C.K., Yiu, S.M. (eds.) ProvSec 2014. LNCS, vol. 8782, pp. 243–258. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-12475-9_17

    Chapter  Google Scholar 

  20. Ramanna, S.C., Sarkar, P.: Efficient adaptively secure IBBE from the SXDH assumption. IEEE IT 62(10), 5709–5726 (2016)

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

  22. Waters, B.: Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619–636. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03356-8_36

    Chapter  Google Scholar 

Download references

Acknowledgement

We thank the anonymous reviewers of INDOCRYPT 2018 for their valuable suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sayantan Mukherjee .

Editor information

Editors and Affiliations

A Insecurity of KASE Construction of [17]

A Insecurity of KASE Construction of [17]

Recently, [17] presented a construction of that they named controlled-access searchable encryption (CASE). The primary emphasis of [17] is to propose an FPGA implementation of their construction. They also argued the security of their scheme.

We however demonstrate a simple mix-and-match attack on the construction in their security model. The security model, described in [17, Definition A.3], is a weaker version of IND-CKA1 [10]. Here we first present the security model followed by an attack on the construction of [17]. The description of their construction can be found in [17, Sect. 3.3]. To understand our attack, it is enough to take a look at the GenTrpdr function of their description. Essentially, our attack exploits the deterministic nature of the \(\mathsf {GenTrpdr}\) of [17].

1.1 A.1 Security Model

We discuss the security game between the challenger \(\mathcal {C}\) and adversary \(\mathcal {A}\) below. Let \(\mathbf {D}\) be a dataset and we perform search on key-indices \(\{(S_j,\mathsf {\omega }_j)\}_j\). Then, trace \((\tau )\) of a search history \((\mathbf {D}, \{(S_j,\mathsf {\omega }_j)\}_j)\) is defined to be the list of access pattern. Informally, access pattern of \((\mathbf {D}, (\mathsf {\Omega }, \mathsf {\omega }))\) is the result denoted by \(\delta (\mathbf {D}, (\mathsf {\Omega }, \mathsf {\omega }))\) where \(\delta \) is a function that takes dataset \(\mathbf {D}\) and the \(\mathsf {x}_{}=(\mathsf {\Omega }, \mathsf {\omega })\) and outputs document identifiers that satisfy this .

Informally, the adversary \(\mathcal {A}\) gives two datasets \((\mathbf {D}_0, \mathbf {D}_1)\) of its own choice. It is allowed to make queries that does not trivially distinguish the secure indexes \(\mathbf {I}_0\) and \(\mathbf {I}_1\) where \(\mathbf {I}_i\leftarrow \mathsf {BuildIndex}(\mathsf {pk}, \mathbf {D}_i)\) for \(i\in \left\{ 0,1 \right\} \). At the end, the adversary has to distinguish if \(\mathbf {I}_0\) or \(\mathbf {I}_1\) was given as the challenge secure index. We now formally define the model where non-trivially is ensured by the restriction due to trace \(\tau \).

  • \(\mathbf {Setup}\mathbf{.}\) \(\mathcal {C}\) generates \(\mathsf {msk}, pk\) and gives pk to \(\mathcal {A}\).

  • \(\mathbf {Trapdoor\ Queries}\mathbf{.}\) Given \(j^{th}\) trapdoor query \(\mathsf {x}_{j}=(S_j,\mathsf {\omega }_j)\), \(\mathcal {C}\) outputs \(\varGamma \leftarrow \mathsf {GenTrpdr}(\mathsf {msk}, \mathsf {x}_{j})\).

  • \(\mathbf {Challenge}\mathbf{.}\) On receiving two file collections \(\mathbf {D}_0\) and \(\mathbf {D}_1\) as challenge with the restriction \(\tau (\mathbf {D}_0, \{(S_j,\mathsf {\omega }_j)\}_j) = \tau (\mathbf {D}_1, \{(S_j,\mathsf {\omega }_j)\}_j)\), \(\mathcal {C}\) picks \(b\hookleftarrow \left\{ 0,1 \right\} \) and outputs \(\mathbf {I}_b\leftarrow \mathsf {BuildIndex}(pk, \mathbf {D}_b)\).

  • \(\mathbf {Key\ Queries}\mathbf{.}\) \(\mathcal {A}\) continues querying with \(\mathsf {x}_{}=(\mathsf {\Omega },\mathsf {\omega })\) with the restriction \(\tau (\mathbf {D}_0, \{(\mathsf {\Omega },\mathsf {\omega })\}) = \tau (\mathbf {D}_1, \{(\mathsf {\Omega },\mathsf {\omega })\})\).

  • \(\mathbf {Guess}\mathbf{.}\) \(\mathcal {A}\) outputs a guess \(b'\) and wins if \(b=b'\).

Intuitively, for a secure searchable scheme, for every \(j^{th}\) query \(\mathsf {x}_{j}\), if \(\delta (\mathbf {D}_0, \mathsf {x}_{j})=\delta (\mathbf {D}_1, \mathsf {x}_{j})\), \(\mathcal {A}\) will not be able to guess b except with negligible probability.

1.2 A.2 Attack Details

We present a simple attack on the KASE construction of [17]. Informally, in this attack, we make few permitted queries to get corresponding trapdoors. Then we mix-and-match those trapdoors to create a new trapdoor. The new trapdoor will allow us to guess the challenge bit b with probability 1. Thereby, the adversary can trivially distinguish \(\mathbf {I}_0\) and \(\mathbf {I}_1\). Observe that, the \(\mathsf {GenTrpdr}\) [17, Sect. 3.3] is deterministic. Thus each trapdoor does not have their own randomness. We exploit this property to mount a mix-n-match attack on the said construction that we present next. Note that, the natural restriction allows the adversary to query for \(\mathsf {x}_{}\) only if \(\tau (\mathbf {D}_0, \mathsf {x}_{})=\tau (\mathbf {D}_1, \mathsf {x}_{})\).

Now, for \(\mathsf {msk}=(\mathfrak {a}, \mathfrak {b})\), the trapdoor is \((H_1(\mathsf {\omega }), (\mathfrak {a}F_S(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }))P_2)\leftarrow \mathsf {GenTrpdr}(\mathsf {msk}, (\mathsf {\Omega },\mathsf {\omega }))\) where \(P_2\) is group generator, \(H_1\) is CRHF and for any set \(\mathsf {\Omega }\), the unique signature of \(\mathsf {\Omega }\) is \(F_S(\mathsf {x}_{})=\underset{\mathscr {z}\in \mathsf {\Omega }}{\prod } (\mathsf {x}_{}-i)\) (see [17, Sect. 3.3] for more details). We discuss the attack below as a game between challenger \(\mathcal {C}\) and adversary \(\mathcal {A}\).

  • \(\mathbf {Setup}\mathbf{.}\) \(\mathcal {C}\) gives pk to \(\mathcal {A}\) and keeps \(\mathsf {msk}\). Let \(\mathsf {msk}=(\mathfrak {a}, \mathfrak {b})\). \(\mathcal {A}\) directly goes for challenge phase.

  • \(\mathbf {Challenge}\mathbf{.}\) \(\mathcal {A}\) defines document collection \(\mathbf {D}_0=\{i_0\}\) and \(\mathbf {D}_1=\{i_0,i_1\}\) where file \(i_0\) contains keyword \(\mathsf {\omega }\) and file \(i_1\) contains keyword \(\mathsf {\omega }^*\). Lets assume \(\mathsf {\Omega }^*=\{i_0, i_1, i_2\}\) and \(\mathsf {\Omega }=\{i_2\}\). \(\mathcal {A}\) sends \((\mathbf {D}_0, \mathbf {D}_1)\) to \(\mathcal {C}\) who picks \(b\hookleftarrow \{0,1\}\) and returns \(\mathbf {I}_b\leftarrow \mathsf{BuildIndex}(pk, \mathbf {D}_b)\).

  • \(\mathbf {Key\ Queries}\mathbf{.}\) \(\mathcal {A}\) makes following 3 queries.

    1. 1.

      On query \(\mathsf {x}_{1}=(\mathsf {\Omega },\mathsf {\omega })\): As both \(i_0, i_1\notin \mathsf {\Omega }\), result is \(\phi \) in both the cases. Therefore \(\tau (\mathbf {D}_0, \mathsf {x}_{1}) = \tau (\mathbf {D}_1, \mathsf {x}_{1})\). \(\mathcal {C}\) runs \(\mathsf {GenTrpdr}(msk, \mathsf {x}_{1})\) to compute \(\varGamma _1=(H_1(\mathsf {\omega }), (\mathfrak {a}F_S(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }))P_2)\).

    2. 2.

      On query \(\mathsf {x}_{2}=(\mathsf {\Omega },\mathsf {\omega }^*)\): As both \(i_0, i_1\notin \mathsf {\Omega }\), result is \(\phi \) in both the cases. Therefore \(\tau (\mathbf {D}_0, \mathsf {x}_{2}) = \tau (\mathbf {D}_1, \mathsf {x}_{2})\). \(\mathcal {C}\) runs \(\mathsf {GenTrpdr}(msk, \mathsf {x}_{2})\) to compute \(\varGamma _2=(H_1(\mathsf {\omega }^*), (\mathfrak {a}F_S(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }^*))P_2)\).

    3. 3.

      On query \(\mathsf {x}_{3}=(\mathsf {\Omega }^*,\mathsf {\omega })\): Here both \(i_0, i_1\in \mathsf {\Omega }^*\). As only \(i_0\) contain \(\mathsf {\omega }\), result is \(\{i_0\}\) in both the cases. Therefore \(\tau (\mathbf {D}_0, \mathsf {x}_{3}) = \tau (\mathbf {D}_1, \mathsf {x}_{3})\). \(\mathcal {C}\) runs \(\mathsf {GenTrpdr}(msk, \mathsf {x}_{3})\) to compute \(\varGamma _3=(H_1(\mathsf {\omega }^*), (\mathfrak {a}F_S(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }^*))P_2)\).

    Now \(\mathcal {A}\) computes, \(Z=\frac{\varGamma _2[2]}{\varGamma _1[2]}=\mathfrak {b}(H_1(\mathsf {\omega }^*)-H_1(\mathsf {\omega }))P_2\).

    $$\begin{aligned} \text {Then it computes}&\widehat{Z}=Z\times \varGamma _3[2] \\&=\mathfrak {b}(H_1(\mathsf {\omega }^*)-H_1(\mathsf {\omega }))P_2 + (\mathfrak {a}F_{\mathsf {\Omega }^*}(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }))P_2\\&=(\mathfrak {a}F_{\mathsf {\Omega }^*}(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }^*))P_2. \end{aligned}$$

    Then it defines \(\widehat{\varGamma }_3\) to be a valid trapdoor for \((\mathsf {\Omega }^*,\mathsf {\omega }^*)\).

    $$\begin{aligned} \widehat{\varGamma }_3=(\varGamma _2[1], \widehat{Z})= (H_1(\mathsf {\omega }^*), (\mathfrak {a}F_{\mathsf {\Omega }^*}(\alpha )+\mathfrak {b}H_1(\mathsf {\omega }^*))P_2). \end{aligned}$$
    (4)
  • \(\mathbf {Guess}\mathbf{.}\) \(\mathcal {A}\) outputs \(b'=0\) if \(\mathsf{Search}(\mathbf {I}_b, \widehat{\varGamma }_3, \mathsf {\Omega }^*)=\phi \), else outputs \(b'=1\).

We already have shown, \(\mathcal {A}\) gets hold of a valid trapdoor \(\widehat{\varGamma }_3\) on \((\mathsf {\Omega }^*, \mathsf {\omega }^*)\) in Eq. (4). As,

  • \(\delta (\mathbf {D}_0,(\mathsf {\Omega }^*, \mathsf {\omega }^*))=\phi \) as \(\mathbf {D}_0=\{i_0\}\) and \(i_0\) doesn’t contain keyword \(\mathsf {\omega }^*\).

  • \(\delta (\mathbf {D}_1,(\mathsf {\Omega }^*, \mathsf {\omega }^*))=\{i_1\}\) as \(\mathbf {D}_1=\{i_0,i_1\}\), \(i_1\in \mathsf {\Omega }^*\) and \(i_1\) contains keyword \(\mathsf {\omega }^*\).

Therefore \(\mathcal {A}\) wins the game with probability 1. This simple attack renders the KASE construction by [17] insecure.

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chatterjee, S., Mukherjee, S. (2018). Keyword Search Meets Membership Testing: Adaptive Security from SXDH. In: Chakraborty, D., Iwata, T. (eds) Progress in Cryptology – INDOCRYPT 2018. INDOCRYPT 2018. Lecture Notes in Computer Science(), vol 11356. Springer, Cham. https://doi.org/10.1007/978-3-030-05378-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-05378-9_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-05377-2

  • Online ISBN: 978-3-030-05378-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics