Privacy-Preserving and Efficient Public Key Encryption with Keyword Search Based on CP-ABE in Cloud
Abstract
:1. Introduction
- We propose an efficient and privacy-preserving PEKS-CPABE scheme, which enables the data owner to control the search and use of its outsourced encrypted data in the cloud according to its access control policy. Our scheme can achieve keyword search queries over encrypted data with fine-grained access control;
- We formalize the security definition, and prove that our scheme achieves selective indistinguishability security against an adaptive chosen keyword attack and can also ensure keyword privacy;
- We present the performance analysis in terms of theoretical analysis and experimental analysis, and demonstrate the efficiency of our scheme. Finally, the experimental results show that our PEKS-CPABE scheme performs better than the CP-ABKS scheme proposed in [22] and CP-ABSE scheme proposed in [23].
2. Related Work
3. Preliminaries
3.1. Bilinear Map
- Bilinearity: Given and for all , there exists ;
- Non-degeneracy: ;
- Computability: Given and for all , there is an efficient algorithm to compute .
3.2. Decisional Bilinear Diffie-Hellman Assumption
3.3. Access Structure
3.4. Access Tree
4. System Model
4.1. System Model
4.2. Algorithm Description of PEKS-CPABE Scheme
- Setup: The setup algorithm is invoked by the TA, which takes as input the security parameter , and outputs the public parameter and the master private key ;
- KeyGen: The key generation algorithm is invoked by the TA, which takes as input the public parameter , the master private key and the data user’s attribute set , and outputs the private key of the data user ;
- Encryption: The encryption algorithm is invoked by the DO, which takes as input the public parameter , the access tree T and the index keyword w, and outputs the encrypted index ;
- TrapGen: The trapdoor generation algorithm is called the DU, which takes as input the public parameter , the private key of the data user and the search query for keyword , and outputs the trapdoor for query keyword ;
- Search: The search query algorithm is called the CSP, which takes as input the public parameter , the encrypted index , the trapdoor for query keyword and the data user’s attribute set . If the attributes of the data user on the trapdoor satisfy the access policies of secure searchable indexes, and the search trapdoor matches the keyword index, the algorithm returns 1. Otherwise, it returns 0.
4.3. Security Model
- Init: The adversary chooses a challenging access tree , which is sent to the challenger ;
- Setup: The challenger runs the Setup algorithms to generate public parameters and master key . It gives to adversary and keeps master key ;
- Phase 1: can adaptively ask the simulator for the trapdoors of a series of keywords , and issue private key query and trapdoor query as follows:Private key query: The adversary can adaptively ask the challenger for a group of private keys of some attributes. The challenger runs the KeyGen to generate a set of private keys , and sends to the adversary . The only restriction is that the responding private key does not satisfy , and the maintains a list of private keys;Trapdoor query: The adversary can adaptively ask the challenger for the trapdoors of a series of keywords . The challenger runs the Trapdoor to generate the trapdoor, and sends to the adversary ;
- Challenge: The adversary sends the challenger two keywords , on which it wishes to be challenged. The challenger randomly selects a bit to encrypt and sends the encrypted keyword to the adversary ;
- Phase 2: The adversary can repeat the query in Phase 1 and continue to ask for any keyword of his choice, except for the ,;
- Guess: The adversary outputs its guess of and wins the game if .
5. PEKS-CPABE Construction
- Setup: The setup algorithm is called by the TA, which takes as input the security parameter , and outputs the public parameter and the master private key , which is processed as follows:
- —
- The TA first chooses two cyclic groups and of order p, which is a bit prime, g is the generator of , and selects a bilinear map ;
- —
- Let and be two secure hash functions;
- —
- Then, the TA selects a random element and sets
- KeyGen: The key generation algorithm is invoked by the TA, which takes as input the public parameter , the master private key and the data user’s attribute set , and outputs the private key of the data user , which is processed as follows:
- —
- The TA randomly selects and computes ;
- —
- For each attribute , compute ;
- —
- Set the private key of the data user as
- Encryption: The encryption algorithm is invoked by the DO, which takes as input the public parameter , the access tree T and the index keyword w, and outputs the encrypted index , which is processed as follows:
- —
- The DO first computes , ;
- —
- For each node x in the access tree T, the DO chooses a degree polynomial in a top-down manner, where , where is the threshold value of node x;
- —
- For the root node of access tree T, the DO randomly picks up a secret key and sets . Then, the DO randomly chooses other points of to define the polynomial completely;
- —
- For other non-root node x, the DO sets , and randomly chooses other points to define the polynomial completely;
- —
- Finally, for each node , compute and . The encrypted index is given as
- TrapGen: The trapdoor generation algorithm is called the DU, which takes as input the public parameter , the private key of the data user and the search query for keyword , and outputs the trapdoor , which is processed as follows:
- —
- The DU computes ;
- —
- For each , compute . The trapdoor is given as
- Search: The search query algorithm is called by the CSP, which takes as input the public parameter , the encrypted index , the trapdoor for query keyword and the data user’s attribute set . The CSP selects a data user’s attribute set that satisfies the access tree T contained the encrypted index. If does not exist, the algorithm returns 0. Otherwise, it computes as follows:
- —
- If the node x is a leaf node in the T, for each attribute , then
- —
- If the node x is a non-leaf node in the T, we get the by computing in a recursive manner, where is the children nodes of x. Let represent an arbitrary set of children nodes x, if no such set exists, ; otherwise, compute as follows
- —
- If x is a root node in T, Finally, if , the search algorithm returns 1; otherwise, it returns 0.
Correctness. and are generated by the encryption algorithm, and is generated in the trapdoor generation algorithm. The proposed PEKS-CPABE scheme is correct when the following equation holds.If the query keyword matches the encrypted keyword index, namely , then we have the equation hold.
6. Security Proof
- Init: The adversary first chooses an access tree to be challenged, which is sent to the simulator ;
- Setup: The simulator randomly chooses , and computes ,, . Then, returns the public parameter which is sent to adversary . is simulated as follows. If the has not been queried before, the simulator randomly chooses , adds to the list and outputs ; otherwise, the simulator returns by searching from ;
- Phase 1: can adaptively ask the simulator for the trapdoors of a series of keywords , and issue the and oracles as follows.: The adversary can adaptively ask the simulator for a group of private keys of some attributes . The attribute sets embedded into corresponding private keys do not satisfy . The simulator randomly selects and computes . For each attribute , compute . The simulator sends the private key to , and maintains a list of private keys.: The simulator first searches the oracle to obtain the secret key as. Then, computes . For each , compute . Finally, generates the trapdoor as , and sends to the adversary ;
- Challenge: The adversary sends the simulator two keywords , on which it wishes to be challenged. The simulator randomly selects a bit to encrypt and generates the encrypted keyword index as follows: , , , . Namely, where . Then, sends to the adversary ;
- Phase 2: The adversary can repeat query in Phase 1 and continue to ask for any keyword of his choice, except for the ,;
- Guess: The adversary outputs its guess of b. If , outputs 1; otherwise randomly outputs 0 or 1.
- If , a valid ciphertext is given to the adversary , and the adversary has an advantage to win this game.The ciphertexts is valid. , . Since are randomly selected, , let , can be denoted as , . This means is the valid ciphertext. Through is the advantage that the adversary outputs a correct guess, therefore we have that ;
- If , is a random ciphertext. has nothing to do with the guess, so the adversary cannot acquire any advantage in this IND-CKA security game but a random guess. Therefore, we have .
7. Performance Analysis
7.1. Theoretical Analysis
7.2. Experimental Analysis
8. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
Abbreviations
PEKS | Public Key Encryption with Keyword Search |
ABE | Attribute-based Encryption |
CP-ABE | Ciphertext-policy Attribute-based Encryption |
KP-ABE | Key-policy Attribute-based Encryption |
SE | Searchable Encryption |
SSE | Symmetric Searchable Encryption |
TA | Trusted Authority |
DO | Data Owner |
DU | Data User |
CSP | Cloud Service Provider |
References
- Paillier, P. Public-key cryptosystems based on composite degree residuosity classes. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1999; pp. 223–238. [Google Scholar]
- Gentry, C. Fully homomorphic encryption using ideal lattices. In Proceedings of the Forty-first Annual ACM Symposium on Theory of Computing, Bethesda, MD, USA, 31 May–2 June 2009; pp. 169–178. [Google Scholar]
- Song, D.X.; Wagner, D.; Perrig, A. Practical techniques for searches on encrypted data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy. S&P 2000, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
- Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. J. Comput. Secur. 2011, 19, 895–934. [Google Scholar] [CrossRef] [Green Version]
- Kamara, S.; Papamanthou, C.; Roeder, T. Dynamic searchable symmetric encryption. In Proceedings of the 2012 ACM Conference on Computer and Communications Security, Raleigh, NC, USA, 16–18 October 2012; pp. 965–976. [Google Scholar]
- Kamara, S.; Papamanthou, C. Parallel and dynamic searchable symmetric encryption. In International Conference on Financial Cryptography and Data Security; Springer: Berlin/Heidelberg, Germany, 2013; pp. 258–274. [Google Scholar]
- Li, H.; Yang, Y.; Dai, Y.; Bai, J.; Yu, S.; Xiang, Y. Achieving secure and efficient dynamic searchable symmetric encryption over medical cloud data. IEEE Trans. Cloud Comput. 2017. [Google Scholar] [CrossRef]
- Ghareh Chamani, J.; Papadopoulos, D.; Papamanthou, C.; Jalili, R. New constructions for forward and backward private symmetric searchable encryption. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Toronto, ON, Canada, 15–19 October 2018; pp. 1038–1055. [Google Scholar]
- Sun, S.F.; Yuan, X.; Liu, J.K.; Steinfeld, R.; Sakzad, A.; Vo, V.; Nepal, S. Practical backward-secure searchable encryption from symmetric puncturable encryption. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Toronto, ON, Canada, 15–19 October 2018; pp. 763–780. [Google Scholar]
- Wang, K.; Dong, X.; Shen, J.; Cao, Z. An Effective Verifiable Symmetric Searchable Encryption Scheme in Cloud Computing. In Proceedings of the 2019 7th International Conference on Information Technology: IoT and Smart City, Kuala, Malaysia, 18 April 2019; pp. 98–102. [Google Scholar]
- Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
- Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2005; pp. 205–222. [Google Scholar]
- Park, D.J.; Kim, K.; Lee, P.J. Public key encryption with conjunctive field keyword search. In International Workshop on Information Security Applications; Springer: Berlin/Heidelberg, Germany, 2004; pp. 73–86. [Google Scholar]
- Boneh, D.; Waters, B. Conjunctive, subset, and range queries on encrypted data. In Theory of Cryptography Conference; Springer: Berlin/Heidelberg, Germany, 2007; pp. 535–554. [Google Scholar]
- Baek, J.; Safavi-Naini, R.; Susilo, W. Public key encryption with keyword search revisited. In International Conference on Computational Science and Its Applications; Springer: Berlin/Heidelberg, Germany, 2008; pp. 1249–1259. [Google Scholar]
- Tang, Q.; Chen, L. Public-key encryption with registered keyword search. In European Public Key Infrastructure Workshop; Springer: Berlin/Heidelberg, Germany, 2009; pp. 163–178. [Google Scholar]
- Fang, L.; Susilo, W.; Ge, C.; Wang, J. Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inf. Sci. 2013, 238, 221–241. [Google Scholar] [CrossRef] [Green Version]
- Lv, Z.; Hong, C.; Zhang, M.; Feng, D. Expressive and secure searchable encryption in the public key setting. In International Conference on Information Security; Springer: Berlin/Heidelberg, Germany, 2014; pp. 364–376. [Google Scholar]
- Huang, Q.; Li, H. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inf. Sci. 2017, 403, 1–14. [Google Scholar] [CrossRef]
- Zhang, Y.; Wang, Y.; Li, Y. Searchable Public Key Encryption Supporting Semantic Multi-Keywords Search. IEEE Access 2019, 7, 122078–122090. [Google Scholar] [CrossRef]
- Zhou, Y.; Li, N.; Tian, Y.; An, D.; Wang, L. Public Key Encryption with Keyword Search in Cloud: A Survey. Entropy 2020, 22, 421. [Google Scholar] [CrossRef] [Green Version]
- Zheng, Q.; Xu, S.; Ateniese, G. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data. In Proceedings of the IEEE INFOCOM 2014-IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April–2 May 2014; pp. 522–530. [Google Scholar]
- Yin, H.; Zhang, J.; Xiong, Y.; Ou, L.; Li, F.; Liao, S.; Li, K. CP-ABSE: A ciphertext-policy attribute-based searchable encryption scheme. IEEE Access 2019, 7, 5682–5694. [Google Scholar] [CrossRef]
- Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Annual International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
- Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
- Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP’07), Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
- Dong, Q.; Guan, Z.; Chen, Z. Attribute-based keyword search efficiency enhancement via an online/offline approach. In Proceedings of the 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS), Melbourne, Australia, 14–17 December 2015; pp. 298–305. [Google Scholar]
- Li, J.; Lin, X.; Zhang, Y.; Han, J. KSF-OABE: Outsourced attribute-based encryption with keyword search function for cloud storage. IEEE Trans. Serv. Comput. 2016, 10, 715–725. [Google Scholar] [CrossRef]
- Sun, W.; Yu, S.; Lou, W.; Hou, Y.T.; Li, H. Protecting Your Right: Verifiable Attribute-Based Keyword Search with Fine-Grained Owner-Enforced Search Authorization in the Cloud. IEEE Trans. Parallel Distrib. Syst. 2016, 27, 1187–1198. [Google Scholar] [CrossRef]
- Qiu, S.; Liu, J.; Shi, Y.; Zhang, R. Hidden policy ciphertext-policy attribute-based encryption with keyword search against keyword guessing attack. Sci. China Inf. Sci. 2017, 60, 052105. [Google Scholar] [CrossRef]
- De Caro, A.; Iovino, V. jPBC: Java pairing based cryptography. In Proceedings of the 2011 IEEE Symposium on Computers and Communications (ISCC), Corfu, Greece, 28 June 28–1 July 2011; pp. 850–855. [Google Scholar]
Notation | Description |
---|---|
The time of a modular exponentiation in | |
The time of a modular exponentiation in | |
The time of a bilinear pairing | |
H | The time of hash operation mapping a bit-string to an element in |
The number of elements in | |
The number of elements in | |
The number of elements in | |
S | The number of a data user’s attribute |
N | The number of attributes that are involved in a data owner’s access control policy |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhou, Y.; Zheng, S.; Wang, L. Privacy-Preserving and Efficient Public Key Encryption with Keyword Search Based on CP-ABE in Cloud. Cryptography 2020, 4, 28. https://doi.org/10.3390/cryptography4040028
Zhou Y, Zheng S, Wang L. Privacy-Preserving and Efficient Public Key Encryption with Keyword Search Based on CP-ABE in Cloud. Cryptography. 2020; 4(4):28. https://doi.org/10.3390/cryptography4040028
Chicago/Turabian StyleZhou, Yunhong, Shihui Zheng, and Licheng Wang. 2020. "Privacy-Preserving and Efficient Public Key Encryption with Keyword Search Based on CP-ABE in Cloud" Cryptography 4, no. 4: 28. https://doi.org/10.3390/cryptography4040028
APA StyleZhou, Y., Zheng, S., & Wang, L. (2020). Privacy-Preserving and Efficient Public Key Encryption with Keyword Search Based on CP-ABE in Cloud. Cryptography, 4(4), 28. https://doi.org/10.3390/cryptography4040028