1. Introduction
Satellite data have various applications, including vehicle monitoring and navigation, maritime transportation and fisheries, geodesy, land and resource monitoring, meteorological monitoring, and disaster prevention and reduction. Satellite service systems transfer data from satellite providers to the big data industry, which includes data traders and data analytics companies. The big data industry seeks to store its data in a semitrusted cloud hosted by cloud servers to avoid the burden of data maintenance. Data security is crucial for supporting these applications. Without protection, data are vulnerable to privacy breaches (Georgiadou et al. [
1] mentioned). Typically, the big data industry needs to provide access to numerous users whose specific identities are unknown. Fortunately, Ciphertext-Policy Attribute-Based Encryption (CP-ABE) enables unidentified users to access data. This process involves the data owner defining an access policy, associating the data with it into ciphertext, and uploading the ciphertext onto the cloud server. An authorized user receives the authorized attribute set and attribute private key from the trusted Key Generation Center (KGC). When a user downloads data from the cloud server, if their attribute private key matches the access policy, they can successfully decrypt and access the plaintext data.
In traditional CP-ABE, access policies defined by owners are not protected, meaning they are uploaded to the cloud, stored, and downloaded in plain text, making them vulnerable to privacy breaches. To prevent information leakage from access policies, two types of policy hiding methods are proposed:
partially policy-hidden and
fully policy-hidden (Zhang et al. [
2] mentioned). The former only hides the attribute values in the policy, while the latter conceals both attribute names and values. This paper focuses on the latter. Firstly, during encryption in a fully policy-hidden CP-ABE scheme, all attributes are tied to the ciphertext, leading to increased encryption and communication overhead. Secondly, this method requires users to attempt to decrypt all attributes, resulting in high decryption costs. Thirdly, binding all system attributes on each ciphertext means that a new system attribute cannot be added later to the ciphertext. Nevertheless, fully policy-hidden would require users to try using their own attributes one by one when decrypting, which is an inefficient privacy policy matching problem. This problem has attracted a lot of research, such as [
3,
4,
5,
6]. In order to fully hide the access policy, Müller et al. [
4] used a method similar to
, and Lai et al. [
3] used an inner product PE method. Both Lai et al. [
3] and Phuong et al. [
6] need to define all system attributes at the beginning and rerun the initialization algorithm if attributes are added. To speed up the privacy policy matching, some existing schemes have adopted the bloom filter method to reduce the cost of privacy policy matching, as seen in Yang et al. [
7] and Luo et al. [
8]. However, both schemes are unable to withstand the selective plaintext attack.
In this paper, the issue of privacy-presering policy matching is reframed as an Outsourcing Privacy Set Intersection (O-PSI) problem utilizing Reduced Ordered Binary Decision Diagrams (ROBDD).
The ROBDD method was first introduced by Affum et al. [
9]. This method can convert a tree-type access policy into multiple attribute sets, which are referred to as feasible paths. If a user’s attribute set contains one of the feasible paths, it indicates that the user’s attribute set satisfies the access policy. The ROBDD method is capable of providing a combination of rich–expressive access policy and rapid policy matching. However, the ROBDD is openly stored on cloud servers, which may lead to information leaks.
Privacy Set Intersection (PSI) aims to protect the personal privacy of data subjects while ensuring the exact intersection of two data sets. Outsourcing PSI (abbreviated as O-PSI) involves a third-party server, typically referred to as a Cloud Service Provider (CSP), to handle the computational burden that terminals should bear and avoid direct face-to-face interaction between entities. The introduction of CSP makes O-PSI easier to deploy in modern networks (Morales et al. [
10] mentioned). Existing research on O-PSI methods often relies on the CSP for set intersection operations, which may compromise the cardinality of the sets. For example, while Zhao et al. [
11] and Thapa et al. [
12] concealed elements and the intersection of two sets, the cardinalities of the sets remained exposed. Sun et al. [
13] made advancements in this area; however, they still disclosed the exact number of elements in one of the sets in the intersection. Both Thapa et al. [
12] and Li et al. [
14] require parties to be online and parties feel inconvenient. Furthermore, reducing the number of communication rounds is desirable. Most current O-PSI methods usually involve three rounds, which is shown in
Figure 1a. The 3-way handshake O-PSI requires CSP to collect and add encrypted sets of two parties homomorphically and send the result to one party to restrict the intersection of two sets. As can be seen, this involves three rounds of communication. This paper proposes a new 2-way handshake O-PSI method shown in
Figure 1b. In the new O-PSI method, P2 encrypts their set and uploads the encrypted set onto CSP. When P1 tries to obtain the intersection of their set and P2’s set, they download the P2’s encrypted set from CSP and obtain the intersection locally. The process only involves two rounds of communication. The fewer the rounds, the smaller the communication cost, and the smaller the energy consumption, and at the same time, the instability caused by uncertainty can be minimized. Thus, the proposed O-PSI method achieves more efficiency and robustness.
This paper proposes a new method called O-PSI, which requires only a 2-way handshake and conceals both the elements and cardinality of sets.
Figure 1 illustrates the comparison between the 3-way handshake process of existing methods with the 2-way handshake process of the proposed method.
The proposed O-PSI method only requires two handshake communications and hides the elements and cardinalities of two sets, making it ideal for concealing policies in CP-ABE schemes. This paper introduces an efficient and expressive CP-ABE scheme supporting fully policy-hidden (CP-ABE-FPH) by combining the innovative 2-way handshake O-PSI method with ROBDD (Reduced Ordered Binary Decision Diagrams). Specifically, our main contributions are as follows:
(1) We develop a novel 2-way handshake O-PSI method based on RSA-OPRF (RSA-based oblivious pseudorandom function), as used in Xu et al. [
15]. In this new O-PSI method, party P2 converts their set into ciphertext and uploads the encrypted set onto a cloud server. The server stores the P2’s encrypted set and offers on-demand services to other parties. When another party, P1, downloads P2’s encrypted set, they compute the intersection of P2 and their own set. The proposed O-PSI method reduces the number of communications from three to two without revealing the elements or sizes of the sets.
(2) We propose a fully policy-hidden CP-ABE scheme (CP-ABE-FPH) by integrating the proposed 2-way handshake O-PSI method and ROBDD. This integration innovatively solves the low efficiency of decryption in a fully policy-hidden CP-ABE scheme. The proposed scheme provides data confidentiality protection, fine-grained access control, a fully hidden and expressive access policy, and lightweight terminal computing. Moreover, the flexibility of the proposed scheme is notable. The decryption process eliminates the need for online interactions with owners or the Key Generation Center (KGC), and system attributes can be added at any point in time.
3. Cryptographic Primitive
3.1. RSA-OPRF
RSA-OPRF (RSA-based Oblivious Pseudo-Random Function) was introduced by Keelveedhi et al. [
22].
Initialization phase. A server generates the RSA parameters to issue a public key and a private key with an input , where .
Client execution phase 1. A client selects a random number , two hash functions: , and calculates: , . Then, the client sends to the server.
Server execution phase. The server calculates and sends it back to the client.
Client execution phase 2. The client computes . Then, the client verifies . If the verification succeeds, the client runs a hash function and obtains ;
In this RSA-OPRF protocol, the server cannot determine the client’s inputs m, even if they know the function, , because r is randomly selected. Additionally, the client cannot obtain the server’s private key d unless this RSA hard assumption is violated.
3.2. CP-ABE
A CP-ABE scheme consists of four probabilistic algorithms with the following syntax:
. It takes the inputs of a security parameter and outputs the public key and the master key .
. It takes the inputs of , , and a user’s attribute set Y and outputs the user’s private key .
. It takes the inputs of , a message m, and an access structure and outputs a ciphertext .
. It inputs , a secret key , and the ciphertext , then outputs the message m or a symbol ⊥, indicating a failure decryption.
3.3. ROBDD and Feasible Paths (or Decryption Paths)
Affum et al. [
9] proposed efficient attribute expressions by constructing a ROBDD method. Li et al. [
23] proposed a CP-ABE scheme based on ROBDD, which enables rapid decryption and utilizes a fixed-length private key. In this paper, the ROBDD is employed to convert an access control policy to a set of feasible paths. Assuming the access policy is
, (
and
), (
and
), or (
and
) after sorting the attributes, the ROBDD and feasible paths can be depicted as shown in
Figure 2. More details can be found in the work of Li et al. [
23].
4. Construction of the Proposed 2-Way Handshake O-PSI
The formal definition of the new 2-way handshake process, the O-PSI method, is as follows.
Formal Definition of the proposed 2-way handshake O-PSI. Party P2 is assumed to have a set , and another party P1 is assumed to have another set . With the assistance of a cloud server, P2 does not need to be online continuously. P1 wants to obtain without revealing to the P2 or the server more than what can be inferred from the result. Specifically, (1) the server cannot obtain , , or any or , and (2) P1 cannot obtain or any outside of the set .
The proposed 2-way handshake O-PSI method consists of 4 algorithms, illustrated in
Figure 3. KGC acts as a trusted authority for authorization. The server is a semitrusted party responsible for storing and providing online access services. P1 seeks to determine the intersection of their set and P2’s set.
4.1. Initialization
Algorithm 1
runs on KGC to generate public parameters
.
Algorithm 1 |
Input: a security parameter ; Output: , ; 1: KGC selects a random number N. For an input , there is an integer d that satisfies ; 2: KGC selects a group with the order p. Let p be N. The has a generator g; 3: KGC selects three hash functions: ; ; Where * denotes any length and denotes the number formed by extracting bit after modulo N; 4: KGC publishes public parameters: ; 5: KGC transmits secretly the d to a semitrusted server.
|
4.2. Prepare for the Set Y for a Party P1
Algorithm 2
runs on KGC to issue a hidden set (called
) for a party P1.
Algorithm 2 |
Input: , P1’s set ; Output: a hidden set ; 1: KGC determines P1’s attribute set ; 2: KGC picks a random number and computes: ; ; wherein denotes the cardinalities of the set Y; 3: KGC sends to the server along with random numbers . Then the server computes: and , and then sends them back; 4: KGC filters out the set and computes ; 5: KGC verifies . If the verify succeeds, KGC does a hash function on , and gets: ; 6: KGC shuffles the order of the sets of and sends to P1 secretly.
|
4.3. P2 Prepares the Set X
Algorithm 3
runs on P2 to prepare the matching set to be uploaded. More narrowly, P2 transforms
to be hidden to construct a ciphertext
and upload the
onto a server.
Algorithm 3 |
Input: , ; Output: ; 1: P2 selects a random number and computes: ; ; 2: P2 selects sends to the server along with random numbers ; 3: The server computes both and , and then sends them back; 4: P2 filters out the set and computes ; 5: P2 verifies . If the verify succeeds, P2 runs a hash function and gets: ; 6: P2 computes , and sends it to a server.
|
4.4. P1 Computes the Set Intersection
Algorithm 4
runs on P1 to obtain the intersection of two sets secretly. It is reasonable to assume that P1 knows how many elements are in their own set.
Algorithm 4 |
|
4.5. More Discussion about the 2-Way Handshake O-PSI
Let us discuss the security of this algorithm. On the one hand, and do not need to be transmitted secretly. This is because both are dependent on the random number . Nevertheless, the computation of is independent with , because , which ensures that the matching result is correct if . On the other hand, keeps confidential for the server, and then the server cannot forge the . Finally, the number of prevents the server from knowing the cardinality of set Y. As same as in the algorithm , and can be transmitted publicly. This is because both are dependent on the random number r. Nevertheless, the computation of is independent with r, because , which ensures that the matching result is correct if . Finally, keeps the server confidential, and then the server cannot forge . Meanwhile, d keeps P2 secret; thus, P2 cannot forge . Finally, the number of prevents the server from knowing the cardinality of the set X.
Let us discuss the potential applications of the proposed 2-way handshake O-PSI method. It is a kind of private-preserving set match method and can be adopted in many scenes, such as private-preserving keyword searches on semitrusted cloud scenes. In detail, one can define and encrypt some keywords to fetch all relevant ciphertext data sorted by relevance from cloud servers. In the next section of this paper, we apply the 2-way handshake O-PSI method to quickly match access policies in CP-ABE with full policy hiding.
5. Fully Policy-Hidden CP-ABE Based on 2-Way Handshake O-PSI
5.1. Scenario Description
The proposed CP-ABE-FPH scheme is shown in
Figure 4. Data owners are looking to store their data in a semitrusted cloud, hosted by cloud servers, to avoid the burden of data maintenance. They aim to provide services to thousands of users anytime, anywhere. To ensure that their data are protected from unauthorized access during data outsourcing and to allow multiple authorized users to download and access data on demand, a common approach is to use the CP-ABE method. This involves the data owner defining an access policy, binding the access policy to the data, turning it into ciphertext, and uploading it to the cloud server. Authorized users obtain the authorized attribute sets and attribute private keys from the Key Generation Center (KGC). When users download data from the cloud server, if their attribute private key matches the access policy, they can successfully decrypt and obtain the plaintext data.
Like other previous cloud scenes, it is assumed that there is a Key Generation Center (KGC), which is trusted and issues a private key for each user. The data owner is trusted but wants to go offline after uploading the ciphertext. The server is semitrusted. It is honest but curious. The server always wants to obtain information from ciphertexts, and so do the users.
In traditional CP-ABE, a data owner binds data with an access policy, and a user can decrypt the ciphertext if their private key matches the access policy. This cryptographic technology has a one-to-many characteristic, making it suitable for integrating to achieve data confidentiality protection and fine-grained access control in distributed computing environments, such as cloud storage scenes (Zhong et al. [
24] mentioned). However, the original CP-ABE did not consider privacy protection issues, and its access policy would leak privacy. In order to balance efficiency, security, and flexibility while also maintaining confidentiality and preventing information leaks, creating fully policy-hidden CP-ABE schemes is challenging. In an effort to reduce the computing cost for users, Li et al. [
23] proposed a fast decryption CP-ABE scheme that uses ROBDD (Reduced Ordered Binary Decision Diagrams) to improve the expressiveness of access policy. However, this scheme reveals the access policy because the ROBDD is openly stored on cloud servers. To address the high costs associated with increased privacy protection, Yang et al. [
7] designed an attribute bloom filter to conceal the mapping between attributes and access matrix line numbers, resulting in a fully policy-hidden CP-ABE scheme. While this method facilitates the addition of new attributes, it also allows users to uncover the hidden map by querying with attributes. To sum up, the challenge of full policy-hidden CP-ABE scheme design lies in satisfying high expressiveness of access policy, high user-side performance, and high security at the same time.
5.2. Construction of CP-ABE-FPH
Based on the proposed O-PSI method, the proposed Ciphertext-Policy Attribute-Based Encryption scheme supporting Full Policy-Hidden (CP-ABE-FPH) is composed of four algorithms shown in
Figure 5. In the
process, two transform steps are performed for an access policy: Firstly, an access policy designated by an owner is transformed to be feasible attribute paths using the ROBDD method proposed by Li et al. [
23]. Secondly, the feasible paths are encrypted to be
using
Message driver key generation based on RSA-OPRF [
22].
Let us look at the overall framework of the CP-ABE-FPH scheme. An owner generates a plaintext m, defines a tree-type access policy for the m, and encrypts it to be using a CP-ABE method. Meanwhile, the owner transforms the tree-type access policy to be many attribute sets, called feasible paths . Next, the feasible paths are encrypted to be based on RSA-OPRF. In the final, and are concatenated and uploaded to the cloud. On the user side, a user downloads and . The user first tries to match their attribute set with . If their attribute set satisfies any in , they do not try using their attributes one by one and decrypt to be m directly.
Essentially, the private matching between an owner’s attribute paths and a user’s attribute private key is converted to a server-aided Privacy Set Intersection problem. If the new Privacy Set Intersection problem can be solved, a fully policy-hidden CP-ABE scheme can be constructed efficiently and securely with high expressiveness of access policy. Fortunately, the server-aided Privacy Set Intersection problem would be solved perfectly with the proposed 2-way handshake O-PSI method. The main notations are listed in
Table 2.
5.2.1. Initialization
Algorithm 5
runs on KGC to generate public parameters
and a master key
.
Algorithm 5 |
Input: security parameter ; Output: , ; 1: KGC selects a random number N. For an input , there is an integer d that satisfies ; 2: KGC selects and ; 3: KGC also chooses two hash functions: , ; 4: KGC publishes public parameters: ; 5: KGC keeps the master key secretly; 6: KGC transmits the d secretly to a server.
|
To generate the public parameters, KGC needs to select a group with the order p, a bilinear mapping , . The bilinear mapping has properties: and . The has a generator g, wherein * denotes any length, and denotes the number of digits in an integer.
5.2.2. User Registration
Algorithm 6
runs on KGC to issue a private key
for a user according to the user’s attribute set
, wherein
represents the number of attributes given for this user.
Algorithm 6 |
Input: , a user’s attribute set ; Output: ; 1: KGC determines a user’s attributes ; 2: KGC selects a random number and computes: ; ; 3: KGC sends to the server along with some random numbers . Then the server computes: and , then sends them back; 4: KGC filters out and calculates ; 5: KGC verifies . If the verification succeeds, KGC does a hash function on , and obtains ; 6: KGC selects , and calculates , ; 7: KGC sends to the user secretly.
|
5.2.3. Owner Prepares Ciphertext
Algorithm 7
runs on an owner to prepare the ciphertext and a hidden policy to be uploaded. More narrowly, the owner must follow a two-step process to process the access policy. In the first step, they should use the ROBDD method to convert the tree-shaped access policy into multiple sets of attributes, known as feasible paths
, wherein
represents a value corresponding to the
i-th attribute of the
k path. The second step involves using the RSA-OPRF method to convert these attribute sets
into numbers
. Finally, the owner uploads the
onto a server along with the encrypted data
.
Algorithm 7 |
Input: plaintext m, attribute paths ; Output: ; 1: The owner selects a random number ; 2: FOR Do 3: The ownercomputes: , ; 4: The owner sends to a server along with random numbers ; Then the server calculates and , then sends them back to the owner; 5: The owner filters out and calculates ; 6: The owner verifies . If the verification succeeds, the owner runs a hash function and obtains ; 7: The owner calculates ; 8: END FOR 9: The owner selects , and calculates: , , , ; 10: The owner uploads to a server.
|
5.2.4. A User Downloads the Encrypted Data and Decrypts It
Algorithm 8
runs on a user and is used to match a user’s attribute paths with an owner’s attribute set in secret. If a feasible path is matched, the user can then decrypt and read the encrypted data. However, if none of the paths match, the algorithm will return ⊥, indicating that the user should not attempt to decrypt the data because their attribute set does not meet the access policy.
Algorithm 8 |
Input: , ; Output: The plaintext data m or ⊥; 1: Computes ; 2: FOR DO 3: FOR DO 4: IF THEN Jump to Step 6; 5: END FOR 6: IF THEN return ⊥; 7: FOR DO 8: IF THEN 9: Insert to the set ; 10: ELSE 11: Insert to the set ; 12: END IF 13: END FOR 14: Jump to Step 16; 15: END FOR 16: The plaintext data can be calculated as .
|
5.3. More Discussion of CP-ABE-FPH
We integrate the O-PSI method with ROBDD within the CP-ABE-FPH scheme. The integration offers CP-ABE-FPH with the following advantages: (1) Lightweight privacy policy matching of access policy. When decrypting data, privacy policy matching only involves integer operations: . This operation is highly efficient because it does not require pairs. (2) High expressiveness of access policy. The CP-ABE-FPH scheme offers rich expressiveness of access policies due to its construction based on the ROBDD method. (3) High flexibility of users. The owner does not have to be online all the time, and multiple users can decrypt the same ciphertext simultaneously. The owner can be offline after uploading the . Users may include anyone, such as Cindy, Denis, and so on. The proposed scheme has excellent one-to-many capabilities.
The scalability of CP-ABE schemes is also one of the key considerations in large-scale deployment. On the one hand, system attributes can be added at any time in the proposed CP-ABE-FPH. When the system attribute is added, the algorithm and algorithm can generate the paired and , and there is no need to rerun the algorithm . On the other hand, a user attribute can be revoked efficiently. When an attribute of a user is revoked, to prevent the user from accessing the ciphertext bound to the attribute, all the owners who generate the ciphertext need to reselect the random number r, recalculate , and upload it to the cloud server. Then, the cloud server can update .
Next, the proposed CP-ABE-FPH scheme is suitable for the data security sharing scenario of , such as the big data industry. The CP-ABE-FPH scheme supports because users only need two pairing operations when decrypting. This is an advantage gained at the expense of the owner spending a lot of time preparing the ciphertext. So, it is called the .
Compared with other fully policy-hidden methods, the proposed 2-way handshake O-PSI method makes this CP-ABE-FPH scheme not require participants to be online all the time and also conceals the number of attributes in access policies. This advantage allows the CP-ABE-FPH scheme to fully hide the access policy.
6. Security Analysis
6.1. Leakage Analysis of 2-Way Handshake O-PSI
Three leakage functions are defined to formally analyze the security of 2-way handshake O-PSI.
Here, is the cardinality of the set X, is the cardinality of the set Y, and . It can be observed that (1) the information leaked by function resembles the first two parts of the information leaked by function ; (2) the information leaked by function includes the information leaked by function .
Definition 1. Let be the proposed 2-way handshake O-PSI. Given leakage functions , and , the following probabilistic experiments are defined: and with a probabilistic polynomial time adversary Λ and a PPT simulator . The information leaked by the function is similar to the first two parts leaked by the function . For simplicity, the description of the leaked information for is omitted below.
: The challenger calls the algorithm to generate and generates a hidden set (called ) for a party P2 according to their attributes set. Λ selects a set , generates , and obtains from a cloud server. Next, Λ computes and sends it to the server. Then, Λ adaptively constructs a polynomial number of queries with different sets of X via the algorithm . Finally, Λ returns a bit as the output.
: Λ selects a set , and simulates for Λ based on . Then, Λ adaptively constructs a polynomial number of queries. simulates from or . Finally, Λ returns a bit as the output.
Ω is a (,, )-secure scheme, if for all PPT adversaries Λ, there exists a simulator such that , wherein is a negligible function in λ.
Theorem 1. Ω is an adaptively secure scheme with (, , ) leakages under the random-oracle mode if the RSA-OPRF(RSA-Based Oblivious Pseudo-Random Function) is secure.
Proof. Random oracles are defined: and . From , the simulator selects a random number that has the same size as the real one . When the first query is sent, generates simulated and from . If the sends a query appearing before, returns the same result back. Due to RSA-OPRF, cannot distinguish simulated random numbers from and generated by . □
6.2. Security Analysis of the CP-ABE-FPH Scheme
The CP-ABE-FPH scheme is constructed based on the proposed 2-way handshake O-PSI and CP-ABE. The security of the 2-way handshake O-PSI is extensively discussed in the above section. The encryption and decryption process of the CP-ABE scheme follows traditional methods, with guaranteed security. Consequently, this article focuses solely on the information leakage of the scheme.
The cloud server cannot obtain any or . Since and r are randomly chosen by KGC and the owner, respectively, a server cannot obtain the value of or from or . Additionally, although the is stored in the server, the server still does not obtain the value or number of from the .
Users cannot obtain any of . Firstly, a user cannot obtain any from the . Secondly, the computations of do not expose , and at the same time, the computation of does not expose . The user does not even know which corresponds to which unless they try one by one.
On the whole, the feasible paths, standing for an access policy by the owner on the ciphertext, are encrypted using the RSA-OPRF. They thus conceal any information. Subsequently, the feasible paths can be matched by adopting the proposed 2-way handshake O-PSI method. The matching process does not give away information. Additionally, a user cannot access attributes they do not own because the 2-way handshake O-PSI prevents one from knowing the cardinality of the feasible paths.
7. Efficiency Analysis
This section analyzes the efficiency of the proposed 2-way handshake O-PSI method. The computational costs of each algorithm are listed in
Table 3.
and
denote the number of elements of the set
X and the number of elements of the set
Y, respectively.
,
,
,
,
,
denote the computational cost on Hash, Exponent, Multiplication, Modulo, Division, and Bilinear Pair Map. For simplicity, we ignore the cost of computation and communication caused by extra elements
or
doped to hide the two sets’ cardinality.
To present effectiveness analysis more vividly, these various operations are simulated on Ubuntu with two processors, each with three cores and 8GB memory. GMP (the GNU Multiple Precision Arithmetic Library) and PBC (the pairing-based cryptosystems) are used. The operations are simulated on a computer running Ubuntu with two processors, each with three cores, and 8GB of memory. The simulation uses GMP (the GNU Multiple Precision Arithmetic Library) and PBC (the pairing-based cryptosystems). The simulation shows that the costs taken for various operations are as follows: : 3.12 ms, : 0.35 ms, : 0.003 ms, : 0.0002 ms, : 0.0001 ms, : 1.02 ms.
Table 4 compares the computational costs in CP-ABE-FPH with others, wherein
t,
n, and
l denote the number of hash values designed in a Path Bloom Filter and the number of attributes in the whole system, the number of attributes managed by AA.
Table 5 presents a comparison of communication costs between Xu et al. [
15] and the proposed 2-way handshake O-PSI method. Let
and
be the element’s size in
and
. Let
,
,
, and
be the number of attributes of user
i, the universal attributes number, the number of elements of the set
X, and the number of elements of the set
Y, respectively. For the sake of simplicity, let the
be the same as
in Xu et al. [
15]. In the proposed 2-way handshake O-PSI, the main communication costs between KGC and Server are
and
. The communication cost between KGC and P2 is the set
X. The communication cost between KGC and P1 is
. The communication costs between P2 and Server are
,
, and
. The communication cost between P1 and Server is
.
The storage costs on each entity are listed in
Table 6.
denotes the storage cost of an element in group
G. |
| denotes the storage cost of public parameters. P2 stores
, Server stores
and public parameters, and P1 stores
. P2 can also not store public parameters locally, in which case it needs to be temporarily fetched from KGC. The storage cost analysis just focuses on the storage cost caused by each set computation.
8. Simulation of CP-ABE-FPH
The PBC library is used to simulate the proposed CP-ABE-FPH scheme on Ubuntu 20.04 (4 Cores, 8 GB RAM). Pairing parameters are generated according to Type A. The group order is 160 bits long, and q (the order of the base field) is 512 bits or 1024 bits long. Elements take 512 bits to represent. The value of
is set to 50. The related code can be downloaded from Github (the source code for the implementation can be found at
https://github.com/shijiaoli/CP-ABE-FPH, accessed on 18 June 2024).
denotes the number of attributes in a path generated by an access policy.
denotes the number of attributes in a user’s private key.
Figure 6a,b illustrates the computing costs of the core algorithms of CP-ABE-FPH when q = 512 bit. The difference is that
and
grow synchronously in
Figure 6a, while
Figure 6b fixes
to be 5 and
is growing. As can be seen, the decryption costs grow slowly, and it is almost a constant quantity in
Figure 6b.
Figure 6a shows that all core algorithms naturally increase with the number of attributes. Algorithm
is low-cost because it just needs to perform 2 pairing operations. By comparing
Figure 6a,b, it can be found that the cost of the
algorithm is strongly related to
.
Figure 7a,b shows that the decrypt time is independent of the number of attributes in a user’s private key and naturally increases with the number of attributes in
when q = 512 bit. The difference between
Figure 7a,b is that
and
grow synchronously in
Figure 7a, while
Figure 7b fixes
to be 5 and
is growing. But even with a large attribute set (e.g.,
=
= 50),
Figure 7a shows that the decryption operations can still be completed within tens of milliseconds when q = 512 bit.
Figure 8a,b compares the proposed CP-ABE-FPH scheme with Zhang et al. [
2] and Yang et al. [
7] when q = 512 bit. To simplify,
k is assumed to be 1 in Zhang et al. [
2], and the number of attributes in the access structure is the same as the number of attributes in the user’s private key in all schemes. The results show that the proposed CP-ABE-FPH scheme has low efficiency in encryption. This is because the CP-ABE-FPH scheme involves two successive steps (ROBDD and RSA-ORPF) in encryption compared with other schemes. The encryption time can be reduced by calculating and storing the
in advance. In this way, the encryption time is small and becomes constant. The results also show that the proposed CP-ABE-FPH scheme is highly efficient in decryption. This is because the CP-ABE-FPH scheme requires only two pairing operations for decryption, and pairing operations are notoriously time-consuming.
Figure 9 simulates the computation spent on policy-matching judgments in the privacy set computation phase when q = 512 bit. Like the other simulations, we also simulated two situations by controlling
and
. One is that
and
grow at the same time, and the other is that
is fixed and
grows. In
Figure 9, it is observed that the time spent on privacy set computation is just a few tens or hundreds of
s. Although the efficiency of privacy set computation is linear with the number of elements in the set, it is still insignificant compared with the other two algorithms. The experimental results show that the proposed scheme is well suited for environments with limited terminal computing capacity, such as IoT environments.
9. Conclusions
In this paper, a 2-way outsourcing PSI method is introduced utilizing RSA-based Oblivious Pseudo-Random Function (RSA-OPRF). In the O-PSI, party P2 encrypts their set and uploads it to a cloud server. The server then stores P2’s encrypted set and provides services to other parties as needed. Party P1 can compute the intersection of P2 and their own set after retrieving the encrypted set from the cloud server. The proposed O-PSI approach reduces the number of communications from three to two while keeping the elements and sizes of the sets confidential.
The CP-ABE-FPH scheme combines the 2-way handshake O-PSI method with the ROBDD method. This scheme integrates data confidentiality protection, expressiveness of access policy, fully policy-hidden, fine-grained access control, and lightweight terminal computing. The proposed CP-ABE-FPH scheme offers three advantages: (1) High efficiency and expressiveness, enabling rapid privacy policy matching and rich expressiveness of access policies. (2) Fully policy-hidden, ensuring that the access policy associated with the ciphertext does not reveal any information and users cannot access attributes they do not possess. (3) High flexibility, allowing owners or KGC to not always be online. Additionally, system attributes can be added at any time, further enhancing the flexibility of the system.