Enhancing Efficiency and Security in Unbalanced PSI-CA Protocols through Cloud Computing and Homomorphic Encryption in Mobile Networks
Abstract
:1. Introduction
1.1. Background
1.2. Motivation
1.3. Main Work
- To address the performance shortcomings of traditional PSI-CA protocols in the face of significant differences in dataset sizes between participants, this paper introduces the first protocol, which is the unbalanced PSI-CA protocol based on Cuckoo filter. This protocol successfully constructs the first unbalanced private intersection cardinality protocol of this article by integrating exchange encryption technologies with Cuckoo filter functionalities for private information retrieval, followed by experimental analysis.
- To alleviate the computational and storage burden on the small health app developer in the first protocol, the paper further proposes an unbalanced PSI-CA protocol based on single-cloud assistance and conducts experimental analysis. This strategy effectively migrates computational and storage tasks to cloud services, significantly optimizing resource utilization efficiency.
- To safeguard against data leakage risks inherent in the unbalanced PSI-CA protocol based on single-cloud assistance, which cannot resist collusion attacks, the paper further designs an unbalanced PSI-CA protocol based on dual-cloud assistance. By employing homomorphic encryption and other security technologies, this scheme resolves potential data leakage risks in the single-cloud protocol while effectively preventing potential collusion attacks.
- Based on the unbalanced PSI-CA protocol based on dual-cloud assistance, this paper also designs the PSI-CA network and establishes corresponding data update strategies, significantly enhancing the practicality of the protocol.
2. Related Works
2.1. Design Framework of Private Set Intersection Protocol
2.1.1. Design Framework Based on Public Key Encryption
- Based on Diffie–Hellman (DH) theory: Meadows [5] used the DH key-exchange mechanism, which is based on the discrete logarithm problem, to implement a PSI protocol. In contrast, Huberman et al. [6] explored the use of elliptic curve cryptography in PSI, noting its significant advantages in security and efficiency compared to traditional discrete logarithm-based PSI methods.
- Based on the RSA assumption: DeCristofaro et al. [7] developed a semi-honest PSI protocol using RSA blind signature technology based on the integer factorization problem. Another study [8] showed that PSI schemes based on discrete logarithm cryptography demonstrated higher efficiency compared to those based on integer factorization cryptography.
- Based on homomorphic encryption: Freedman et al. [9] innovatively represented elements as roots of polynomials and encrypted the coefficients of these polynomials using Paillier homomorphic encryption technology, combined with zero-knowledge proofs, to implement a two-party PSI protocol resistant to malicious attacks. In 2016, Freedman et al. [10] further improved computational efficiency through the ElGamal encryption mechanism and reduced the protocol’s computational complexity using Cuckoo Hash technology [4]. Abadi et al. [11] introduced a set representation method based on point-value pairs of d-degree polynomials, implemented through the Paillier encryption scheme, reducing the multiplication complexity from O() to O(d) [4]. Kissner et al. [12] adopted different polynomial representation methods, significantly reducing computational costs to be linearly proportional to the number of participants. Jarecki et al. [13] used additive homomorphic encryption and zero-knowledge proofs to implement pseudorandom functions (PRF). Hazay et al. [14] developed an additive homomorphic encryption scheme that supports threshold decryption for implementing multi-party semi-honest PSI protocols. Dou Jiawei et al. [15] combined Paillier encryption to propose a PSI protocol based on the formula for calculating the area of triangles and rational number encoding.
2.1.2. Design Framework Based on Garbled Circuits
2.1.3. Design Framework Based on Oblivious Transfer
2.2. PSI-CA
3. Related Theories and Technologies
3.1. Multi-Party Secure Computation Security Model
- Semi-honest model: In this model, participants adhere to the protocol’s execution rules but may attempt to gather other participants’ inputs, outputs, and any accessible information during the execution of the protocol. This model assumes that the participants do not deviate from the established procedural rules but will use all available information to deduce the private data of others.
- Malicious adversary model: Unlike the semi-honest model, the malicious adversary model accounts for the possibility that attackers may manipulate a subset of the participants to perform illicit actions, such as submitting incorrect input data or maliciously altering data to steal the private information of honest participants. Malicious adversaries might also disrupt the protocol by intentionally terminating its execution or by refusing to participate, thus preventing the protocol’s completion.
3.2. Cuckoo Filter
3.3. Paillier Homomorphic Encryption
- Additive Homomorphism: If and , then . This allows for performing addition operations on ciphertexts without needing to decrypt them first.
- Scalar Multiplication Homomorphism: If , then . This means that it is possible to perform multiplication operations between a ciphertext and a plaintext scalar without decryption.
4. PSI-CA Protocol Constructed Based on DH Key Exchange Mechanism
4.1. Protocol Process
4.1.1. Exchange and Computation Stage
- Receiver Data Encryption: The receiver encrypts with its private key , obtaining , and sends it to the sender.
- Sender Computation: Upon receiving , the sender applies their private key to compute and shuffles it before sending it back to the receiver.
- Sender Data Encryption: The sender encrypts with its private key , resulting in , and sends it to the receiver to facilitate the computation of the intersection cardinality.
4.1.2. Cardinality Calculation Stage
- Receiver Decryption and Computation: The receiver uses the inverse of to decrypt to retrieve . By comparing with , the receiver can calculate the cardinality of the intersection between the two sets.
4.2. Experimental Analysis
4.3. Summary of This Chapter
5. Unbalanced PSI-CA Protocol Based on Cuckoo Filter
5.1. Definition of Main Participants and Related Symbols
- Large medical institution represents the party with a larger dataset and greater computational and storage capabilities.
- Small health app developer represents the party with a smaller dataset and lesser computational and storage capabilities.
- X and Y represent the dataset of the large medical institution and the small health app developer, respectively.
- represents the private key of the large medical institution in the Diffie–Hellman encryption algorithm.
- represents the random number generated by the small health app developer for the Diffie–Hellman encryption algorithm.
- H represents the hash function negotiated by the small health app developer and large medical institution for use.
- represents Cuckoo filter, represents the operation of adding an element to the Cuckoo filter, represents the operation of checking whether a specific element exists in the filter.
- represents the i-th element of set X. Similarly, , , etc., also represent similar meanings.
- represents the set containing ciphertexts sent by the small health app developer to the large medical institution.
- represents the set containing ciphertexts sent by the large medical institution to the small health app developer.
- represents the result obtained through a series of exchange and decryption operations, used to retrieve the filter.
- represents the cardinality of the intersection between the two parties.
5.2. Protocol Process
5.2.1. Preprocessing
- Security parameter negotiation: The small health app developer and the large medical institution agree on the large prime number q used in the DH encryption algorithm and the hash function H used.
- Large Medical Institution Generates Private Key: The large medical institution generates its own private key , used for the Diffie–Hellman (DH) encryption algorithm.
- Data Scrambling: The small health app developer and the large medical institution scramble their own datasets Y and X for randomization, enhancing data privacy and security.
- Small Health App Developer Data Preprocessing: The small health app developer calculates and generates random numbers , used for the Diffie–Hellman (DH) encryption algorithm.
- Creation of Cuckoo Filter: The large medical institution generates a Cuckoo filter by using the operation and sends the filter to the small health app developer for private-set intersection queries with privacy protection.
5.2.2. Cardinality Calculation
- Element Blinding and Interactive Encryption Operations: The small health app developer and the large medical institution interact through a series of asymmetric encryption and decryption operations to blind the small health app developer’s elements. Specifically, the small health app developer calculates and sends C to the large medical institution. The large medical institution uses its private key to compute and sends back to the small health app developer.
- Cardinality Computation: After receiving , the small health app developer checks whether they belong to the filter through the check operation , thereby calculating the cardinality of the intersection of the sets. Specifically, after receiving sent by the large medical institution, the small health app developer computes and uses the result to query the filter to obtain the intersection’s cardinality .
5.3. Correctness Analysis
5.4. Security Analysis
5.4.1. Definition
5.4.2. Theorem
5.4.3. Proof
- Sender’s View: We start from the case where the sender is corrupted. We construct a simulator , which receives the sender’s private input and output and generates the view of the sender S in the protocol. We want to show that this view is indistinguishable from the view of S in an execution of the unbalanced PSI-CA protocol based on Cuckoo filter. That is,We first sketch the algorithm of . In the pre-process step, determines a prime number q and chooses a public key with the same security parameter. It constructs a Cuckoo filter in the presence of the ciphertexts, which is all the same as the real execution. Then, fills a set with the same size as Y randomly and determines a key to encrypt each element in utilizing the Hellman encryption scheme randomly. We denote the encryption set result as Y. Last but not least, attempts to obtain the cardinality of the set intersection by querying the Cuckoo filter.From the view of the sender, given the secure Hellman encryption scheme, the distribution of produced by is indistinguishable from the one produced by the real execution. Thus, we can conclude that the simulated view is indistinguishable from the real view.
- Receiver’s View: In this case, the receiver is corrupted. We construct a simulator that is given the private input Y and the output . Similarly, we will prove this view is indistinguishable from the view of the receiver R in the real execution. That is, .We first sketch the algorithm of . In the pre-process step, determines a prime number q and chooses a public key with the same security parameter to encrypt its own set Y. Then, randomly chooses elements from a predefined universe and elements from Y. We denote the new dataset as . Afterward, determines a sender’s key to encrypt the dataset and constructs the Cuckoo filter in the presence of the new dataset’s ciphertext using the parameters determined in the pre-process step. Since the distribution of produced by is indistinguishable from the distribution of X produced by the real execution, we conclude the simulated view is indistinguishable from a real view.
5.5. Experimental Analysis
5.6. Summary of This Chapter
6. Unbalanced PSI-CA Protocol Based on Single-Cloud Assistance
6.1. Definition of Main Participants and Related Symbols
- Large medical institution represents the party with a larger dataset and greater computational and storage capabilities.
- Small health app developer represents the party with a smaller dataset and lesser computational and storage capabilities.
- Cloud server represents an auxiliary server that assists the receiver in obtaining the intersection’s cardinality operations, undertaking most of the computational and storage pressures.
- X and Y represent the dataset of the large medical institution and the small health app developer, respectively.
- represents the obfuscated dataset sent by the small health app developer to the large medical institution, used to confuse the cloud server and prevent it from obtaining the accurate cardinality of the intersection. k represents the cardinality of the set .
- represents the private key of the large medical institution in the Diffie–Hellman encryption algorithm.
- represents the random number generated by the small health app developer, used to blind the data.
- represents the random number generated by the small health app developer for the Diffie–Hellman encryption algorithm.
- H represents the hash function negotiated for use by the small health app developer and large medical institution.
- represents the Cuckoo Filter, represents the operation to add an element to the Cuckoo filter, represents the operation to check if a specified element exists in the filter.
- represents the i-th element of the set X. Similarly, , , etc., also represent similar meanings.
- represents the set of ciphertexts sent by the small health app developer to the large medical institution.
- represents the set of ciphertexts sent by the large medical institution to the small health app developer
- represents the result obtained through a series of exchange and decryption operations, used to retrieve the filter to obtain the cardinality of intersection.
- represents the variable used to help the small health app developer obtain the cardinality of the intersection, where represents the cardinality of the intersection.
6.2. Protocol Process
6.2.1. Preprocessing
- Security parameter negotiation: Each role discusses the necessary security parameters; all parties share the large prime q used in the DH cryptographic algorithm. The small health app developer and the large medical institution negotiate to generate and the hash function H.
- The small health app developer negotiates with the large medical institution to create an obfuscated dataset ; this dataset is completely useless data, which means that its elements cannot belong to either the small health app developer or the large medical institution collection.
- Large medical institution generates a private key: The large medical institution generates its own private key , for use in the Diffie–Hellman encryption algorithm.
- Data scrambling: The small health app developer and the large medical institution each scramble their own datasets X and Y.
- Small health app developer data preprocessing: The small health app developer calculates , generates random numbers , and calculates .
6.2.2. Outsourcing
- Large medical institution sends data to the cloud server: The large medical institution uses its private key to perform the operation , creates a Cuckoo filter , and sends it to the cloud server.
- Small health app developer sends data to the cloud server: The small health app developer sends the random numbers and to the cloud server. After receiving the data sent by the small health app developer, the cloud server calculates . At this point, the cloud server has saved the small health app developer’s blinded data.
6.2.3. Cardinality Calculation
- Cloud server sends data: The cloud server sends the blinded data to the large medical institution.
- Large medical institution processes data: Upon receiving , the large medical institution uses its private key to calculate and sends the result back to the cloud server.
- Cloud server processes data: After receiving from the large medical institution, the cloud server calculates and uses the result to search . If exists in , then sum is incremented by 1 (initial value of sum is 0).
- Obtaining the intersection cardinality: The small health app developer obtains the cardinality of the intersection by calculating , where k is the cardinality of the set .
6.3. Correctness Analysis
6.4. Security Analysis
6.5. Experimental Analysis
6.5.1. Data Storage Volume
6.5.2. Protocol Running Time
6.6. Summary of This Chapter
7. Unbalanced PSI-CA Protocol Based on Dual-Cloud Assistance
7.1. Definition of Main Participants and Related Symbols
- Large medical institution represents the party with a larger dataset and greater computational and storage capabilities.
- Small health app developer represents the party with a smaller dataset and lesser computational and storage capabilities.
- Cloud server : Acts as an auxiliary server for the small health app developer, handling the majority of computation and storage pressures.
- cloud server : Another auxiliary server handling substantial computational and storage demands.
- X and Y represent the dataset of the large medical institution and the small health app developer, respectively.
- represents the obfuscated dataset sent by the small health app developer to the large medical institution, used to confuse the cloud server and prevent it from obtaining the accurate cardinality of the intersection. k represents the cardinality of the set .
- represents the private key of the large medical institution used in the Diffie–Hellman encryption algorithm.
- H: The hash function agreed upon by the small health app developer and the large medical institution for use.
- represents the Cuckoo Filter, where denotes the operation to add elements, and checks for the presence of specific elements.
- : Random exponentials generated by the small health app developer for cloud server , for cloud server .
- a: A secret value held by the small health app developer.
- : Random numbers used by the small health app developer for sending obfuscated data to cloud server , and for where .
- : The ciphertext collection sent from cloud server to the large medical institution, and from ; and are specific elements within these collections.
- and : Processed ciphertext collections returned to and from the large medical institution; and are specific elements within these collections.
- and : Final processed ciphertext collections at and after receiving data from the large medical institution; and are specific elements within these collections.
- represents the result of multiplying and used to query the filter.
- represents the variable used to help the small health app developer obtain the cardinality of the intersection, where represents the cardinality of the intersection.
7.2. Protocol Process
7.2.1. Preprocessing
- Discuss security parameters: Each party discusses the necessary security parameters—the large prime q used in DH encryption and the small health app developer’s public key required for the Paillier encryption system. The small health app developer and the large medical institution negotiate the creation of hash function H.
- The small health app developer negotiates with the large medical institution to create an obfuscated dataset . This dataset is completely useless data, which means that its elements cannot belong to either the small health app developer or the large medical institution collection.
- Small health app developer sends : The small health app developer generates its private secret number a and sends to the large medical institution.
- Large medical institution generates private key: The large medical institution creates its private key , used for the DH encryption algorithm.
- Data scrambling: The small health app developer and the large medical institution each shuffle their respective datasets.
- Small health app developer calculates hashes and generates random numbers: The small health app developer computes and generates random numbers, , , , , and computes , , where .
7.2.2. Outsourcing
- Small health app developer sends data to cloud servers: The small health app developer sends , to cloud server and , to cloud server . computes , and computes . At this point, and hold the small health app developer’s obfuscated data.
- Large medical institution sends data to cloud servers: Using , the large medical institution performs the filter insertion operation to generate a Cuckoo filter and sends it to cloud server . stores the filter sent by the large medical institution.
7.2.3. Intersection
- and send data: and each send their respective collections and to the large medical institution.
- Large medical institution processes data: Upon receiving the data, the large medical institution uses its private key to compute and sends the results back to . It also processes and sends the results back to .
- processes data: After receiving data from the large medical institution, uses the random number to calculate and sends the results to .
- processes data: Upon receiving data from and the large medical institution, calculates . checks if exists in . If exists in , then sum is incremented by 1 (initial value of sum is 0).
- Obtaining the intersection cardinality: The small health app developer obtains the cardinality of the intersection by calculating , where k is the cardinality of the set .
7.3. Correctness Analysis
7.4. Security Analysis
- The small health app developer runs the preprocessing algorithm, sharing the cryptographic hash function H and the large prime q used in the protocol with the adversary.
- The small health app developer simulates the outsourcing algorithm and sends their (encrypted) input to the adversary.
- The small health app developer and the adversary simulate the intersection algorithm and discard any output.
- The adversary is asked to output a guess of the small health app developer’s input y.
- In step four of Figure 4, since and are unknown to the adversary, cannot be derived. The adversary can only attempt exhaustive guessing, thus making negligible.
- In subsequent steps, as A does not know the small health app developer’s private key for the Paillier encryption system, it is impractical to decrypt the ciphertexts, making it even more challenging to derive . For instance, , and since the private key used in Paillier’s system by the small health app developer is unknown, decrypting this compound is complex and hence remains secure.
7.5. Experimental Analysis
7.5.1. Data Computation Volume
- Unbalanced PSI-CA protocol based on Cuckoo filter: Two rounds of modular exponentiation operations and filter retrieval.
- Unbalanced PSI-CA protocol based on single-cloud assistance: A single round of multiplication operations.
- Unbalanced PSI-CA protocol based on dual-cloud assistance: Two rounds of multiplication operations.
- Modular Exponentiation Operation: Representing computation-intensive operations, modular exponentiation becomes particularly time-consuming. On a standard hardware setup, the time required for a single modular exponentiation operation depends primarily on the size of the numbers involved and the efficiency of the algorithm.
- Multiplication Operation: Compared to modular exponentiation, multiplication operations execute much faster on modern computing systems, even when involving large numbers. Therefore, whether it is a single round of multiplication in the single-cloud protocol or two rounds in the dual-cloud protocol, the processing times are relatively short.
- Cuckoo Filter Retrieval: Although relatively quick, the retrieval operation for a Cuckoo filter involves memory access, which may make it slightly slower than simple arithmetic operations. The exact time required for this operation depends on the size of the filter and the efficiency of the implementation.
- Unbalanced PSI-CA Protocol Based On Cuckoo Filter: Primarily relies on two rounds of modular exponentiation, which are computation-intensive, especially when dealing with large numbers, making it the most time-consuming of all the operations reviewed. Additionally, the filter retrieval operation is also involved.
- Unbalanced PSI-CA Protocol Based On Single-Cloud Assistance: By executing a single round of multiplication, it significantly alleviates the computational burden on the small health app developer. Multiplication operations, even for large numbers, can be done quickly.
- Unbalanced PSI-CA Protocol Based On Dual-Cloud Assistance: Includes two rounds of multiplication operations, also aiming to distribute the computational pressure on the small health app developer. Although it involves two rounds of multiplication, due to the inherent efficiency of the operation, the total processing time remains within an acceptable range.
7.5.2. Protocol Running Time
7.6. Summary of This Chapter
7.7. Extensions
7.7.1. PSI-CA Network
- Access and Authentication of Cloud Servers: Any server can apply to become a cloud server, also known as a server assistant. These servers must undergo a series of certification processes (including hardware performance verification, security vulnerability scanning, and compliance checks) to ensure they meet security and performance standards. Servers that pass the certification but later violate regulations will be blacklisted and removed. The system maintains platform security and trust through mechanisms such as regular security scans and real-time monitoring, with any violations leading to immediate removal and further investigation of the server.
- Mechanism for Selecting Server Assistants: When needing to perform PSI-CA, small health app developers choose two cloud servers based on their performance (such as processing power, storage capacity, and network bandwidth), stability, security capabilities, and compliance with regulations, among other hard and soft factors. Cloud servers with high availability promises are preferred to minimize the risk of failures.
- Execution Mechanism for PSI-CA Operations: The PSI-CA network supports small health app developer flexibility and system scalability; small health app developers can execute PSI-CA on different large medical institutions by merely changing and obfuscated dataset , without needing to redesign the entire system. This design enhances small health app developer flexibility and the system’s efficiency, reliability, and security.
7.7.2. Data Updates
- Data Updates on the Large Medical Institution’s Side:As shown in Figure 5, the update details of the large medical institution are as follows:Definition of main participants and related symbols:
- Large medical institution: Represents the large medical institution that wants to encrypt and upload updated data to cloud server .
- Cloud server : Represents the cloud-assisted server that assists the large medical institution in completing update operations.
- Z represents the set of data to be updated; represents the k-th element of Z.
- represents the load factor of the filter.
- represents the data after encryption processing.
- represents the operation index, used to determine whether the update operation is an insertion or deletion.
- U represents the set of data sent by the large medical institution to the cloud-assisted server ; represents the k-th element of U.
Update process:- The large medical institution has a set of elements Z it wants to insert or delete. These elements are blinded before being sent to cloud server . Specifically, .
- In addition to sending the blinded elements, the large medical institution also sends an identifier variable to inform the small health app developer whether the operation is an insertion or a deletion.
- During an insertion operation, first checks whether the current filter’s load factor exceeds 0.95.
- If the load factor is greater than 0.95, then must request the large medical institution to generate a new filter using all elements to maintain high spatial and lookup efficiency of the filter.
- If the load factor is less than or equal to 0.95, then can directly insert the element into the current filter .
- In a deletion operation, removes the specified element from the filter , a process that does not require generating a new filter.
- Data Updates on the Small Health App Developer’s Side:As shown in Figure 6, the update details of the small health app developer are as follows:Definition of main participants and related symbols:
- Small health app developer: Represents the small health app developer who wants to perform data updates.
- Cloud server represents the cloud-assisted server that assists the small health app developer in completing update operations.
- Cloud server represents the cloud-assisted server that assists the small health app developer in completing update operations.
- Z represents the set of data to be updated; represents the k-th element of Z.
- represents the data after being processed by the hash function H.
- k represents the data index, used to determine the type of update, either insertion or deletion, and to retrieve the updated data based on the index.
- When adding data, represents the data processed through the dual-cloud scheme and sent to the two cloud-assisted servers. When deleting, is null.
- V represents the set of data sent by the small health app developer to the cloud-assisted server ; represents the k-th element of V.
- represents the set of data sent by the small health app developer to the cloud-assisted server ; represents the k-th element of .
Update process:- The small health app developer has a set of elements Z it wants to insert or delete. In both cases, the small health app developer blinds each element and sends them to and , respectively.
- The small health app developer sends a data index K to inform the cloud servers about the type of update, whether it is an insertion or a deletion. If the index is less than , it indicates a deletion operation. In this case, is null, and and delete the corresponding data based on the index.
- If the index is greater than , it indicates an addition operation, and the corresponding calculation results and index are saved.
- After completing a batch of deletion and addition operations, the relative order of the indices also needs to be adjusted. The update process is illustrated in Figure 5.
8. Conclusions and Future Work
8.1. Work Summary
- Addressing the shortcomings of traditional PSI-CA protocols when dealing with significant data size disparities among participants, this paper proposes the first protocol, namely the unbalanced PSI-CA protocol based on Cuckoo filter.
- Given the complexities of cryptographic operations and storage demands of the small health app developer in the unbalanced PSI-CA protocol based on Cuckoo filter, this paper introduces an unbalanced PSI-CA protocol based on single-cloud assistance. This protocol effectively transfers the majority of computational and storage burdens from the small health app developer to the cloud.
- In response to potential collusion between the cloud and large medical institution in the unbalanced PSI-CA protocol based on single-cloud assistance, this paper proposes a unbalanced PSI-CA protocol based on dual-cloud assistance with security mechanisms like homomorphic encryption, which effectively prevents collusion attacks while offloading computational and storage burdens.
- In view of the practical problems of the unbalanced PSI-CA protocol based on dual-cloud assistance, this paper also designs a PSI-CA network and a data update mode tailored for the unbalanced PSI-CA protocol based on dual-cloud assistance.
8.2. Three Protocols
8.3. Future Outlook
- All protocols are designed for two-party unbalanced PSI-CA. Extending these protocols to multi-party scenarios is an important future direction, given the practical needs for multi-party computations.
- The protocols are developed under a semi-honest security model. Extending their robustness to malicious models, where adversaries may actively attempt to undermine the protocols, represents a crucial area for further research.
- The current protocols are focused exclusively on PSI-CA. In practical applications, there may be a need to carry out other types of computations, such as PSI-SUM, etc. Expanding the protocols to support a variety of computational types is another significant direction for future work.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Bald, P.; Baronio, R.; Cristofaro, E.; Gasti, P.; Tsudik, G. Efficient and secure testing of fully-sequenced human genomes. Biol. Sci. Initiat. 2000, 470, 7–10. [Google Scholar]
- Chen, H.; Laine, K.; Rindal, P. Fast private set intersection from homomorphic encryption. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 1243–1255. [Google Scholar]
- Nagaraja, S.; Mittal, P.; Hong, C.Y.; Caesar, M.; Borisov, N. {BotGrep}: Finding {P2P} Bots with Structured Graph Analysis. In Proceedings of the 19th USENIX Security Symposium (USENIX Security 10), Washington, DC, USA, 11–13 August 2010. [Google Scholar]
- Li, W.; Liu, J.; Zhang, L.; Wang, Q.; He, C. A Survey on Set Intersection Computation for Privacy Protection. J. Comput. Res. Dev. 2022, 59, 1782–1799. [Google Scholar]
- Meadows, C. A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party. In Proceedings of the 7th IEEE Symposium on Security and Privacy, Oakland, CA, USA, 7–9 April 1986; p. 134. [Google Scholar]
- Huberman, B.; Franklin, M.; Hogg, T. Enhancing Privacy and Trust in Electronic Communities. In Proceedings of the 1st ACM Conference on Electronic Commerce, Denver, CO, USA, 3–5 November 1999; pp. 78–86. [Google Scholar]
- DeCristofaro, E.; Tsudik, G. Experimenting with Fast Private Set Intersection. In Proceedings of the International Conference on Trust and Trustworthy Computing, Vienna, Austria, 13–15 June 2012; pp. 55–73. [Google Scholar]
- Pinkas, B.; Schneider, T.; Zohner, M. Faster Private Set Intersection Based on OT Extension. In Proceedings of the 23rd USENIX Security Symposium, San Diego, CA, USA, 20–22 August 2014; pp. 797–812. [Google Scholar]
- Freedman, M.; Nissim, K.; Pinkas, B. Efficient Private Matching and Set Intersection. In Proceedings of the 23rd International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004. [Google Scholar]
- Freedman, M.J.; Hazay, C.; Nissim, K.; Pinkas, B. Efficient Set Intersection with Simulation-Based Security. J. Cryptol. 2016, 29, 115–155. [Google Scholar] [CrossRef]
- Abadi, A.; Terzis, S.; Dong, C. O-PSI: Delegated Private Set Intersection on Outsourced Datasets. In Proceedings of the 27th IFIP International Information Security and Privacy Conference, Hamburg, Germany, 26–28 May 2015; pp. 3–17. [Google Scholar]
- Kissner, L.; Song, D. Privacy-Preserving Set Operations. In Proceedings of the 25th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; pp. 241–257. [Google Scholar]
- Jarecki, S.; Liu, X. Efficient Oblivious Pseudorandom Function with Applications to Adaptive OT and Secure Computation of Set Intersection. In LNCS 5444, Proceedings of the 6th Theory of Cryptography Conference, Francisco, CA, USA, 15–17 March 2009; Springer: Berlin/Heidelberg, Germany; pp. 577–594.
- Hazay, C.; Venkitasubramaniam, M. Scalable Multi-party Private Set-Intersection. In Proceedings of the 20th IACR International Workshop on Public Key Cryptography, Amsterdam, The Netherlands, 28–31 March 2017; pp. 175–203. [Google Scholar]
- Dou, J.; Liu, X.; Wang, W. Efficient and Secure Calculation of Two-Party Sets in the Field of Rational Numbers. Chin. J. Comput. 2020, 43, 1397–1413. [Google Scholar]
- Damgård, I.; Pastro, V.; Smart, N.; Zakarias, S. Multiparty Computation from Somewhat Homomorphic Encryption. In Proceedings of the 32nd Annual Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2012; Name, E., Ed.; Springer: Berlin/Heidelberg, Germany, 2012. Lecture Notes in Computer Science. pp. 643–662. [Google Scholar]
- Yao, A.C. Protocols for Secure Computations. In Proceedings of the 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), Chicago, IL, USA, 3–5 November 1982; pp. 160–164. [Google Scholar]
- Micali, S.; Goldreich, O.; Wigderson, A. How to Play Any Mental Game. In Proceedings of the 19th ACM Symposium on Theory of Computing, New York, NY, USA, 1 January 1987; pp. 218–229. [Google Scholar]
- Pinkas, B.; Schneider, T.; Segev, G.; Zohner, M. Phasing: Privateset intersectionusing permutation-basedhashing. In Proceedings of the 24th USENIX Security Symposium, USENIX Association, Washington, DC, USA, 12–14 August 2015; pp. 515–530. [Google Scholar]
- Pinkas, B.; Schneider, T.; Weinert, C.; Wieder, U. Efficient circuit-based PSI via Cuckoo hashing. In Proceedings of the 38th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Darmstadt, Germany, 19–23 May 2019; pp. 125–157. [Google Scholar]
- Pinkas, B.; Schneider, T.; Tkachenko, O.; Yanai, A. Efficient circuit-based PSI with linear communication. In Proceedings of the 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, 10–14 May 2019; pp. 122–153. [Google Scholar]
- Huang, Y.; Evans, D.; Katz, J. Private Set Intersection: Are Garbled Circuits Better Than Custom Protocols? In Proceedings of the 19th Network and Distributed System Security Symposium, San Diego, CA, USA, 5–8 February 2012. [Google Scholar]
- Naor, M.; Pinkas, B. Efficient oblivious transfer protocols. In Proceedings of the SODA, Washington, DC, USA, 7–9 January 2001; Volume 1, pp. 448–457. [Google Scholar]
- Dong, C.; Chen, L.; Wen, Z. When private-set intersection meets big data: An efficient and scalable protocol. In Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 789–800. [Google Scholar]
- Rindal, P.; Rosulek, M. Improved private set intersection against malicious adversaries. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, 30 April–4 May 2017; pp. 235–259. [Google Scholar]
- Zhang, E.; Liu, F.H.; Lai, Q.; Jin, G.; Li, Y. Efficient multi-party private set intersection against malicious adversaries. In Proceedings of the 2019 ACM SIGSAC Conference on Cloud Computing Security Workshop, London, UK, 11 November 2019; pp. 93–104. [Google Scholar]
- Pinkas, B.; Rosulek, M.; Trieu, N.; Yanai, A. PSIfrom PaXoS: Fast, malicious private set intersection. In Proceedings of the 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, 10–14 May 2019; pp. 739–767. [Google Scholar]
- Orrù, M.; Orsini, E.; Scholl, P. Actively secure 1-out-of-n OT extension with application to private set intersection. In Proceedings of the Cryptographers’ Track at the RSA Conference, San Francisco, CA, USA, 14–17 February 2017; pp. 381–396. [Google Scholar]
- Rindal, P.; Schoppmann, P. VOLE-PSI: Fast OPRF and Circuit-PSI from Vector-OLE. IACR Cryptology ePrint Archive. 2021. Available online: https://eprint.iacr.org/2021/266 (accessed on 28 April 2024).
- Schoppmann, P.; Gascón, A.; Reichert, L.; Raykova, M. Distributed vector-OLE: Improved constructions and implementation. In Proceedings of the 26th ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 1055–1072. [Google Scholar]
- Weng, C.; Yang, K.; Katz, J.; Wang, X. Wolverine: Fast, Scalable, and Communication-Efficient Zero-Knowledge Proofs for Boolean and Arithmetic Circuits. Cryptology ePrint Archive. 2020. Available online: https://eprint.iacr.org/2020/925 (accessed on 28 April 2024).
- Egert, R.; Fischlin, M.; Gens, D.; Jacob, S.; Senker, M.; Tillmanns, J. Privately Computing Set-Union and Set-Intersection Cardinality via Bloom Filters. Eur. J. Oper. Res. 2015, 139, 371–389. [Google Scholar]
- Ashok, V.; Mukkamala, R. A Scalable and Efficient Privacy Preserving Global Itemset Support Approximation Using Bloom Filters. In Proceedings of the IFIP Conference on Data and Applications Security and Privacy, Vienna, Austria, 14–16 July 2014; pp. 382–389. [Google Scholar]
- Debnath, S.; Dutta, R. Secure and Efficient Private Set Intersection Cardinality Using Bloom Filter. In Proceedings of the International Information Security Conference, Trondheim, Norway, 9–11 September 2015; pp. 209–226. [Google Scholar]
- De Cristofaro, E.; Gasti, P.; Tsudik, G. Fast and Private Computation of Cardinality of Set Intersection and Union. In Proceedings of the CANS 2012, Darmstadt, Germany, 12–14 December 2012; pp. 218–231. [Google Scholar]
- Jarecki, S.; Liu, X. Fast Secure Computation of Set Intersection. In Proceedings of the SCN 2010, Amalfi, Italy, 13–15 September 2010; Lecture Notes in Computer Science. Volume 6280, pp. 418–435. [Google Scholar]
- Su, G.; Xu, M. A Survey on Secure Multi-party Computation Technology and Applications. Inf. Commun. Technol. Policy 2019, 45, 19–22. [Google Scholar]
- Li, A. Research on Multi-Party Statistical Computations Based on Functional Encryption. Ph.D. Thesis, Wuhan University of Technology, Wuhan, China, 2017. [Google Scholar]
- Wang, H.; Dai, H.; Chen, S.; Chen, Z.; Chen, G. A Survey of Filter Data Structures. Comput. Sci. 2024, 51, 35–40. [Google Scholar]
- Yu, M.; Fabrikant, A.; Rexford, J. BUFFALO: Bloom filter forwarding architecture for large organizations. In Proceedings of the International Conference on Emerging Networking Experiments and Technologies, Rome, Italy, 1–4 December 2009; pp. 313–324. [Google Scholar]
- Li, P.; Luo, B.; Zhu, W.; Xu, H. Cluster-based distributed dynamic Cuckoo filter system for Redis. Int. J. Parallel Emergent Distrib. Syst. 2020, 35, 340–353. [Google Scholar] [CrossRef]
- Wang, F.; Chen, H.; Liao, L.; Zhang, F.; Jin, H. The power of better choice: Reducing relocations in Cuckoo filter. In Proceedings of the International Conference on Distributed Computing Systems, Dallas, TX, USA, 7–10 July 2019; pp. 358–367. [Google Scholar]
- Gur, L.; Lis, D.; Dai, H.; Wang, H.; Luo, Y.; Fan, B.; Basat, R.B.; Wang, K.; Song, Z.; Chen, S.; et al. Adaptive online cache capacity optimization via lightweight working set size estimation at scale. In Proceedings of the USENIX Annual Technical Conference, Boston, MA, USA, 10–12 July 2023; pp. 467–484. [Google Scholar]
- Reviriego, P.; Martínez, J.; Larrabeiti, D.; Pontarelli, S. Cuckoo Filters and Bloom Filters: Comparison and Application to Packet Classification. IEEE Trans. Netw. Serv. Manag. 2020, 17, 2690–2701. [Google Scholar] [CrossRef]
Cardinality of Dataset from Participant One | Cardinality of Dataset from Participant Two | Protocol Runtime (Seconds) |
---|---|---|
1.8095 | ||
7.3003 | ||
56.1277 | ||
1859.9520 | ||
5.2207 | ||
10.0672 | ||
63.4835 | ||
1886.3966 | ||
20.7044 | ||
71.9252 | ||
1977.5657 | ||
170.3074 | ||
2054.2694 |
Cardinality of Dataset from Participant One | Cardinality of Dataset from Participant Two | Original Protocol Runtime (Seconds) | New Protocol Runtime (Seconds) |
---|---|---|---|
1.8095 | 0.1685 | ||
7.3003 | 0.1663 | ||
56.1277 | 0.1641 | ||
1859.9520 | 0.1840 | ||
5.2207 | 5.2725 | ||
10.0672 | 5.5104 | ||
63.4835 | 5.2807 | ||
1886.3966 | 5.5166 | ||
20.7044 | 21.1474 | ||
71.9252 | 21.2865 | ||
1977.5657 | 21.9713 | ||
170.3074 | 171.5354 | ||
2054.2694 | 186.9644 |
Data Set Count | Size of Cuckoo Filter (MB) |
---|---|
0.535 | |
2.363 | |
21.678 | |
93.645 | |
194.436 | |
403.201 | |
3571.206 | |
7372.835 | |
15,206.421 |
Small Health App Developer Dataset Size | Large Medical Institution Dataset Size | Protocol 1 Running Time (Seconds) | Protocol 2 Running Time (Seconds) |
---|---|---|---|
0.1685 | 0.1658 | ||
0.1663 | 0.1693 | ||
0.1641 | 0.1658 | ||
0.1840 | 0.1731 | ||
5.2725 | 4.0627 | ||
5.5104 | 4.2464 | ||
5.2807 | 4.3202 | ||
5.5166 | 4.6118 | ||
21.1474 | 17.056 | ||
21.2865 | 16.731 | ||
21.9713 | 18.5417 | ||
171.5354 | 130.0498 | ||
186.9644 | 140.0193 |
Data Volume | Protocol I Running Time (s) | Protocol II Running Time (s) | Protocol III Running Time (s) |
---|---|---|---|
0.1539 | 0.1543 | 0.1612 | |
0.1569 | 0.1573 | 0.1742 | |
0.1616 | 0.1611 | 0.1736 | |
0.1693 | 0.1683 | 0.1868 | |
4.9239 | 3.8223 | 4.3904 | |
5.0232 | 3.9145 | 4.9128 | |
5.1709 | 4.0267 | 4.6099 | |
5.4172 | 4.2233 | 4.8281 | |
20.0930 | 15.6768 | 18.2058 | |
20.6841 | 16.1281 | 20.2155 | |
21.6690 | 16.8939 | 20.0528 | |
165.4731 | 129.0516 | 148.7145 | |
173.3531 | 135.2534 | 165.9464 |
Protocol | Security | Client Storage & Computational Burden | Runtime |
---|---|---|---|
Unbalanced PSI-CA Protocol based on Cuckoo Filter | High Security (no collusion attacks) | Requires storing Cuckoo filter and intensive computation | Longest |
Unbalanced PSI-CA Protocol based on Single-Cloud Assistance | Security Risks (cannot resist collusion attacks) | Shifted to cloud server | Fastest |
Unbalanced PSI-CA Protocol based on Dual-Cloud Assistance | High Security (can resist collusion attacks) | Shifted to cloud server | Moderate |
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. |
© 2024 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Tan, W.; Du, S.; Weng, J. Enhancing Efficiency and Security in Unbalanced PSI-CA Protocols through Cloud Computing and Homomorphic Encryption in Mobile Networks. Future Internet 2024, 16, 205. https://doi.org/10.3390/fi16060205
Tan W, Du S, Weng J. Enhancing Efficiency and Security in Unbalanced PSI-CA Protocols through Cloud Computing and Homomorphic Encryption in Mobile Networks. Future Internet. 2024; 16(6):205. https://doi.org/10.3390/fi16060205
Chicago/Turabian StyleTan, Wuzheng, Shenglong Du, and Jian Weng. 2024. "Enhancing Efficiency and Security in Unbalanced PSI-CA Protocols through Cloud Computing and Homomorphic Encryption in Mobile Networks" Future Internet 16, no. 6: 205. https://doi.org/10.3390/fi16060205
APA StyleTan, W., Du, S., & Weng, J. (2024). Enhancing Efficiency and Security in Unbalanced PSI-CA Protocols through Cloud Computing and Homomorphic Encryption in Mobile Networks. Future Internet, 16(6), 205. https://doi.org/10.3390/fi16060205