Next Article in Journal
A Comprehensive Survey on Enabling Techniques in Secure and Resilient Smart Grids
Previous Article in Journal
Transient Liquid Phase Bonding with Sn-Ag-Co Composite Solder for High-Temperature Applications
Previous Article in Special Issue
Reinventing Web Security: An Enhanced Cycle-Consistent Generative Adversarial Network Approach to Intrusion Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Privacy-Preserving Friend Matching Scheme Based on Attribute Encryption in Mobile Social Networks

1
Office of Cybersecurity and Informatization, Northwest Normal University, Lanzhou 730070, China
2
College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(11), 2175; https://doi.org/10.3390/electronics13112175
Submission received: 14 March 2024 / Revised: 22 May 2024 / Accepted: 28 May 2024 / Published: 3 June 2024
(This article belongs to the Special Issue Applied Cryptography and Practical Cryptoanalysis for Web 3.0)

Abstract

:
In mobile social networks, users can easily communicate with others through smart devices. Therefore, the protection of user privacy in social networks is becoming a significant subject. To solve this problem, this paper proposes a fine-grained data access control scheme that uses attributes to match friends. In our scheme, the friend-making parties generate friend preference and self-description lists, respectively, realizing attribute hiding by converting friendship preference into ciphertext access control policies and self-description into attribute keys. The social platform matches user profiles to quickly eliminate unmatched users and avoids invalid decryption. In order to reduce the computational burden and communication cost of mobile devices, we adopt an algorithm mechanism for outsourcing decryption. When the user meets the matching conditions, the algorithm outsources the bilinear pair operation with large computation to the friend server. After that, the user finally decrypts the ciphertext. Security analysis shows that our scheme is safe and effective. In addition, performance evaluation shows that the proposed scheme is efficient and practical.

1. Introduction

With the popularity of mobile devices and the increasing development of interpersonal social interaction, mobile social networks [1] play a key role in users’ daily lives. A large number of social software (such as WeChat, Weibo, Facebook, and Twitter) integrate user information into a data pool to meet the needs of social network users for making friends. Users can share their photos, videos, and other personal data on these apps to discover new friends, enabling other users to access data anytime and anywhere, making social networks popular around the world. At the same time, this widespread trend also brings challenges to massive data and their efficient sharing. The security issues in social networks may hinder their rapid development in some way, including privacy risks [2,3], identity theft [4,5], malware, and forged personal information [6]. The user information collected by social platforms contains great value, which can be used for advertising, commercial, and political purposes. Taking privacy risks as an example, users will publish their data to social software service providers for data sharing. However, social platforms are considered to be honest but also curious.
On the one hand, it will honestly perform the tasks assigned by the system. On the other hand, it hopes to learn as much as possible about the data, which may raise privacy issues, for example, by observing the other party’s daily WeChat steps and whether the moments of friends are updated to judge the activity of the target group. Additionally, the consumption ability of the target group can be judged by observing the shopping hobbies of the users. Once this information is leaked, the confidentiality of the data will be threatened. It is easy to be used by unauthorized users for various illegal activities.
Therefore, how to achieve efficient data access and fine-grained data sharing while protecting user privacy and security is a major challenge at present and also an important research direction for mobile social activities.
In this paper, in order to achieve a fast decryption of users, while ensuring the privacy security of matching users and fine-grained access control, we propose a CP-ABE mobile social network outsourcing decryption scheme. We introduce a matching stage before decryption, and most of the decryption tasks are carried out by the entrusted social network platform. The working principle of the matching algorithm is to determine whether the friend requester’s self-description attribute set contains the friend preference attribute set defined by the friend data owner. In other words, it is to judge whether the requester’s attributes meet the publisher’s access policy. In case the user information is successfully matched, the friend server replaces the mobile device to perform most of the decryption calculations without leaking data.
The main contributions of our proposal are listed below.
We propose a CP-ABE privacy-preserving friend matching scheme, which realizes efficient sharing and fine-grained access control of friend data and expands the scope of making friends, which is more practical.
The friend-making model proposed matches the information first and then decrypts it. By introducing a matching algorithm, when a large number of users want to retrieve data from the friend server, the friend center can quickly exclude unmatched users and return the corresponding ciphertext to the matched users.
We optimize an outsourcing decryption algorithm, which divides the user key into two parts. The length of the private key used for user decryption is short and constant, which greatly saves the storage overhead of the user. After the ciphertext is outsourced to the friend server, the computing cost of the client is reduced to a pairing operation, which greatly improves the computing efficiency.
The proposed scheme uses the symmetric key to encrypt private files, and uses the LSSS access structure to encrypt the symmetric key, effectively avoiding the leakage of privacy.
The remainder of this paper is organized as follows: Section 2 presents related work. Section 3 describes the preliminaries. Section 4 discusses the system model, framework, and security model. Section 5 gives a detailed implementation of our scheme. The security and performance analyses are provided in Section 6 and Section 7, respectively. Finally, we summarize this paper in Section 8.

2. Related Work

In mobile social networks, users’ privacy can be protected by data encryption technology. Sahai and Waters proposed a new encryption mechanism in 2005, called attribute-based encryption (ABE) [7]. ABE implements flexible one-to-many encryption instead of one-to-one encryption, which has significant advantages over traditional public key encryption. After their work, ABE was developed into two forms: key policy attribute-based encryption (KP-ABE) [8,9,10,11] and ciphertext policy attribute-based encryption (CP-ABE) [12,13,14,15]. Among them, CP-ABE is considered to be a promising encrypted data access control technology in cloud computing. It allows users to encrypt data by specifying access control policies for user attributes so that only users whose attributes meet the policy can decrypt the corresponding data. Compared with KP-ABE, CP-ABE is more suitable for multi-user scenarios such as mobile social networks and smart healthcare.
In order to achieve fine-grained access control of encrypted IOT data on the cloud, Li et al. [16] proposed a traceable ciphertext policy attribute-based encryption scheme to ensure user privacy. Wang et al. [17] proposed an efficient hierarchical file attribute-based encryption scheme, which integrates the hierarchical access structure into a single access structure and uses the integrated access structure to encrypt layered files, saving ciphertext storage space and reducing the time cost of encryption.
To achieve secure and fine-grained data dissemination in open social networks, the literature [18] used attribute-based conditional proxy re-encryption to ensure that only data disseminators whose attributes meet the access policy can disseminate data to their own social space. The literature [19] proposed a hierarchical management scheme that uses attributes to match friends, which aims to promote social network users to find friends safely and efficiently. In order to quickly match friends, the literature [20] designed a new CP-ABE-scheme-based privacy protection attribute matching scheme for mobile social networks, in which users could efficiently match friends almost without interaction.
However, as the complexity of access control policies increases, the computational overhead of decryption becomes very high. In most existing CP-ABE schemes, multiple pairing operations are usually required. For users with access rights, directly decrypting data will bear a great computational burden, especially for users with frequent data interaction and sharing, such as in the mobile social network application background and in the background of a mobile social network application. In order to solve the above problems, schemes [21,22,23] outsourced heavy calculations to proxy servers to reduce the computational overhead of decryption, allowing users to “borrow” computing resources from third-party service providers to perform heavy decryption work without data leakage. However, in the traditional ABE outsourcing decryption work, the user only knows whether the attributes and the policy match after repeated decryption attempts. This usually requires multiple pairing operations in most existing ABE schemes, which will undoubtedly cause serious time lag for users.

3. Preliminaries

3.1. Access Structure

An access structure Λ [24] is established according to the attribute domain U, where Λ is a non-empty attribute set, and the set in Λ is called the authorized set. An access structure Λ is said to be monotonic, and for any sets B and C, if B Λ , B C , then C Λ .
In the CP-ABE scheme, only users with authorized attribute sets can decrypt the ciphertext. In this paper, we only consider the monotonic access structure. The access structure of this scheme uses the operator “AND” to connect different attributes and “OR” to connect different values of the same attribute. Suppose that all attributes U = { A 1 , A 2 , , A n } and the set A i = { a i , 1 , a i , 2 , , a i , m i } . We establish the user’s attribute list L = { l q , l 2 , , l n } , l i A i , and set the access structure Λ = { Λ 1 , Λ 2 , , Λ q } , Λ j A i . Only if l i Λ j , i = 1 , 2 , , n , j = 1 , 2 , , n we say that the user’s attribute list satisfies the defined access structure Λ .

3.2. Linear Secret Sharing Scheme

Assuming that p is prime, when the following conditions are true, we say that the linear secret sharing scheme (LSSS) [25] on the attribute domain U is linear on Z p .
(1)
The secret shared value assigned to each attribute constitutes a vector on Z p .
(2)
For an access policy on U, there is an l × n shared matrix M and an attribute mapping function ρ to map each row in M to a specific attribute in U. It satisfies the following conditions: z = { s , z 2 , , z n } , where z 2 , , z n is random elements in Z p , and M z is a vector composed of l sharing shares of the secret value with respect to the linear secret sharing scheme, where ( M z ) j is the share allocated to the attribute ρ ( j ) , and ( M , ρ ) is called the access policy.
The linear secret sharing scheme satisfies the requirements of reconstruction and security. Specifically, if S is the authorization set of policy ( M , ρ ) , there is a set of constants { w i Z p } i l meeting w i M i = ( 1 , 0 , , 0 ) , where I represents the set of rows corresponding to an attribute in S, that is, I = { i | ρ ( i ) S i [ l ] } . Obviously, the secret value can be recovered by i l w i λ i = s . At the same time, there is no such set of constants that satisfy the conditions in any unauthorized set.

3.3. Security Assumption

A decisional q-parallel bilinear Diffie–Hellman exponent (q-parallel BDHE) [25] is defined as follows: Let G be a group with an order of a prime number p and g be a generator of G. Choose s , a , b 1 , , b q Z p at random. If the following parameters are given to adversary A :
y = g , g s , g a , , g a q , g a q + 2 , , g a 2 q , g s b j , g a / b j , , g a q / b j , g a q + 2 / b j , , g a 2 q / b j 1 j q , g a s b k / b j , , g a q s b k / b j 1 j , k q , k j
A will not be able to distinguish e ( g , g ) a q + 1 s from a random element R G T . The advantage obtained by A in the q-parallel BDHE is as follows:
| P r [ A ( y , e ( g , g ) a q + l s ) = 0 ] | P r [ A ( y , R ) = 0 ] | ε
The q-parallel BDHE is said to hold on to group G if the attacker A does not solve the problem with a non-negligible advantage in any polynomial time.

4. System Definition

4.1. System Model

Four entities are included in our system, namely, key generation center (KGC), friend server (FS), friend data owner (DO), and friend data requester (DR), as shown in Figure 1.
Key generation center (KGC): As a trusted authority, it is mainly responsible for system initialization, generating system parameters and master keys. At the same time, it manages system attributes and generates attribute keys and user private keys according to user attributes.
Friend server (FS): As a semi-credible authority, the FS is considered to have powerful storage and computing resources. As a matching service provider, the FS stores the DO’s matching reference information, searches for matching friends based on the DR’s requests, and finally helps the matching parties to establish contact. Meanwhile, in order to improve the decryption efficiency of the client, the FS can partially decrypt the original ciphertext, reducing the computational burden of the friend data requester.
Data owner (DO): In order to better match friends, the DOs register on the FS and publish their own friend match reference information. The friend data owners want fine-grained access control over friend data; they will use the CP-ABE scheme to encrypt the friend data and then upload the encrypted data to the FS.
Data requester (DR): The DR initiates a friend-making request to the FS, and only when his/her attributes meet the access policy defined by the DO can the ciphertext be decrypted successfully. For unauthorized users, they can neither recover the plaintext nor guess the attributes involved in the access policy.

4.2. Friend Matching

(1) User profile: In the system model of this paper, the matching reference information of each DO and the query information of the DR all contain four domains, namely, user identity I D , self-description S, friend-making preference P, and friend file F. The reference information describes “what kind of person (S) am I, who (P) I hope to make friends with, this is my detailed introduction (F)”, as shown in Table 1. The I D in Table 1 is the unique identifier of the user registered in the friend server. Self-description S and friend-making preference P describe the user’s own characteristics and friend-making goals, respectively. In this paper, self-description is equivalent to the set of attributes that DRs submit to the FS, and friend preference is equivalent to the access policies defined by DOs. The friend file F contains the user’s photos, videos, exercise data, contact information, and other private data.
According to the above description, each user in the social network system will generate a personal profile as matching reference information. In this paper, the user profile is a set of attributes. To facilitate the description, we take the self-description of a user, Bob, as an example. As shown in Table 2, the first column displays the attribute category names, and the second column displays the corresponding attribute values. Specifically, let A be an attribute space containing attribute categories, that is, A = { A 1 , A 2 , , A n } . There are m i candidate values for each A i A , namely, A i = { a i 1 , a i 2 , , a i m i } . The user profile (hereinafter referred to as the attribute list) is generated in two steps. First, select the attribute category from A; second, select a specific attribute value for each attribute category from the candidate values.
The user’s self-description attribute list comes from a different attribute category. In other words, for s i A k 1 and s j A k 2 , if s i s j , then k 1 k 2 . Similarly, the user’s friend-making preference attribute list P = { P 1 , P 2 , , P n } is also generated in the same way. For different users, the length of the attribute list may not be the same. In this paper, the elements in the attribute list are arranged in the order in which the corresponding attribute category appears in the attribute space.
(2) Profile matching: We assume that Alice and Bob are representatives of the friend data owners and requesters, respectively, in the social network system P a . If Alice wants to search for friends in the social network system, a friend-making preference attribute list is generated by Alice, and S b is the self-description attribute list uploaded by Bob. In this paper, if the friend-making preference attribute set is a proper subset of the self-description attribute set, the match is said to be successful. For example, suppose that Alice’s friend-making preference is P a = { m a l e , 18 < a g e < 30 , m u s i c } and Bob’s self-description is S b = { m a l e , a g e = 26 , t e a c h e r , m u s i c } . Obviously, Bob meets Alice’s friend-making preference; then we consider that the matching operation is successful. The attribute matching between Alice and Bob can be represented by the following function:
M a t c h ( A l i c e , B o b ) = 1 , P a S b 0 , o t h e r
Now a specific example is given to illustrate the process of making friends. If Alice in Figure 1 wants to find a male who is between 18 and 30 years old and loves music through a mobile social network, Alice will encrypt her privacy file with a symmetric key and upload the encrypted privacy file to the friend server for management. The friend server will generate a storage address for the corresponding encrypted file. At the same time, Alice will submit his/her own access control policy (namely, friend-making preference) to the friend server. If, in the mobile social network, the self-description of a friend requester, Bob, exactly matches Alice’s friend-making preferences, Bob will obtain Alice’s sensitive files and make friends successfully.

4.3. Algorithm Definition

Generally, the following seven algorithms are included in our scheme:
  • Setup ( 1 λ , U ) ( PK , MK ) : Given the security parameters and system attribute sets U, KGC runs the algorithm to output the system public key P K and master key M K .
  • KeyGen ( PK , MK , S ) ( AK , SK ) : Taking a user attribute set S as input, KGC runs the algorithm to generate the attribute key A K and private key S K associated with the attribute set for the user.
  • Enc 1 ( PK , K , F ) CF : Taking the system public key P K , symmetric key K, and friend-making file F as input, the DO outputs the ciphertext of the file.
  • Enc 2 ( PK , K , ( M , ρ ) ) CT : The system public key P K , symmetric key K, and access policy ( M , P ) defined by the friend data owner DO are input, and the DO outputs the symmetric key ciphertext C T .
  • Match ( RP a , RS b ) 1 / 0 : Enter the friend-making preference reminder vector R P a of the user U a and the self-description reminder vector R S b of the user U b . Then the FS matches the information of U a and U b . If the match is successful, the FS outputs 1; otherwise, 0.
  • Dec 1 ( AK , CT ) CT : After entering the attribute key A K and ciphertext C T of the friend requester, the FS partially decrypts the original ciphertext and then obtains the ciphertext CT .
  • Dec 2 ( SK , CT ) F : Input the private key S K and ciphertext CT of the friend requester DR; the DR fully decrypts the ciphertext sent by the FS, and finally obtains the privacy file of the DO.
In this scheme, the user’s security key is divided into two parts. One part is hidden in A K , which we call the “attribute key”, which can be shared with the friend server, and the other part is hidden in S K and must be kept secret by the user. Once the FS receives the ciphertext C T , two operations need to be performed. First, the FS runs a “match” decryption test on the user to check whether the user has the ability to decrypt. If the matching test returns 1, the FS will use the attribute key A K of the corresponding DR to partially decrypt the original ciphertext to generate CT , and send CT to the DR.
The basic flow process diagram of our scheme is shown in Figure 2. In the initialization phase, KGC runs the S e t u p algorithm to generate the system public key and master key. At the same time, the K e y G e n algorithm is used to generate private keys and attribute keys for users by KGC in the system. The friend data owner DO defines an access policy, runs the E n c 1 and E n c 2 algorithm to generate an accessible ciphertext for the friend data requester DR. Then the DO outsources the encrypted data to the FS. The DR sends a request to access the ciphertext to the FS. After receiving the request, the FS runs the M a t c h algorithm to compare the information, and checks whether the attributes of the DR meet the friend-making access policy defined by the DO.
If the DR’s self-description meets the DO’s friend-making preferences, indicating that the requester is the expected target friend, the FS runs the D e c 1 algorithm. The FS uses the DR’s attribute key to partially decrypt the ciphertext, and sends it to the DR. Then the DR runs the D e c 2 algorithm, decrypts the ciphertext with his/her own private key, and finally obtains the DO’s private file, thereby obtaining the DO’s contact information and other information, that is, making friends successfully.

4.4. Security Model

In order to prove the security of the scheme and ensure the security and privacy of both friend-making parties in the social network, we have designed a game between the attacker A and the challenger C : indistinguishability against selective access policy and chosen plaintext attacks (IND-SAP-CPA).
  • Initialization:  A chooses an arbitrary challenge access policy ( M * , ρ * ) and submits it to C .
  • Setup:  C runs the S e t u p ( 1 λ , U ) algorithm to generate the system public key P K and master key M K ; C sends the public parameters P K to A and keeps the master key M K secret.
  • Phase 1: At this phase, C will answer the private key query put forward by A . Private key query: Given an attribute set S, C runs the K e y G e n ( P K , M K , S ) algorithm and returns the corresponding decryption key to A , where the attribute set S does not satisfy the access policy ( M * , ρ * ) .
  • Challenge: This phase requires the construction of the challenge ciphertext C T * . A provides C with two messages, K 0 and K 1 , of equal length; randomly throws a coin b { 0 , 1 } ; encrypts K b under ( M * , ρ * ) ; and then passes the challenge ciphertext C T * = E n c ( P K , K b , ( M * , ρ * ) ) to A .
  • Query phase 2: Repeat the work of query phase 1.
  • Guess:  A will finally output a guess b : if b = b , then A wins. A s advantage in this game is defined as follows:
If the probability of attacker A winning in the above game is negligible in all polynomial time, then the scheme in this paper is called IND-SAP-CPA security.
ε = A d v A I N D S A P C P A = | P r [ b = b ] 1 2 |

5. The Proposed Scheme

In this paper, the process of making friends in social networks mainly includes five stages: system initialization, key generation, information matching, data encryption, and decryption.
The algorithm of each stage is described as follows:
System initialization: KGC runs the S e t u p ( 1 λ , U ) ( P K , M K ) algorithm to generate the system public key and master key. KGC inputs the security parameter λ and the attribute domain U = { a t t 1 , a t t 2 , , a t t | U | } . Let G and G T be the multiplicative cyclic groups of the order prime p, g the generator of G, and e : G × G G T a bilinear map. KGC randomly selects α , β Z p * . Let γ = ( α + β ) mod p. For each attribute in U, KGC randomly selects the group element h a t t 1 , h a t t 2 , , h a t t | U | G , calculating the system public key P K and master key M K , as follows:
P K = { g , e ( g , g ) γ , g γ , h a t t 1 , h a t t 2 , , h a t t | U | } M K = { α , β , γ }
Finally, KGC publishes the system public key P K and keeps the system master key M K secret.
Key generation: Assuming that a friend data requester wants to search for friends through the friend server in the mobile social network, he/she first needs to register on the friend server, and then submit his/her attributes S (self-description) to KGC, and then KGC will run the K e y G e n ( P K , M K , S ) algorithm to generate the corresponding security key. The details are as follows:
(1)
KGC randomly selects t, z = Z p * sets t ˜ = t z .
(2)
KGC creates the user key into two parts: one part is A K , the “attribute key” that can be shared with the friend server, and the other part is S K , which is the user’s private “security key”, only saved by the user. KGC calculates the attribute key A K and the user’s private key S K .
A K = { V 1 = g α / z g γ t ˜ , E = g t ˜ , a t t x S : V x = h a t t x t ˜ } S K = { z , V 2 = g β / z g γ t ˜ }
KGC sends the key ( A K , S K ) to the friend data requester through a secure channel.
Data encryption: Since the friend server is not completely trusted, that is, the server may peek into the private data uploaded by the friend data owners, in order to hide their sensitive data, the DO will encrypt their own data. The DO adopts a double encryption for the data as follows:
(1)
The DO establishes multiple different friend files according to his/her own actual needs. For different files, the DO will use different keys for encryption. Suppose that the DO randomly selects a friend file and sets its number as F i , i { 1 , 2 , , n } , and then randomly selects the key K from a set of symmetric keys, performs symmetric encryption on the file F i , and obtains the file ciphertext C F .
(2)
In order to ensure the DO’s own friend-making preferences and the privacy of the symmetric key, the DO uses his/her own friend-making preferences as an access control policy to encrypt the symmetric key K and obtain the symmetric key ciphertext C T .
The DO sets his/her friend-making preference (access control policy) in the form of an LSSS access structure ( M , ρ ) , where M represents the l × n linear secret sharing matrix, and ρ is a mapping function that maps each row in M to a unique attribute in the attribute domain U, where { ρ i | 1 i l } represents the attribute used in the access structure ( M , ρ ) . The DO first randomly selects a set of random numbers s, z 2 , , z n Z p (these random numbers will be used to share the secret value s), and constructs a vector λ i = M i v . For i = { 1 , , l } , calculate λ i = M i v to obtain a set of encrypted secret values, where M i represents the i-th row in the matrix M. In addition, the DO randomly selects r 1 , r 2 , , r n Z p and obtains the ciphertext C T as follows:
C T = { ( M , ρ ) , C , C , { C i , D i } i [ l ] } C = K · e ( g , g ) γ s , C = g s , { C i = g γ λ i h ρ i r i , D i = g r i } i [ l ]
The DO uploads the data packet to the friend server FS in response to the query from the requester.
Information matching: In practice, the number of potential matching users is usually much smaller than the total number of registered users on the network. Based on this fact, we designed a mechanism to quickly filter out invalid users to improve the efficiency of friend matching. The key data structure of this mechanism is the reminder vector R P , which contains the number and characteristics of attributes in the friend-making preference attribute list P. The reminder vector R P is sent to the friend server by the friend data owner. For users participating in the matching, use the same method to generate their own query attribute list R S and upload it to the friend server. After receiving the query package, the friend server compares the requester’s attribute list with the data owner’s reminder vector to determine whether it is a potential friend of the data owner. If the pre-matching is successful, the next matching calculation will be carried out; otherwise, the matching ends. The specific algorithm is shown as follows:
Assume that there are attributes in the user’s attribute list L = { l 1 , l 2 , , l n } , λ is a prime number ( λ > n ) , and H a s h is a secure hash function whose output is n bits in length. For l k L , let r k H a s h ( l k ) mod λ , and the reminder vector R L = { r 1 , r 2 , , r n } . For two attributes l i and l j , r i H a s h ( l i ) m o d λ , r j H a s h ( l j ) m o d λ , if r i r j , l i l j .
(1)
For the DO’s friend preference attribute list P = { p 1 , p 2 , . p m } , let r p i H a s h ( p i ) m o d λ ; the DO generates a friend preference reminder vector R P = { r p 1 , r p 2 , , r p m } and uploads it to the FS. In the same way, the DR uses the same method to calculate r s j H a s h ( s j ) m o d λ for self-description S = { s 1 , s 2 , , s q } , and generates the self-description reminder vector R S = { r s 1 , r s 2 , , r s q } , where 1 i m , 1 j q . In our system model, the number of attributes is not necessarily the same for different users. According to our definition of “match”, for any potential matching user, the length of the DR’s self-description attribute list must be greater than or equal to the length of the DO’s friend-making preference attribute list. After receiving the attribute list of the DR, the FS compares the length of | R P | and | R S | . If | R P | > | R S | or the values of r p i and r s j are different under the same attribute category, it indicates that the DR’s self-description does not conform to the DO’s friend-making preferences and the matching is terminated; otherwise, proceed to the next matching step.
(2)
After passing the pre-match in the first step, the FS checks whether the DR has the ability to decrypt the ciphertext. Let I = { I : ρ i S } ,; when the attributes S of the DR meet the access policy ( M , ρ ) defined by the DO, there exists a set of constants { w i Z p * } i I such that i I w i λ i = s . The FS calculates whether there is a set of correct constants w i meeting i I M i w i = ( 1 , 0 , 0 ) , where M i represents the row vector corresponding to the attribute value submitted by the DR. If the value of w i can be obtained successfully, it indicates that the matching is successful, and proceeds to the next decryption algorithm.
Data decryption: If the DR initiates a friend search request to the FS, the FS will first match the DR’s information and checks whether the DR meets the DO’s friend-making conditions. If the pre-matching is successful, the DR can send its own attribute key A K to the FS and use the FS to perform partial decryption to reduce his/her own computing burden. If the DR fully meets the DO’s friend-making goal, it can be successfully decrypted. The algorithm details are as follows:
(1)
D e c 1 ( A K , C T ) C T : The FS enters the attribute key A K of the DR and the ciphertext C T uploaded by the DO and computes C T , as follows:
C T = e ( C , V 1 ) ( i I ( e ( C i , E ) e ( D i , V ρ i ) ) w i ) 2
Then the FS sends the ciphertext C T and the DO’s sensitive data file ciphertext C F to the DR, and the DR can fully decrypt the friend-making file as follows:
(2)
D e c 2 ( S K , C T ) F : The DR enters his/her own decryption private key S K = { z , V 2 } and partial decryption C T sent by the FS and the computes parameter B: B = e ( V 2 , C ) · C T .
The symmetric key K can be obtained as K = C B z .
Correctness:
C T = e ( C , V 1 ) ( i I ( e ( C i , E ) e ( D i , V ρ i ) ) w i ) 2 = e ( g s , g α / z g γ t ˜ ) ( i I ( e ( g γ λ i h ρ i r i , g t ˜ ) e ( g r i , h ρ i t ˜ ) ) w i ) 2 = e ( g , g ) s α / z e ( g , g ) s γ t ˜ ( i I ( e ( g γ λ i , g t ˜ ) e ( h ρ i r i , g t ˜ ) e ( g r i , h ρ i t ˜ ) ) w i ) 2 = e ( g , g ) s α / z e ( g , g ) s γ t ˜ ( e ( g γ , g t ˜ ) i I w i λ i ) 2 = e ( g , g ) s α / z e ( g , g ) s γ t ˜ ( e ( g , g ) s γ t ˜ ) 2 = e ( g , g ) s α / z e ( g , g ) s γ t ˜ B = e ( V 2 , C ) · C T = e ( g β / z g γ t ˜ , g s ) e ( g , g ) s α / z ( e ( g , g ) s γ t ˜ ) = e ( g β / z , g s ) e ( g γ t ˜ , g s ) e ( g , g ) s α / z ( e ( g , g ) s γ t ˜ ) = e ( g , g ) s β / z e ( g , g ) s α / z = e ( g , g ) s ( α + β ) / z = e ( g , g ) s γ / z K = C B z = C ( e ( g , g ) s γ / z ) z = K · e ( g , g ) γ s ( e ( g , g ) s γ / z ) z = K · e ( g , g ) γ s e ( g , g ) s γ

6. Security Analysis

6.1. Security Proof

Assume that the decisional q-parallel BDHE assumption holds in groups G and G T . For any probability polynomial-time adversary, the successful advantage is negligible for the proposed scheme under the decisional q-parallel BDHE assumption.
Based on the security model defined in this paper, we simulated the security game between the adversary A and the challenger B . Suppose that there is a polynomial time adversary A , which can attempt to break the IND-SAP-CPA security of our scheme with an advantage of ε . We define a simulator to try to solve the decisional q-parallel BDHE problem; then there exists B to solve the decisional q-parallel BDHE problem with a probability of ε / 2 . The simulation process is as follows:
The challenger B first makes the following settings: randomly selects s , a , b 1 , , b q Z p , and gives the following:
y = g , g s , g a , , g a q , g a q + 2 , , g a 2 q , g s b j , g a / b j , , g a q / b j , g a q + 2 / b j , , g a 2 q / b j 1 j q , g a s b k / b j , , g a q s b k / b j 1 j , k q , k j
B selects μ { 0 , 1 } at random. If μ = 0 , let T = e ( g , g ) a q + 1 s ; if μ = 1 , B randomly selects T Z p .
Initialization:  A sends the access policy ( M * , ρ * ) that it wants to challenge to B , where M * has n * columns.
Setup:  B randomly selects γ Z p and sets e ( g , g ) γ = e ( g a , g a q ) e ( g , g ) γ , which is equivalent to implicitly setting γ = γ + a q + 1 . B sets the group elements h a t t 1 , h a t t 2 , , h a t t | U | G as follows: For each x of 1 x U , there is a random value z x Z p corresponding to it. Let X denote the set of index i, where ρ * ( i ) = x . B calculates h a t t x as follows:
t ˜ = r + β 1 a q = β 2 a q 1 + + β n * a q n * + 1
If X = , then h a t t x = g z x . It should be noted that h a t t x is randomly distributed because g z x is random.
Query phase 1: At this phase, B builds a tuple list L S K = ( S , S K , A K ) , which is initially empty. Suppose that A makes a key query request for an attribute set S that does not meet the access policy ( M * , ρ * ) , and B will answer A ’s private key query.
If the attribute set S has been queried, B retrieves the key from the list L S K , and then returns ( S K , A K ) to A . Otherwise, B sets the vector β = ( β 1 , β 1 , , β n * ) Z p n * , and β 1 = 1 , and for all i satisfying ρ * ( i ) S , β M i * = 0 . According to the definition of LSSS, the vector satisfying this condition must exist. B randomly selects α , β Z p , and sets γ = ( α + β ) mod p, α = α + a q + 1 , β = β . Then B calculates V 2 = g β / z g γ t ˜ = g β / z g γ t ˜ . B randomly selects r Z p and calculates E = g r i = 1 n * ( g a q + 1 i ) β i = g t ˜ , which is equivalent to implicitly defining t ˜ as follows:
t ˜ = r + β 1 a q = β 2 a q 1 + + β n * a q n * + 1
According to this definition, the term g a q + 1 can be included in g a t ˜ , and the unknown term g α can be eliminated when constructing V 1 . B calculates V 1 in the following way:
V 1 = g α / z g γ r i [ 2 , n * ] ( g a q + 2 i ) β i = g α / z g γ t ˜
Next, B starts to calculate { V x } a t t x S . For each a t t x S , if no i meets ρ * ( i ) = x , then B can set V x = h a t t x t ˜ = ( g z x ) t = ( g t ˜ ) z x = E z x . If multiple i meet ρ * ( i ) = x , since B cannot simulate g a q + 1 / b i , it is necessary to satisfy the expression of V x that does not contain the term of g a q + 1 / b i . According to β M i * = 0 , B can construct V x as follows:
V x = E z x i X j [ 1 , n * ] ( g ( a j / b i ) r k [ 1 , n * ] , k j ( g a ( q + 1 + j k ) / b i ) w k ) M i , j *
B adds the generated key to list L S K = ( S , S K , A K ) and sends it to A .
Challenge:  A provides B with two challenge messages K 0 and K 1 of equal length. B randomly selects b { 0 , 1 } and calculates the ciphertext:
C * = K b · T · e ( g , g ) γ s , C * = g s
Then B chooses random numbers y 2 , , y n and uses the following vector to divide the secret value s:
η = ( s , s a + y 2 , s a 2 + y 3 , , s a n 1 + y n )
In addition, B chooses random numbers r 1 , r 2 , , r l and defines A i as the set of all k satisfying ρ * ( i ) = ρ * ( k ) and k i . The settings of C i , D i in the challenge ciphertext are as follows:
C i = h ρ i * r i j [ 2 , n ] ( g a ) M i , j * y j · ( g b i s ) z ρ i * · k A i j [ 1 , n ] ( g a j · s · ( b i / b k ) ) M k , j * , D i = g r i g s b i
Query phase 2: Repeat the operation in query phase 1.
Guess:  A outputs the guess value of b. If b = b , B outputs μ = 0 , which means T = e ( g , g ) a q + 1 s ; if b b , B outputs μ = 1 , which means T G T . When μ = 0 , A obtains a valid ciphertext K b . By definition, A ’s advantage in this case is ε , so P r [ b = b | μ = 0 ] = 1 / 2 + ε . When b = b , B guesses μ = 0 , so P r [ μ = μ | μ = 0 ] = 1 / 2 + ε . When μ = 1 , it means that A cannot obtain any information about b, so P r [ b = b | μ = 1 ] = 1 / 2 . When b b , B guesses μ = 1 , so P r [ μ = μ | μ = 1 ] = 1 / 2 .
It can be obtained from this that the advantage of solving the decisional q-parallel BDHE problem is as follows:
1 2 P r [ μ = μ | μ = 0 ] 1 2 P r [ μ = μ | μ = 1 ] = ε 2
Therefore, B can solve the decisional q-parallel BDHE problem with the advantage of ε / 2 , and this conclusion obviously contradicts the currently recognized decisional q-parallel BDHE assumption. Therefore, the assumption does not hold; that is, the scheme can achieve IND-SAP-CPA security.

6.2. Achieving Goals

In this section, we illustrate how the proposed scheme can effectively achieve privacy protection and fine-grained access control.
The proposed scheme achieves privacy protection. The friend data owner first uses a random symmetric key to encrypt social privacy files, and uses CP-ABE to encrypt the symmetric key. Since the symmetric encryption and CP-ABE scheme are secure, the confidentiality of outsourced social data can be guaranteed. In addition, the R P and R S uploaded by the data owner and the requester are only fuzzy descriptions of self-description and friend-making preferences, which only implies the length of the attribute and the remainder feature of the parameter λ , since there are multiple different attribute values that may produce the same result after the remainder of λ ; therefore, the friend server cannot infer the specific attribute information of both parties through the reminder vector, which effectively guarantees the confidentiality and privacy protection of the friend-making data.
The proposed scheme achieves fine-grained access control of friend-making data. This scheme allows friend data owners to flexibly set different data access control policies according to their actual needs. In the encryption phase of the scheme, data owners can encrypt private files according to their own access policies (namely, friend-making preferences), and then outsource the initial ciphertext to the social network friend server. Specifically, the encrypted data access policy defined in the access structure supports complex operations, including “AND” and “OR”, which can represent any set of conditions. Additionally, in the decryption process, only when the self-description attribute set of the data requester meets the friend-making preference attribute defined by the data owner can the requester decrypt the ciphertext successfully. Thus, this structure enables fine-grained access control over social data.

7. Performance Analysis

In order to further understand the effectiveness and practicability of the proposed scheme in a social network system, we compared this scheme with similar encryption schemes [24,25,26] in terms of computational and communication cost. These schemes and our scheme all use the CP-ABE method of LSSS access policy to achieve privacy protection.

7.1. Computational Analysis

In terms of computational overhead, we mainly conduct the comparative analysis from four phases: system setup, key generation, data encryption, and data decryption, as shown in Table 3. In order to simplify the description, we use T e to denote the calculation cost of a single exponential operation in group G or G T , and use T p , T h , and T m to denote the calculation cost of a single pairing operation, hash operation, and multiplication operation, respectively, and u denotes the number of attributes submitted by the user, and l represents the number of attributes in the access policy defined by the friend data owner.
It can be seen from Table 3 that, in the system setup phase, the computational burden of the scheme in this paper is the smallest, and the computation cost is significantly lower than that of Cui [24] and Yang [25]. In the key generation phase, the calculation cost of our scheme is lower than that of Cui [24]. As the scheme in this paper sets the user’s security key into two parts, the attribute key A K and the user’s private key S K , the calculation cost is higher than that of Yang [25] and Li [26]. In addition, the calculation burden of all the schemes in Table 3 is positively correlated with the number of attributes submitted by the user. Obviously, in the data encryption stage, the efficiency of this scheme is higher than those of other schemes, and the computational burden increases as the number of attributes increases. In the data decryption stage, the efficiency of the proposed scheme is better than that of Cui [24] and Yang [25], and is also related to the number of attributes. Although the overall decryption efficiency of that of Li [26] is higher than that of the proposed scheme, no matching operation is performed before decryption. When the user is unable to decrypt the ciphertext, time will be wasted and efficiency will be reduced. Due to the difference in system model, this scheme reduces the computational burden of the user side by outsourcing decryption calculations to the friend server. Most of the complex calculations are performed by the friend server with strong computing capacity, while the client only needs T e + T p to complete ciphertext decryption. Through comparative analysis, it is found that the overall efficiency of our scheme is higher than those of other schemes.

7.2. Communication Analysis

In Table 4, we compare and analyze the communication cost of the scheme, mainly from the storage capacity of the system public key, system master key, user private key, and encrypted ciphertext. Let | G | , | G T | , | Z p | , | H | denote the lengths of the groups G , G T , Z p and hash function, respectively, and represent the number of attributes contained in the system. It can be found that our scheme requires ( 2 + N ) | G | + | G T | storage cost to generate the system public key, which is lower than those of other schemes. In this paper, the storage costs of the master key, user private key, and ciphertext are 3 | G | , ( 2 + N ) | G | + | G T | , and ( 2 l + 1 ) | G | + | G T | + | ( M , ρ ) | respectively. Although the storage capacity of our scheme is higher than that of Li [26], from the perspective of security, this scheme increases the difficulty of the attacker’s destruction and improves the security of the system.

7.3. Performance Analysis

We simulated our scheme on a Linux system of a Lenovo laptop. The device processor is AMD Ryzen 5-3500U with Radeon Vega Mobile Gfx (2.10 GHz), the memory is 12.0 GB, and the PBC library is used to implement all algorithms. Take the number of attributes in the access policy and the number of attributes submitted by the requester as variables to test the running time of each scheme. All results are based on the average running time of 50 experiments.
Figure 3a shows that the key generation time of all the schemes in Table 3 basically increases linearly with the number of attributes submitted by users. Due to the addition of a large number of exponential operations, the computation cost of Cui [24] is the highest. The calculation time of our scheme is basically the same as those of Li [26] and Yang [25].
Figure 3b reflects the change of the data encryption time with the increase in the number of attributes in the access policy. Obviously, the scheme in this paper has more advantages in computation time at this phase. The decryption calculations of our scheme and the scheme of Li [26] are divided into two parts: one is calculated by the third-party platform, and the other is calculated by the data requester. The decryption operations of Cui [24] and Yang [25] are all calculated by the user.
Figure 3c compares the complete decryption time of the schemes, including all the time cost of successfully restoring the original ciphertext to plaintext. As the number of attributes increases, the calculation time of the scheme of Li [26] basically remains unchanged, which is consistent with its computation cost 8 T p + 8 T m . Meanwhile, it can be observed that the overall decryption efficiency of the proposed scheme is higher than that of Cui [24] and Yang [25].
Both the of scheme Li [26] and our scheme introduce outsourcing decryption. The experimental results in Figure 3d show that our scheme is superior to the of Li [26] in decryption time on mobile devices of user terminals. In addition, other schemes do not match user information before decryption. If users cannot decrypt the ciphertext, it will waste time and reduce efficiency. In the pre-matching algorithm of our scheme, the reminder vector R L = { r 1 , r 2 , , r n } generated by the user is closely related to the parameter λ , where r k H a s h ( l k ) m o d λ . Theoretically, the smaller λ is, the fuzzier the generated reminder vector will be and the longer the matching time will be consumed. Conversely, the larger λ is, the more accurate the generated reminder vector is, and the matching time is shorter. In order to intuitively describe the computational efficiency of the pre-matching algorithm under different λ , we conducted the following experiment. Set the number of self-description attributes of the friend requester to be fixed at 10, change the number of friend-making preference attributes of the data owner from 1 to 10, and test the running time of the matching algorithm; the experimental results are shown in Figure 4. Obviously, the running result is consistent with the theoretical analysis. In practical applications, we should pay attention to that, although the calculation efficiency will increase with the increase in λ ; the more accurate the reminder vector will reduce the security of the system. Therefore, we should determine λ based on the balance between efficiency and security.

8. Conclusions

Aiming at the privacy protection problem of friend matching in mobile social networks, we propose a private data sharing scheme based on attribute encryption, in which the friend data owner can flexibly set his/her own access control policy according to his/her actual needs. Only data requesters whose attributes meet the access policy can access the data owner’s social space. In order to achieve efficient and secure data sharing on mobile clients with limited resources, this paper introduces a “matching” algorithm before decryption to quickly filter out unmatched users, making the original CP-ABE structure suitable for our application scenarios and improving the friend-making efficiency. At the same time, to reduce the user’s decryption overhead, this paper outsources a large number of decryption matching operations to the friend server provider, which greatly improves the decryption efficiency of the users. Experimental analysis shows that our scheme is secure and effective, and can be applied to a variety of application scenarios, such as patient matching in online medical social networks. In the future, we will consider the weight of user interest to calculate the matching degree between users more accurately so as to obtain faster encryption and decryption speeds and improve the user experience of smart mobile terminals.

Author Contributions

Conceptualization, L.Y. and X.N.; methodology, L.Y.; manuscript writing, L.Y. and X.N.; data analysis, L.Y. and S.N.; funding acquisition, L.Y. and S.N.; visualization, X.N.; create diagrams, S.N.; data collection, X.N.; reviewing and editing, L.Y. and S.N. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (Nos. 62241207, 62262060), the Gansu Science and Technology Program (No. 22JR5RA158), and the industrial support plan project of the Gansu Provincial Department of Education (No. 2022CYZC-17).

Data Availability Statement

The data can be shared up on request.

Acknowledgments

The authors gratefully acknowledge the anonymous reviewers for their valuable comments.

Conflicts of Interest

The authors declare they have not used artificial intelligence (AI) tools in the creation of this article.

References

  1. Qiu, T.; Chen, B.; Sangaiah, A.K.; Ma, J.; Huang, R. A survey of mobile social networks: Applications, social characteristics, and challenges. IEEE Syst. J. 2017, 12, 3932–3947. [Google Scholar] [CrossRef]
  2. Gu, J.; Tian, J.; Xu, Y.C. Private or not? The categorical differences in mobile users’ privacy decision-making. Electron. Commer. Res. Appl. 2022, 52, 101122. [Google Scholar] [CrossRef]
  3. Li, H.; Zhu, H.; Du, S.; Liang, X.; Shen, X. Privacy leakage of location sharing in mobile social networks: Attacks and defense. IEEE Trans. Dependable Secur. Comput. 2016, 15, 646–660. [Google Scholar] [CrossRef]
  4. Qiu, T.; Liu, X.; Zhou, X.; Qu, W.; Ning, Z.; Chen, C.P. An adaptive social spammer detection model with semi-supervised broad learning. IEEE Trans. Knowl. Data Eng. 2020, 34, 4622–4635. [Google Scholar] [CrossRef]
  5. Safi, S.M.; Movaghar, A.; Ghorbani, M. Privacy protection scheme for mobile social network. J. King Saud Univ.-Comput. Inf. Sci. 2022, 34, 4062–4074. [Google Scholar]
  6. Dewan, P.; Kumaraguru, P. Facebook Inspector (FbI): Towards automatic real-time detection of malicious content on Facebook. Soc. Netw. Anal. Min. 2017, 7, 15. [Google Scholar] [CrossRef]
  7. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Advances in Cryptology–EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Proceedings 24. Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  8. Li, J.; Yu, Q.; Zhang, Y.; Shen, J. Key-policy attribute-based encryption against continual auxiliary input leakage. Inf. Sci. 2019, 470, 175–188. [Google Scholar] [CrossRef]
  9. Yu, Y.; Shi, J.; Li, H.; Li, Y.; Du, X.; Guizani, M. Key-policy attribute-based encryption with keyword search in virtualized environments. IEEE J. Sel. Areas Commun. 2020, 38, 1242–1251. [Google Scholar] [CrossRef]
  10. Li, C.; Shen, Q.; Xie, Z.; Dong, J.; Feng, X.; Fang, Y.; Wu, Z. Hierarchical and non-monotonic key-policy attribute-based encryption and its application. Inf. Sci. 2022, 611, 591–627. [Google Scholar] [CrossRef]
  11. Imam, R.; Kumar, K.; Raza, S.M.; Sadaf, R.; Anwer, F.; Fatima, N.; Nadeem, M.; Abbas, M.; Rahman, O. A systematic literature review of attribute based encryption in health services. J. King Saud Univ.-Comput. Inf. Sci. 2022, 34, 6743–6774. [Google Scholar] [CrossRef]
  12. Shi, J.; Yu, Q.; Yu, Y.; Wang, L.; Zhang, W. Privacy protection in social applications: A ciphertext policy attribute-based encryption with keyword search. Int. J. Intell. Syst. 2022, 37, 12152–12168. [Google Scholar] [CrossRef]
  13. Fu, X.; Wang, Y.; You, L.; Ning, J.; Hu, Z.; Li, F. Offline/Online lattice-based ciphertext policy attribute-based encryption. J. Syst. Archit. 2022, 130, 102684. [Google Scholar] [CrossRef]
  14. Deng, S.; Yang, G.; Dong, W.; Xia, M. Flexible revocation in ciphertext-policy attribute-based encryption with verifiable ciphertext delegation. Multimed. Tools Appl. 2023, 82, 22251–22274. [Google Scholar] [CrossRef]
  15. Cui, H.; Deng, R.H.; Qin, B.; Weng, J. Key regeneration-free ciphertext-policy attribute-based encryption and its application. Inf. Sci. 2020, 517, 217–229. [Google Scholar] [CrossRef]
  16. Li, J.; Zhang, Y.; Ning, J.; Huang, X.; Poh, G.S.; Wang, D. Attribute based encryption with privacy protection and accountability for CloudIoT. IEEE Trans. Cloud Comput. 2020, 10, 762–773. [Google Scholar] [CrossRef]
  17. Wang, S.; Zhou, J.; Liu, J.K.; Yu, J.; Chen, J.; Xie, W. An efficient file hierarchy attribute-based encryption scheme in cloud computing. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1265–1277. [Google Scholar] [CrossRef]
  18. Huang, Q.; Yang, Y.; Fu, J. PRECISE: Identity-based private data sharing with conditional proxy re-encryption in online social networks. Future Gener. Comput. Syst. 2018, 86, 1523–1533. [Google Scholar] [CrossRef]
  19. Zhou, L.; Luo, E.; Wang, G.; Yu, S. Secure fine-grained friend-making scheme based on hierarchical management in mobile social networks. Inf. Sci. 2021, 554, 15–32. [Google Scholar] [CrossRef]
  20. Cui, W.; Du, C.; Chen, J. CP-ABE based privacy-preserving user profile matching in mobile social networks. PLoS ONE 2016, 11, e0157933. [Google Scholar] [CrossRef]
  21. Feng, C.; Yu, K.; Aloqaily, M.; Alazab, M.; Lv, Z.; Mumtaz, S. Attribute-based encryption with parallel outsourced decryption for edge intelligent IoV. IEEE Trans. Veh. Technol. 2020, 69, 13784–13795. [Google Scholar] [CrossRef]
  22. Cui, J.; Bian, F.; Zhong, H.; Zhang, Q.; Xu, S.; Gu, C.; Liu, L. An Anonymous and Outsourcing-Supported Multiauthority Access Control Scheme With Revocation for Edge-Enabled IIoT System. IEEE Syst. J. 2022, 16, 6569–6580. [Google Scholar] [CrossRef]
  23. Zhang, J.; Yang, Y.; Liu, X.; Ma, J. An efficient blockchain-based hierarchical data sharing for Healthcare Internet of Things. IEEE Trans. Ind. Inform. 2022, 18, 7139–7150. [Google Scholar] [CrossRef]
  24. Cui, H.; Deng, R.H.; Lai, J.; Yi, X.; Nepal, S. An efficient and expressive ciphertext-policy attribute-based encryption scheme with partially hidden access structures, revisited. Comput. Netw. 2018, 133, 157–165. [Google Scholar] [CrossRef]
  25. Yang, K.; Han, Q.; Li, H.; Zheng, K.; Su, Z.; Shen, X. An efficient and fine-grained big data access control scheme with privacy-preserving policy. IEEE Internet Things J. 2016, 4, 563–571. [Google Scholar] [CrossRef]
  26. Li, J.; Sha, F.; Zhang, Y.; Huang, X.; Shen, J. Verifiable outsourced decryption of attribute-based encryption with constant ciphertext length. Secur. Commun. Netw. 2017, 2017, 3596205. [Google Scholar] [CrossRef]
Figure 1. Friend-making system model.
Figure 1. Friend-making system model.
Electronics 13 02175 g001
Figure 2. Flow-process diagram.
Figure 2. Flow-process diagram.
Electronics 13 02175 g002
Figure 3. Comparisons of computational overhead.
Figure 3. Comparisons of computational overhead.
Electronics 13 02175 g003
Figure 4. Friend matching time.
Figure 4. Friend matching time.
Electronics 13 02175 g004
Table 1. Friend-making user information.
Table 1. Friend-making user information.
User ID Self-Description (S)Friend Preference (P)Friend File (F)
I D 1 S I D 1 P I D 1 F I D 1
I D 2 S I D 2 P I D 2 F I D 2
I D n S I D n P I D n F I D n
Table 2. Self-description of Bob.
Table 2. Self-description of Bob.
Attribute CategoryAttribute Value
Age26
SexMale
Blood typeO
AddressXinhua Street
SchoolOxford
ProfessionTeacher
InterestMusic, sports, travel
Table 3. Comparisons of computational cost.
Table 3. Comparisons of computational cost.
Schemes Setup Key Generation Data Encryption Data Decryption
Cui [24] 5 T e + T p ( 5 u + 3 ) T e + 4 T m ( 8 l + 2 ) T e + ( l + 3 ) T m u T e + ( 6 u + 1 ) T p + ( 5 u + 1 ) T m
Yang [25] 2 T e + T p ( u + 2 ) T e ( 2 l + 2 ) T e + ( l + 1 ) T m u T e + ( 2 u + 1 ) T p + ( u + 2 ) T m
Li [26] T e + T p ( u + 2 ) T e + T m ( 2 l + 6 ) T e + ( 2 l + 4 ) T m 8 T p + 8 T m
Ours T e + T p ( u + 3 ) T e ( 3 l + 2 ) T e + ( l + 1 ) T m ( u + 1 ) T e + 2 u T p + ( u + 3 ) T m
Table 4. Comparisons of communication cost.
Table 4. Comparisons of communication cost.
Schemes Public Key Master Key Userprivate Key Ciphertext
Cui [24] 9 | G | + | G T | + | H | | G | + 4 | Z p | ( 2 + 5 u ) | G | ( 6 l + 1 ) | G | + | G T | + | ( M , ρ ) |
Yang [25] ( 2 + N ) | G | + | G T | | G | ( 2 + u ) | G | ( l + 1 ) | G | + | G T | + | ( M , ρ ) |
Li [26] ( 5 + N ) | G | + | G T | ( 1 + N ) | Z p | 2 | G | 5 | G | + 2 | G T |
Ours ( 2 + N ) | G | + | G T | 3 | G | ( 3 + u ) | G | ( 2 l + 1 ) | G | + | G T | + | ( M , ρ ) |
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.

Share and Cite

MDPI and ACS Style

Yu, L.; Nan, X.; Niu, S. A Privacy-Preserving Friend Matching Scheme Based on Attribute Encryption in Mobile Social Networks. Electronics 2024, 13, 2175. https://doi.org/10.3390/electronics13112175

AMA Style

Yu L, Nan X, Niu S. A Privacy-Preserving Friend Matching Scheme Based on Attribute Encryption in Mobile Social Networks. Electronics. 2024; 13(11):2175. https://doi.org/10.3390/electronics13112175

Chicago/Turabian Style

Yu, Li, Xingxing Nan, and Shufen Niu. 2024. "A Privacy-Preserving Friend Matching Scheme Based on Attribute Encryption in Mobile Social Networks" Electronics 13, no. 11: 2175. https://doi.org/10.3390/electronics13112175

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop