EFKG: An Efficient and Fine-Grained Access Control Encrypted Knowledge Graph
Abstract
1. Introduction
- Efficient multi-hop search with fine-grained access control: We propose EFKG, an encrypted knowledge graph scheme that integrates fine-grained access control with efficient multi-hop search. By organizing the graph into subject-based linked lists and enforcing subject-level access policies via ABE, we construct secure indexes that underpin highly efficient retrieval.
- Formal security model and rigorous proof: Based on standard cryptographic assumptions and the leakage function paradigm in searchable encryption, we rigorously prove that EFKG achieves -adaptive security and provide a proof of correctness.
- Extensive experimental validation: Experiments on real-world graph datasets show that EFKG achieves an excellent trade-off between query efficiency and storage overhead. Both index look-up and cross-subject jumps achieve constant time complexity, and the overall retrieval overhead is proportional to the size of the returned results, meeting practical deployment requirements.
2. Related Work
2.1. Searchable Encryption
2.2. Attribute-Based Encryption
2.3. Encrypted Knowledge Graphs
3. Model and Definitions
3.1. System Model
- Trusted Authority (TA): Responsible for global system initialization, generating the ABE public parameters , master secret key , and searchable encryption master keys . TA issues ABE private keys to users according to their attribute sets, and generates query trapdoors on behalf of users. TA is assumed to be fully trusted.
- Data Owner (DO): Possesses the original knowledge graph . DO defines the access policy for each subject s, obtains encryption parameters from TA, performs encryption and index building locally, and outsources the resulting ciphertext structures and index to the cloud server.
- Cloud Server (CS): Provides ciphertext storage and retrieval services. CS receives the ciphertexts uploaded by DO, responds to trapdoor queries from authorized users, executes the search protocol, and returns matching ciphertext results. CS follows the “honest-but-curious” semi-trusted assumption.
- Authorized Users: Obtain ABE private keys from TA. To query a subject, a user requests a trapdoor from TA, submits it to CS, and decrypts the returned results using their ABE private key to recover the plaintext triples.

3.2. Threat Model
- TA and DO are assumed to be fully trusted and will not leak any system master keys or plaintext data;
- CS is a semi-trusted entity that honestly executes the protocol but attempts to analyze data and acquire extra knowledge.
3.3. Security Definition
- : the initialization phase only leaks the number of triples per subject, reflecting the macro-scale of the graph without revealing specific topological connections.
- : the query phase leaks the search pattern (revealing whether two queries target the same subject) and the access pattern (revealing the set of ciphertext identifiers returned by a query and the traversal path).
- Real Experiment : The challenger runs to generate parameters and sends them to the adversary . submits a challenge graph , the challenger runs to generate the real ciphertexts and returns them. Subsequently, the adversary adaptively issues trapdoor queries, and the challenger computes the real trapdoor responses. Finally, the adversary outputs a guess bit b.
- Ideal Experiment : The simulator generates simulated ciphertexts only using the leakage information . During the query phase, returns simulated trapdoors based solely on . Finally, the adversary outputs a guess bit b.
3.4. Algorithm Definition
- : Executed by TA. Takes the security parameter as input and outputs ABE public parameters, master secret key, and two master keys.
- : Executed by TA. Takes the master secret key and a user’s attribute set as input and outputs the user’s ABE private key.
- : Executed by DO. Takes the knowledge graph and encryption parameters as input and outputs the ciphertext table , ABE ciphertext table , and index table .
- : Executed by TA. Takes the two master keys and a query subject s as input and outputs the search trapdoor .
- : Executed by CS. Takes a trapdoor and the ciphertext tables as input and outputs the list of encrypted triples and the corresponding set of ABE ciphertexts .
- : Executed by the user. Takes ciphertext results, ABE ciphertexts, and the private key as input and outputs a set of plaintext triples , or ⊥ (when permissions are insufficient).
4. Scheme Construction
- Subject-based chain structure and hash binding: Triples with the same subject are organized into a linked list. Node pointers are encrypted via XOR with a hash derived from the current ciphertext and a random number, breaking the correlation between ciphertexts and achieving unlinkability.
- Self-contained ciphertext multi-hop navigation: An encrypted multi-hop component is embedded in each linked-list node, encapsulating the complete trapdoor of the next-hop subject. This enables the server to perform constant-time cross-index jumps in the ciphertext space without user involvement.
- Two-layer encryption architecture: Symmetric keys encrypt triple contents, and the symmetric keys are in turn encrypted by ABE. The server only performs lightweight retrieval and synchronously returns ABE ciphertexts, confining the expensive pairing operations to the user side.
4.1. Initialization and Key Generation
4.1.1. System Initialization
- Run the ABE initialization algorithm to generate ABE public parameters and master secret key ;
- Randomly select two symmetric master keys ;
- Output system parameters . Here, is public to all entities, is kept secret by TA, and are distributed to the DO via secure channels.
4.1.2. User Key Generation
4.2. Knowledge Graph Encryption
| Algorithm 1 |
| 1: Initialize empty tables |
| 2: for each distinct subject do |
| 3: Randomly generate content key |
| 4: Determine access policy for subject s, compute ABE ciphertext |
| 5: Store in , record its physical address |
| 6: Retrieve the set of triples with subject s: , where |
| 7: for to n do |
| 8: Encrypt triple: |
| 9: Randomly generate mask seed: |
| 10: Compute local hash key: |
| 11: if then |
| 12: Compute next node address ciphertext: |
| 13: else |
| 14: Compute next node address ciphertext: |
| 15: end if |
| 16: if object o is a subject in then |
| 17: Compute next-hop trapdoor: |
| 18: Compute multi-hop ciphertext: |
| 19: else |
| 20: Pad with random string: |
| 21: end if |
| 22: Create linked-list node , store it at address in |
| 23: end for |
| 24: Set linked-list head address: |
| 25: Compute index value: |
| 26: Insert key-value pair into index table |
| 27: end for |
| 28: return |
- Triple ciphertext table : Stores all encrypted linked-list nodes. Each node contains four fields: ciphertext , plaintext random number , encrypted pointer , and multi-hop component . Since the pointer mask is generated by hashing the ciphertext itself together with a random number, masks of different nodes are mutually independent. The server cannot establish cross-node correlations, ensuring ciphertext unlinkability.
- ABE ciphertext table : Uses physical address as the key to store the ABE ciphertext corresponding to subject s. This table is physically separated from , which is key to decoupling retrieval from authorization.
- Index table : The key is and the value is the pair encrypted via XOR with . The server must possess both components of the trapdoor to locate and decrypt the index entry.

4.3. Trapdoor Generation
4.4. Search
4.4.1. Single-Hop Retrieval
| Algorithm 2 |
| 1: Parse trapdoor , where , |
| 2: Look up in to obtain index value |
| 3: Decrypt index entry: |
| 4: Read ABE ciphertext from using |
| 5: Initialize result set , current address |
| 6: while do |
| 7: Read node from |
| 8: |
| 9: Recover local hash key: |
| 10: Decrypt next node pointer: |
| 11: Update |
| 12: end while |
| 13: return |
4.4.2. Multi-Hop Query
| Algorithm 3 |
| 1: Initialize overall result set , ABE ciphertext set |
| 2: Initialize frontier |
| 3: for to h do |
| 4: Initialize next frontier |
| 5: for each do |
| 6: Parse |
| 7: Look up in to obtain I |
| 8: Decrypt index entry: |
| 9: Read ABE ciphertext C from using |
| 10: |
| 11: |
| 12: while do |
| 13: Read node from |
| 14: |
| 15: |
| 16: |
| 17: Parse |
| 18: if exists in then |
| 19: |
| 20: end if |
| 21: |
| 22: |
| 23: end while |
| 24: end for |
| 25: if then |
| 26: break {No reachable subject in next hop} |
| 27: end if |
| 28: |
| 29: end for |
| 30: return |
4.5. Decryption
| Algorithm 4 |
| 1: Initialize plaintext set |
| 2: for each do |
| 3: Attempt ABE decryption: |
| 4: if then |
| 5: for each do |
| 6: Attempt symmetric decryption: |
| 7: if decryption succeeds and integrity check passes then |
| 8: |
| 9: end if |
| 10: end for |
| 11: break {Decryption for current subject completed} |
| 12: end if |
| 13: end for |
| 14: return |
5. Security Analysis
5.1. Leakage Function Definition
- Search Pattern: Reveals whether the current query is a repeated query (i.e., whether the queried subject s has appeared in the historical query sequence).
- Access Pattern: Reveals the set of encrypted triple identifiers returned by the query and the corresponding linked-list traversal order.
5.2. Security Theorem
5.3. Security Proof
- Randomly select an element from the ABE ciphertext space.
- Store in the simulated ABE ciphertext table , and record its simulated address .
- Generate simulated trapdoor components: randomly picks two independent random strings from the key space, serving as the simulated values of and in the real scheme, respectively.
- Build simulated linked list : Generate a simulated linked list containing nodes. For the i-th node in the linked list: randomly pick a string as the simulated encrypted triple, and a random number . By the IND-CPA security of , a random string is indistinguishable from the real ciphertext. Randomly generate the simulated next-pointer ciphertext and the simulated multi-hop component ciphertext . To ensure that the server can correctly traverse the simulated linked list during queries (satisfying the access pattern ), programs the random oracle H. computes a local hash key and programs it as , such that and (where is the simulated trapdoor component corresponding to the next-hop subject). Since in the ideal experiment can perfectly control the output of H, the logical links between the simulated nodes are consistent with the real linked-list traversal process.
- Simulate index entry: computes the simulated index value , and inserts the key-value pair into the simulated index table .
- If subject s is queried for the first time, returns the previously generated simulated tuple for this subject.
- If subject s has been queried before, according to the search pattern , must return the exact same trapdoor as the previous query.
- IND-CPA security of : Guarantees that the real ciphertext in the table is indistinguishable from the random element generated by the simulator.
- IND-CPA security of : Guarantees that the triple ciphertext in the table is indistinguishable from the random string .
- Security of : Guarantees the pseudorandomness of the location key ( vs. ) and the decryption mask ( vs. ) in the index table , making the encrypted index entries indistinguishable.
- Random Oracle Model: Guarantees the security of the linked-list pointer and multi-hop component masks ( vs. ). In the real scheme, depends on the ciphertext and a random number and behaves as a pseudorandom string; in the ideal experiment, endows it with perfect logical consistency by programming H. Both exhibit the same distribution from the adversary’s perspective.
6. Performance Evaluation
6.1. Index Construction Performance
6.2. Search Performance
6.3. Multi-Hop Retrieval Performance
6.4. Storage Overhead
6.5. Discussion and Comparison with Existing Work
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| ABE | Attribute-Based Encryption |
| BFS | Breadth-First Search |
| CP-ABE | Ciphertext-Policy Attribute-Based Encryption |
| CS | Cloud Server |
| DO | Data Owner |
| EFKG | Efficient and Fine-grained Access Control Encrypted Knowledge Graph |
| IND-CPA | Indistinguishability under Chosen-Plaintext Attack |
| PPT | Probabilistic Polynomial-Time |
| PRF | Pseudorandom Function |
| SE | Searchable Encryption |
| SSE | Searchable Symmetric Encryption |
| TA | Trusted Authority |
References
- Hogan, A.; Blomqvist, E.; Cochez, M.; d’Amato, C.; de Melo, G.; Gutierrez, C.; Kirrane, S.; Gayo, J.E.L.; Navigli, R.; Neumaier, S.; et al. Knowledge graphs. ACM Comput. Surv. 2021, 54, 1–37. [Google Scholar] [CrossRef] [Scilit]
- Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP); IEEE: Piscataway, NJ, USA, 2007; pp. 321–334. [Google Scholar]
- Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. In Proceedings of the 13th ACM Conference on Computer and Communications Security (CCS), Alexandria, VA, USA, 30 October–3 November 2006; pp. 79–88. [Google Scholar]
- Xue, Y.; Chen, L.; Mu, Y.; Zeng, L.; Rezaeibagha, F.; Deng, R.H. Structured encryption for knowledge graphs. Inf. Sci. 2022, 605, 43–70. [Google Scholar] [CrossRef] [Scilit]
- Lin, Q.; Teng, F.; Tian, B.; Zhao, Y.; Zhu, J.y.; Feng, L. An encrypted knowledge graph storage and retrieval scheme based on searchable encryption. Comput. Eng. Sci. 2023, 45, 66. [Google Scholar]
- Chen, Z.; Zhao, Y.; Teng, F.; Hu, J.; Tian, B.; Zhang, H. Dynamic searchable symmetric encrypted knowledge graph. In Proceedings of the 2024 16th International Conference on Communication Software and Networks (ICCSN); IEEE: Piscataway, NJ, USA, 2024; pp. 20–27. [Google Scholar]
- Yin, H.; Zhang, W.; Deng, H.; Qin, Z.; Li, K. An attribute-based searchable encryption scheme for cloud-assisted IIoT. IEEE Internet Things J. 2023, 10, 11014–11023. [Google Scholar] [CrossRef] [Scilit]
- Li, F.; Ma, J.; Miao, Y.; Liu, X.; Ning, J.; Deng, R.H. A survey on searchable symmetric encryption. ACM Comput. Surv. 2024, 56, 1–42. [Google Scholar] [CrossRef] [Scilit]
- Liu, Y.; Watanabe, Y.; Shikata, J. Forward and backward private dynamic searchable encryption with better space efficiency. In Proceedings of the 2023 57th Annual Conference on Information Sciences and Systems (CISS); IEEE: Piscataway, NJ, USA, 2023; pp. 1–6. [Google Scholar]
- Chase, M.; Kamara, S. Structured encryption and controlled disclosure. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security; Springer: Berlin/Heidelberg, Germany, 2010; pp. 577–594. [Google Scholar]
- Wang, S.; Zheng, Y.; Jia, X.; Huang, H.; Wang, C. OblivGM: Oblivious attributed subgraph matching as a cloud service. IEEE Trans. Inf. Forensics Secur. 2022, 17, 3582–3596. [Google Scholar] [CrossRef] [Scilit]
- Zhao, X.; Wang, M.; Jia, Z.; Li, S. Privacy-preserving any-hop cover shortest distance queries on encrypted graphs. IEEE Internet Things J. 2024, 11, 16517–16528. [Google Scholar] [CrossRef] [Scilit]
- Zhang, H.; Zeng, S.; Yang, J. Backward private dynamic searchable encryption with update pattern. Inf. Sci. 2023, 624, 1–19. [Google Scholar] [CrossRef] [Scilit]
- Shruti; Rani, S.; Sah, D.K.; Gianini, G. Attribute-based encryption schemes for next generation wireless IoT networks: A comprehensive survey. Sensors 2023, 23, 5921. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Sravya, G.; Kumar, P.S.; Padmavathy, R. Survey of post-quantum lattice-based ciphertext-policy attribute-based encryption schemes for cloud storage: Taxonomy, open issues, and future directions. IEEE Trans. Serv. Comput. 2024, 17, 4540–4557. [Google Scholar] [CrossRef] [Scilit]
- Yin, H.; Zhao, Y.; Zhang, L.; Qiao, B.; Chen, W.; Wang, H. Attribute-based searchable encryption with decentralized key management for healthcare data sharing. J. Syst. Archit. 2024, 148, 103081. [Google Scholar] [CrossRef] [Scilit]
- Zhang, K.; Jiang, Z.; Ning, J.; Huang, X. Subversion-resistant and consistent attribute-based keyword search for secure cloud storage. IEEE Trans. Inf. Forensics Secur. 2022, 17, 1771–1784. [Google Scholar] [CrossRef] [Scilit]
- Yan, L.; Wang, G.; Yin, T.; Liu, P.; Feng, H.; Zhang, W.; Hu, H.; Pan, F. Attribute-based searchable encryption: A survey. Electronics 2024, 13, 1621. [Google Scholar] [CrossRef] [Scilit]
- Cao, N.; Yang, Z.; Wang, C.; Ren, K.; Lou, W. Privacy-preserving query over encrypted graph-structured data in cloud computing. In Proceedings of the 2011 31st International Conference on Distributed Computing Systems; IEEE: Piscataway, NJ, USA, 2011; pp. 393–402. [Google Scholar]
- Hu, M.; Chen, L.; Chen, G.; Mu, Y.; Deng, R.H. A pruned pendant vertex based index for shortest distance query under structured encrypted graph. IEEE Trans. Inf. Forensics Secur. 2024, 19, 6351–6363. [Google Scholar] [CrossRef] [Scilit]
- Yu, J.; Duan, Y.; Luo, P.; Li, S. Verifiable strong privacy-preserving any-hop reachability query on blockchain-assisted cloud. IEEE Internet Things J. 2024, 11, 39637–39650. [Google Scholar] [CrossRef] [Scilit]
- Wu, H.; Li, Z.; Song, R.; Xiao, B. Enabling privacy-preserving and efficient authenticated graph queries on blockchain-assisted clouds. IEEE Trans. Knowl. Data Eng. 2023, 35, 9728–9742. [Google Scholar] [CrossRef] [Scilit]
- Wang, S.; Zheng, Y.; Jia, X.; Yi, X. PeGraph: A system for privacy-preserving and efficient search over encrypted social graphs. IEEE Trans. Inf. Forensics Secur. 2022, 17, 3179–3194. [Google Scholar] [CrossRef] [Scilit]
- Song, Y.; Ge, X.; Yu, J.; Hao, R.; Yang, M. Enabling privacy-preserving K-Hop reachability query over encrypted graphs. IEEE Trans. Serv. Comput. 2024, 17, 893–904. [Google Scholar] [CrossRef] [Scilit]
- Du, M.; Wu, S.; Wang, Q.; Chen, D.; Jiang, P.; Mohaisen, A. GraphShield: Dynamic large graphs for secure queries with forward privacy. IEEE Trans. Knowl. Data Eng. 2022, 34, 3295–3308. [Google Scholar]
- Popa, R.A.; Redfield, C.M.; Zeldovich, N.; Balakrishnan, H. CryptDB: Protecting confidentiality with encrypted query processing. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, Cascais, Portugal, 23–26 October 2011; pp. 85–100. [Google Scholar]




| Scheme | Multi-Hop | Fine-Grained AC | KG-Native |
|---|---|---|---|
| Xue et al. [4] | ✓ | × | ✓ |
| Hu et al. [20] | ✓ | × | × |
| Du et al. [25] | ✓ | × | × |
| Wang et al. [23] | ✓ | × | × |
| Song et al. [24] | ✓ | × | × |
| Yin et al. [7] | × | ✓ | × |
| Lin et al. [5] | ✓ | × | ✓ |
| Chen et al. [6] | ✓ | × | ✓ |
| EFKG (this work) | ✓ | ✓ | ✓ |
| Symbol | Meaning |
|---|---|
| Knowledge graph | |
| Set of all triples with subject s | |
| System security parameter | |
| Pseudorandom function | |
| H | Cryptographic hash function |
| Symmetric encryption scheme | |
| Attribute-based encryption scheme | |
| Public parameters of the ABE scheme | |
| Master secret key of the ABE scheme | |
| ABE private key of an authorized user | |
| Searchable encryption keys | |
| Access policy associated with subject s | |
| Symmetric key associated with subject s | |
| ABE ciphertext of content key | |
| Search trapdoor for querying subject s | |
| Ciphertext table | |
| ABE ciphertext table | |
| Index table |
| Component | Specification |
|---|---|
| CPU | Intel Core i5-1135G7 |
| Memory | 16 GB DDR4 |
| Operating System | Fedora Linux 42 |
| Compiler | GCC 15.2.1 |
| Cryptographic Library | OpenSSL 3.0 |
| Pairing Library | PBC 0.5.14 |
| Dataset | Entities | Triples | Avg. List Len |
|---|---|---|---|
| Wiki-Vote | 7115 | 103,689 | 14.57 |
| Email-Enron | 36,692 | 367,662 | 10.02 |
| Email-EuAll | 265,214 | 420,045 | 1.58 |
| WikiTalk | 2,394,385 | 5,021,410 | 2.10 |
| Threads | Wall Time (s) | Speedup | Parallel Efficiency |
|---|---|---|---|
| 1 | 42.82 | 1.00× | 100.0% |
| 2 | 22.77 | 1.88× | 94.0% |
| 4 | 14.39 | 2.97× | 74.4% |
| 8 | 12.52 | 3.42× | 42.8% |
| Component | Field Description | Size |
|---|---|---|
| CT node | : AES-256-GCM ciphertext of the serialized triple | 25 B |
| : mask seed ( bits) | 32 B | |
| : encrypted next-node pointer ( bits) | 32 B | |
| : multi-hop component ( bits) | 64 B | |
| ET ciphertext (: ABE-encrypted content key) | 422 B | |
| IT entry ( encrypted index value) | 64 B | |
| Dataset | CT | ET | IT | Total |
|---|---|---|---|---|
| Wiki-Vote | 15.19 | 2.86 | 0.43 | 21.80 |
| Email-Enron | 54.00 | 14.76 | 2.24 | 83.06 |
| Email-EuAll | 62.05 | 106.88 | 16.19 | 204.01 |
| WikiTalk | 748.19 | 967.13 | 146.14 | 2069.50 |
| Dataset | L | EFKG (MB) | DSSE-KG (MB) |
|---|---|---|---|
| Wiki-Vote | 14.57 | 21.80 | 30.86 |
| Email-Enron | 10.02 | 83.06 | 112.90 |
| Email-EuAll | 1.58 | 204.01 | 145.84 |
| WikiTalk | 2.10 | 2069.50 | 1668.10 |
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. |
© 2026 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.
Share and Cite
Yao, G.; Guo, J.; Zhang, H.; Tian, B.; Zhao, Y. EFKG: An Efficient and Fine-Grained Access Control Encrypted Knowledge Graph. Cryptography 2026, 10, 58. https://doi.org/10.3390/cryptography10040058
Yao G, Guo J, Zhang H, Tian B, Zhao Y. EFKG: An Efficient and Fine-Grained Access Control Encrypted Knowledge Graph. Cryptography. 2026; 10(4):58. https://doi.org/10.3390/cryptography10040058
Chicago/Turabian StyleYao, Guangqiang, Jincheng Guo, Hao Zhang, Bo Tian, and Yue Zhao. 2026. "EFKG: An Efficient and Fine-Grained Access Control Encrypted Knowledge Graph" Cryptography 10, no. 4: 58. https://doi.org/10.3390/cryptography10040058
APA StyleYao, G., Guo, J., Zhang, H., Tian, B., & Zhao, Y. (2026). EFKG: An Efficient and Fine-Grained Access Control Encrypted Knowledge Graph. Cryptography, 10(4), 58. https://doi.org/10.3390/cryptography10040058

