CN111526155A - System for protecting user privacy in social network and optimal path matching method - Google Patents
System for protecting user privacy in social network and optimal path matching method Download PDFInfo
- Publication number
- CN111526155A CN111526155A CN202010363822.1A CN202010363822A CN111526155A CN 111526155 A CN111526155 A CN 111526155A CN 202010363822 A CN202010363822 A CN 202010363822A CN 111526155 A CN111526155 A CN 111526155A
- Authority
- CN
- China
- Prior art keywords
- user
- server
- vertex
- information
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 21
- 239000004576 sand Substances 0.000 claims description 19
- 230000000875 corresponding effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention relates to a system for protecting user privacy in a social network and an optimal path matching method. The method comprises the following steps: the trusted center generates system parameters and a secret key and sends the system parameters to the server and the user; the user registers; the server registers; a user constructs vertex information and weight information and sends ciphertext information generated in the process of constructing the vertex information and the weight information to a server; the server is used for constructing a social graph according to the vertex information and the weight information; a query user in the users uploads a starting terminal mark to a server; the server generates a path sequence and a weight sequence according to the social graph and the starting and ending point identification; the server sends the weight sequence to the inquiry user so that the inquiry user can determine the position of the ciphertext; and the inquiry user determines the optimal path from the path sequence by adopting an inadvertent transmission mode according to the ciphertext position. The invention can ensure that the privacy of the user is not revealed during path query, and has the advantages of high query speed, accurate and efficient processing.
Description
Technical Field
The invention relates to the technical field of social networks, in particular to a system for protecting user privacy in a social network and an optimal path matching method.
Background
In order to realize various intelligent services, such as recommendation service, sharing service and query service, the online social network needs to perform information association query and matching by using personal attribute information of users to obtain optimal recommendations in the social network. However, these user attribute information implies the personal privacy of many users, such as the age, sex, work unit, place of residence, and other sensitive information of the users. Malicious attackers can obtain, analyze and use the data for illegal operations by means of snooping and the like. Therefore, how to protect the privacy of users in social networks is an important issue.
In the social network, all users upload their private information to a cloud server. The user provides the source point information and the end point information, so that the propagation path between the two coordinates can be inquired, wherein the optimal propagation path represents that the propagation cost of the user is smaller and the propagation is more effective. Through the optimal propagation path, the user can rapidly and efficiently propagate a certain message to the target user. In order to protect privacy, user information is usually uploaded after being encrypted, and propagation cost (defined as weight value) between users needs to be compared in an outsourcing environment. The whole process should ensure that the server cannot know the sensitive data of the user and the system user cannot obtain any information except the propagation path. Some methods for solving the above problems, such as a path query method based on a homomorphic encryption algorithm, also appear; the homomorphism property enables the ciphertext obtained by encrypting to be subjected to certain operation to be equal to the ciphertext obtained by performing another operation on the encrypted plaintext. However, in the existing path query scheme, firstly, the definition of weight information between vertexes is not accurate enough, the interaction between the vertexes is not considered, and the purpose of path query cannot be clearly expressed; secondly, the query speed is positively correlated with the number of vertexes, so that the practicability of the query of the large social network cannot be guaranteed or the balance between accuracy and efficiency needs to be made.
Disclosure of Invention
The invention aims to provide a system for protecting user privacy in a social network and an optimal path matching method, which can ensure that propagation paths of any two vertexes of a large social network can be quickly inquired, the inquiry speed does not depend on the number of users, and the privacy protection safety is improved.
In order to achieve the purpose, the invention provides the following scheme:
a system for protecting user privacy in a social network, comprising: the system comprises a trusted center, a server and a user, wherein the trusted center is used for generating system parameters and a secret key and sending the parameters to the server; the method comprises the steps that after the user registers, vertex information and weight information are constructed, ciphertext information generated in the process of constructing the vertex information and the weight information is sent to a server, the server is used for constructing a social graph according to the vertex information and the weight information after registering, a query user in the user is used for providing identification marks of the user and a target user, the server is used for querying all propagation paths and corresponding weights, and an optimal path is provided for the query user through an inadvertent transmission mode.
An optimal path matching method for protecting user privacy in a social network comprises the following steps:
the trusted center generates system parameters and a secret key and sends the system parameters to the server and the user;
the user registers;
the server registers;
the user constructs vertex information and weight information and sends ciphertext information generated in the process of constructing the vertex information and the weight information to the server;
the server is used for constructing a social graph according to the vertex information and the weight information;
a query user in the users uploads a starting end point identifier to the server;
the server generates a path sequence and a weight sequence according to the social graph and the starting and ending point identification;
the server sends the weight value sequence to the inquiry user so that the inquiry user can determine the ciphertext position;
and the inquiry user determines an optimal path from the path sequence by adopting an inadvertent transmission mode according to the ciphertext position.
Optionally, the trusted center generates system parameters and a secret key, and sends the system parameters to the server and the user, which specifically includes:
acquiring a safety parameter kappa;
according to the security parameters, calculating a master public key mpk and a master key msk of the encryption algorithm, wherein mpk is (g)msk,g,p),p is a large prime number and satisfies | p | ═ k,is [1, p-1 ]]In an arbitrary integer, g isA generator of (2); selecting a random number R, wherein | R | < | p |/3;
obtaining a key pair (sk)1,sk2) The key pair includes a first key sk1And a second key sk2Whereinsk1+sk2=msk mod(p-1);
and issuing parameter information, wherein the parameter information comprises the master public key, the generator, the prime number and the random number.
Optionally, the registering of the user specifically includes:
sending a first registration request;
the trusted center randomly selects an integer from the integer sequence as the identity ID of the current user according to the first registration requestiAnd combining the key vectorReturning to the current user;
sending the ID to all users connected with the current useri;
The inquiring user obtains the IDiThen sending a second registration request;
the trusted center returns the first key sk to the inquiring user according to the second registration request1。
Optionally, the registering by the server specifically includes:
sending a third registration request;
the trusted center returns the second key sk to the server according to the third registration request2。
Optionally, the user constructs vertex information and weight information, and sends ciphertext information generated in the process of constructing the vertex information and the weight information to the server, and the method specifically includes:
obtaining the USERiAttribute information of (2);
binarizing the attribute information through one-hot coding to enable the value of only one bit in a binary value corresponding to each dimension attribute to be 1; the user converts all discrete attributes of an individual into an attribute vector of length w
The USER USERiAccording to the key vectorEncrypting the attribute vectorDeriving vertex information v in a social networki;
USER for each connected USERjThe current USER USERiSending an application to the trusted center;
the trusted center returns a weight key according to the application;
calculating a weight ciphertext by using the encryption homomorphism property and the weight key, and sending the weight ciphertext to a server;
and the server integrates the ciphertext to obtain weight information.
Optionally, the server generates a path sequence and a weight sequence according to the social graph and the start and end point identifier, and specifically includes:
determining a vertex v corresponding to a starting point identifier in the social graphsAnd is defined as a first layer set of starting vertices S1(ii) a Finding the vertex v corresponding to the terminal point identificationtAnd defined as a first layer termination vertex set T1;
Determining the first layer starting vertex set S1And the first layer termination vertex set T1Is denoted by vuWherein v isu∈{S1∩T1Querying a vertex v according to the social graphsAnd vuAnd vuAnd vtThe weights between them are respectively marked as Es,uAnd Eu,tA 1 is mixing Es,u·Eu,tAdded to the weight sequenceIn, query vertex v simultaneouslyuCorresponding identification IDuWill IDuJoin to Path sequencePerforming the following steps;
determining the first set of starting vertices S from the social graph1Each vertex v ofiAll connected vertices v ofjAnd is defined as the second layer initial vertex set S2At the same time vi→vjAdding to a set of prepositioned vertices P1;
Determining the second layer starting vertex set S2And the first layer termination vertex set T1Is updated by vuWherein v isu∈{S2∩T1At the same time in the set of front vertices P1In finding vuAnd is denoted by viSequentially querying vertexes v according to the social graphsAnd vi、viAnd vuAnd vuAnd vtThe weights between are respectively marked as Es,i、Ei,uAnd Eu,tA 1 is mixing Es,i·Ei,u·Eu,tAdded to the weight sequenceIn, query vertex v simultaneouslyiAnd vuCorresponding identification IDiAnd IDuWill IDi·R+IDuJoin to Path sequencePerforming the following steps;
determining the first-tier set of termination vertices T from the social graph1Each vertex v ofi′All connected vertices v ofj′And is defined as a second layer termination vertex set T2At the same time vi′→vj′Adding to a set of postpositional vertices P2;
Determining the second layer starting vertex set S2And the second layer termination vertex set T2Is updated by vuWherein v isu∈{S2∩T2At the same time in the set of front vertices P1In finding vuAnd is denoted by viAt said set of post-vertices P2In finding vuIs denoted by vi′Sequentially querying vertexes v according to the social graphsAnd vi、viAnd vu、vuAnd vi' and vi' and vuThe weights between are respectively marked as Es,i、Ei,u、Eu,i′And Ei′,tA 1 is mixing Es,i·Ei,u·Eu,i′·Ei′,tIs added toIn, query vertex v simultaneouslyi、vi' and vuCorresponding identification IDi、IDi' and IDuWill IDi·R2+IDu·R+IDi′Is added toIn (1), get the path sequenceSum weight sequence
Optionally, the sending, by the server, the weight sequence to the querying user so that the querying user determines a ciphertext position includes:
according to the second key sk2Decrypting the weight sequenceEach element of (a) obtains a first sequence of decryption weightsAnd sending to the inquiring user;
for the inquiryThe user according to the first key sk1Decrypting the first weight sequenceEach element of (2) to obtain a second decryption weight sequence
Optionally, the querying user determines an optimal path from the path sequence by adopting an inadvertent transmission manner according to the ciphertext position, which specifically includes:
the server sends q random integers C to the inquiring useri,i-1, 2, …, q, wherein q is the sequenceThe number of the elements in the Chinese character,
the querying user generates a keyCalculating q public keys and sending each public key to the server, wherein the public key corresponding to the ciphertext position is generated by a secret key k, and the rest public keys are generated according to the public key and the integer CiGenerating;
the server checks each public key to obtain a check result;
the server encrypts a path sequence by using the public key according to the check result and sends the path sequence to the inquiry user;
and the inquiry user decrypts the path ciphertext corresponding to the ciphertext position in the path sequence according to the key k, and can determine the optimal path of the social network by an accidental transmission mode.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
(1) the invention has high security, and all processes are realized by using an ElGamal encryption system. Even if the server has complete graph information such as vertex information and weight information, the server and external attackers cannot obtain any private information as long as there is no collusion between the user and the server. Meanwhile, the user cannot recover the user key of the connected user from the weight key obtained by the vector inner product. Therefore, the invention has high privacy protection safety.
(2) By means of an inadvertent transmission mode, due to the fact that discrete logarithm is difficult to assume, the server does not know the specific content of the path which the user wants to query, namely the specific position of the ciphertext b cannot be judged; because the server verifies the correctness of the public key in transmission, the user can only obtain a path, namely, the key required by other ciphertexts can not be forged or judged except k.
(3) The invention provides an optimal path matching method for protecting user privacy in a social network, which is characterized in that on the premise of ensuring the security, by using a data structure of bidirectional breadth-first search of a source point and a destination point, the operation speed of a server is high, the processing is efficient, and parameters in the process can be pre-generated so as to reduce the actual operation time.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
FIG. 1 is a schematic diagram illustrating a system for protecting user privacy in a social network according to the present invention;
FIG. 2 is a schematic diagram of data transmission inside the system for protecting user privacy in the social network according to the present invention;
FIG. 3 is a flowchart of an optimal path matching method for protecting user privacy in a social network according to the present invention;
FIG. 4 is a flowchart of entity registration in a method according to an embodiment of the invention;
fig. 5 is a flow chart of an inadvertent transmission in a method according to an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention aims to provide a system for protecting user privacy in a social network and an optimal path matching method, which can ensure that propagation paths of any two vertexes of a large social network can be quickly inquired, the inquiry speed does not depend on the number of users, and the privacy protection safety is improved.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
FIG. 1 is a schematic diagram illustrating a system for protecting user privacy in a social network according to the present invention. As shown in fig. 1, a system for protecting user privacy in a social network includes: trusted center 1, server 2, user 3. FIG. 2 is a schematic diagram of data transmission inside the system for protecting user privacy in the social network according to the present invention. As shown in fig. 2, the system includes a trusted center (TA), a server (CS) and a USER (USER). The trusted center 1 is used for generating system parameters and keys and sending the parameters to the server 2; the user 3 constructs the peak information and the weight information after registering, and sends the ciphertext information generated in the process of constructing the peak information and the weight information to the server 2, and the server 2 registersAnd then, the user 3 is used for providing the identity identifications of the user and the target user, and the server 2 is used for inquiring all propagation paths and corresponding weights, and providing the optimal path for the inquiring user in an inadvertent transmission mode. Suppose there are n USERs USER in the systemi(i ═ 1,2, …, n). The trusted center 1 distributes and calculates system parameters: identity ID, user key of user 3Enquiry key (sk)1,sk2) Weight key f, query key (sk)1,sk2),USERiUploading personal sensitive information to a server 2 through encryption, constructing a social graph G (V, E) composed of ciphertext through calculation and integration by the server 2, and providing Identification (ID) of a user and an Identity (ID) of a target user by a query user RU in a user 3s,IDt) The server 2 inquires out all the propagation pathsAnd corresponding weight valueInquiring the user decryption weight sequence to obtain the subscript of the optimal propagation path, and transmitting OT through many-to-one carelessness1 qIn this way, the query user can obtain the optimal propagation path.
FIG. 3 is a flowchart of an optimal path matching method for protecting user privacy in a social network according to the present invention. As shown in fig. 3, an optimal path matching method for protecting user privacy in a social network includes:
step 101: the method comprises the following steps that the trusted center generates system parameters and a secret key and sends the system parameters to a server and a user, and specifically comprises the following steps:
the security parameter k is obtained.
According to the security parameters, calculating a master public key mpk and a master key msk of the encryption algorithm, wherein mpk is (g)msk,g,p),p is a large prime number and satisfies | p | ═ k,represents [1, p-1 ]]In an arbitrary integer, g isSelecting a random number R, wherein R < p/3.
Obtaining a key pair (sk)1,sk2) The key pair includes a first key sk1And a second key sk2Whereinsk1+sk2=msk mod(p-1)。
publishing parameters (mpk, g, p, R), i.e. public key for encryption, generator element, prime modulus information and system nonce information for the integration path.
Step 102: the registering of the user specifically includes:
a first registration request is sent.
The trusted center randomly selects an integer from the integer sequence as the identity ID of the current user according to the first registration requestiAnd combining the key vectorAnd returning to the current user.
Sending the ID to all users connected with the current useri。
The inquiring user obtains the IDiAnd then sends a second registration request.
The trusted center returns the first key sk to the inquiring user according to the second registration request1。
Step 103: the server performs registration, specifically including:
a third registration request is sent.
The trusted center returns the second key sk to the server according to the third registration request2。
Step 104: the user constructs vertex information and weight information, and sends ciphertext information generated in the process of constructing the vertex information and the weight information to the server, and the method specifically comprises the following steps:
obtaining the USERiThe attribute information of (1).
Binarizing the attribute information through one-hot coding to enable the value of only one bit in a binary value corresponding to each dimension attribute to be 1; the user can translate all discrete attributes of an individual into an attribute vector of length w
The USER USERiAccording to the key vectorEncrypting the attribute vectorDeriving vertex information v in a social networki(ii) a Wherein:
USER for each connected USERjThe current USER USERiAnd sending an application to the trusted center.
Calculating a weight ciphertext by using the encryption homomorphism property and the weight key, and sending the weight ciphertext to a server; wherein the weight value ciphertextCalculated using the formula:
wherein ranki,jIs the USERiAnd USERjA predefined integer affinity value between.
And the server integrates the ciphertext to obtain weight information. The specific weight information is:wherein the weight ei,jIs defined as:
step 105: the server is used for constructing a social graph according to the vertex information and the weight information; constructing a social graph G (V, E) according to the vertex information and the weight information, wherein: v ═ Vi|i∈[1,n]},E={Ei,j|i,j∈[1,n],USERiAnd USERjWith a connection }.
Step 106: and the inquiry user in the users uploads the starting end point identification to the server.
Step 107: the server generates a path sequence and a weight sequence according to the social graph and the start and end point identifier, and specifically includes:
determining a vertex v corresponding to a starting point identifier in the social graphsAnd is defined as a first layer set of starting vertices S1(ii) a Finding the vertex v corresponding to the terminal point identificationtAnd defined as a first layer termination vertex set T1。
Determining the first layer starting vertex set S1And the first layer termination vertex set T1Is denoted as vuWherein v isu∈{S1∩T1Querying a vertex v according to the social graphsAnd vuAnd vuAnd vtThe weights between them are respectively marked as Es,uAnd Eu,tA 1 is mixing Es,u·Eu,tAdded to the weight sequenceIn, query vertex v simultaneouslyuCorresponding identification IDuWill IDuJoin to Path sequenceIn (1).
Determining the first set of starting vertices S from the social graph1Each vertex v ofiAll connected vertices v ofjAnd is defined as the second layer initial vertex set S2At the same time vi→vjAdding to a set of prepositioned vertices P1。
Determining the second layer starting vertex set S2And the first layer termination vertex set T1Is updated by vuWherein v isu∈{S2∩T1At the same time in the set of front vertices P1In finding vuAnd is denoted by viSequentially querying vertexes v according to the social graphsAnd vi、viAnd vuAnd vuAnd vtThe weights between are respectively marked as Es,i、Ei,uAnd Eu,tA 1 is mixing Es,i·Ei,u·Eu,tAdded to the weight sequenceIn, query vertex v simultaneouslyiAnd vuCorresponding identification IDiAnd IDuWill IDi·R+IDuJoin to Path sequenceIn (1).
Determining the first-tier set of termination vertices T from the social graph1Each vertex v ofi′All connected vertices v ofj′And is defined as a second layer termination vertex set T2At the same time vi′→vj′Adding to a set of postpositional vertices P2。
Determining the second layer starting vertex set S2And the second layer termination vertex set T2Is updated by vuWherein v isu∈{S2∩T2At the same time in the set of front vertices P1In finding vuAnd is denoted by viAt said set of post-vertices P2In finding vuIs denoted by vi′Sequentially querying vertexes v according to the social graphsAnd vi、viAnd vu、vuAnd vi' and vi' and vuThe weights between are respectively marked as Es,i、Ei,u、Eu,i′And Ei′,tA 1 is mixing Es,i·Ei,u·Eu,i′·Ei′,tIs added toIn, query vertex v simultaneouslyi、vi' and vuCorresponding identification IDi、IDi′And IDuWill IDi·R2+IDu·R+IDi′Is added toIn (1), get the path sequenceSum weight sequence
Step 108: the server sends the weight sequence to the querying user so that the querying user determines the ciphertext position, and the method specifically includes:
according to the second key sk2Decrypting the weight sequenceEach element of (a) obtains a first sequence of decryption weightsAnd sending the information to the inquiring user.
The inquiring user is according to the first key sk1Decrypting the first weight sequenceEach element of (2) to obtain a second decryption weight sequence
Using the second key sk2Decipher the weight sequenceEach element of (1) to obtainAnd sending to the inquiring user:
i.e. the final decrypted w ″iFor the total weight of each path, RU may sort out the index of the minimum value, i.e. the ciphertext position, by a sorting algorithm, e.g. bubble algorithm
Step 109: the query user determines an optimal path from the path sequence by adopting an inadvertent transmission mode according to the ciphertext position, and the method specifically comprises the following steps:
the server sends q random integers C to the inquiring useri,Wherein q is a sequenceNumber of elements in, i.e.
The querying user computes q public keys and combines each of the public keys β1,β2,…,βqSending the data to the server; wherein random numbers are selectedComputing the b-th said public key βbAnd the other public keys are calculated by the public keys of the adjacent subscripts and the random integer step by step in two directions to form a chain structure:
βi=Ci/βi+1mod p,i=1,2,…,b-1
βb=gkmod p
βj=Cj-1/βj-1mod p,j=b+1,b+2,…,q
said server checking each of said public keys, i.e. checking Ci=βi·βi+1mod p, get the inspection result.
The server encrypts the path sequence by the public key according to the check result and sends the path sequence to the inquiring user, β is used by the serveriEncrypt miAnd sending to the RU:
and the inquiry user decrypts the path ciphertext corresponding to the ciphertext position in the path sequence according to the key k, and can determine the optimal path of the social network by an accidental transmission mode. Namely, the inquiry user decrypts the b-th ciphertext c by using the key kbObtaining an optimal pathAnd finally obtaining each vertex identification ID in the optimal path through iterative computationi=(mb-(mbmod R))/R。
Example 1:
the invention provides an optimal path matching method for protecting user privacy in a social network, which comprises the following steps:
step 1: and generating system parameters.
Step 1.1: the trusted center (TA) selects the security parameter k and calculates the master public key (mpk ═ g) of the ElGamal encryption algorithmmskG, p) and a master keyWherein p is a large prime number and satisfies | p | ═ k, and g isA generator of (2). A random number R is selected, where R < p/3.
Step 1.4: TA issues parameters (mpk, g, p, R).
The entity registration process relates to fig. 4.
Step 2: and (4) registering the entity.
Step 2.1: USERi(i ═ 1,2, …, n) is registered.
Step 2.1.1: USERi(i ═ 1,2, …, n) sends a registration request.
Step 2.1.2: TA randomly selects an integer from the sequence of integers {1,2, …, n } as the user's IDiAnd will beAnd returning to the user.
Step 2.1.3: USERiSending his own ID to all connected usersi。
Step 2.1.4: the querying user RU sends a registration request.
Step 2.1.5: TA Return Key sk to RU1。
Step 2.2: the server CS registers.
Step 2.2.1: the server CS sends a registration request.
Step 2.2.2: TA returns the secret key sk to CS2。
And step 3: and building a social graph.
Step 3.1: and constructing vertex information.
Step 3.1.1: USERiAnd (4) binarizing the attribute information of the user by one-hot coding, namely, the value of only one bit in the binary value corresponding to each dimension attribute is 1. Wherein:
sex is male: sexi10; sex is female: sexi=01。
Age 0-20: age (age)i100; age 21-50: age (age)i010; age 50 or above: age (age)i=001。
So that all discrete attributes of the user are converted into an attribute vector with each element being a binary valueWhere w represents the length of the user's attribute vector.
Step 3.2: and constructing weight information.
Step 3.2.2: TA query IDjCorresponding user key vectorCalculating and returning weight value key fj,i:
Step 3.2.3: USERiComputing weight ciphertext by utilizing ElGamal homomorphism propertyAnd sends it to the server CS:
wherein ranki,jIs the USERiAnd USERjA predefined integer affinity value between.
Step 3.2.4: the CS integrates the ciphertext and forms a weight as:
wherein the weight ei,jIs defined as:
this indicates that the closer the two users are, the faster the message is propagated, so that the weight between the users is smaller.
Step 3.3: from the vertices and edges, a social graph G ═ V, E can be constructed.
Wherein: v ═ Vi|i∈[1,n]},E={Ei,j|i,j∈[1,n],USERiAnd USERjWith a connection }.
And 4, step 4: and (6) path query.
Step 4.1: inquiring the Identification (ID) corresponding to the starting and ending point uploaded by the RU of the users,IDt) To the server CS.
Step 4.2.1: CS is in graph GFind the starting point vsAnd is defined as a first layer set of starting vertices S1(ii) a Finding the end point vtAnd defined as a first layer termination vertex set T1. Wherein v is not includedsAnd vt。
Step 4.2.2: CS sorting out S1And T1Common vertex v in (1)u∈{S1∩T1V, query vertex vsAnd vuAnd vuAnd vtIn between, and Es,u·Eu,tIs added toIn (1), v isuCorresponding identification IDuIs added toIn (1).
Wherein:
the homomorphism property of the ElGamal encryption system is used to aggregate the weights of the two connected edges together.
Step 4.2.3: CS finds S in graph G1Each vertex v ofiAll connected vertices v ofjAnd is defined as the second layer initial vertex set S2At the same time vi→vjAdding to a set of prepositioned vertices P1(ii) a Wherein v is not includedsAnd vt。
Step 4.2.4: CS sorting out S2And T1Common vertex v in (1)u∈{S2∩T1At P1In finding vuIs v as the leading vertexiQuerying the vertex vsAnd vi、viAnd vuAnd vuAnd vtIn between, and Es,i·Ei,u·Eu,tIs added toIn, query vertex v simultaneouslyiAnd vuCorresponding identification IDiAnd IDuWill IDi·R+IDuIs added toIn (1).
Wherein:
step 4.2.5: CS finds T in graph G1Each vertex v ofi′All connected vertices v ofj′And is defined as a second layer termination vertex set T2At the same time vi′→vj′Adding to a set of postpositional vertices P2(ii) a Wherein v is not includedsAnd vt。
Step 4.2.6: CS sorting out S2And T2Common vertex v in (1)u∈{S2∩T2At P1In finding vuIs v as the leading vertexiAt P2In finding vuHas a post-vertex of vi′Sequentially querying vertexes v according to the social graphsAnd vi、viAnd vu、vuAnd vi' and vi' and vuA weight value of E betweens,i·Ei,u·Eu,i′·Ei′,tIs added toIn, query vertex v simultaneouslyi、vi' and vuCorresponding identification IDi、IDi′And IDuWill IDi·R2+IDu·R+IDi′Is added toIn (1).
Wherein:
step 4.3: RU picks out the index b of the optimal path in the path sequence.
Step 4.3.1: secret key sk for CS2Decipher the weight sequenceEach element of (1) to obtainAnd sending to the RU:
i.e. the final decrypted w ″iFor the total weight of each path, through a sorting algorithm, such as a bubble algorithm, the RU may select the subscript corresponding to the minimum value as
The process of inadvertent transmission relates to fig. 5.
Step 4.4: RU inadvertently acquires optimal path mb。
Step 4.4.1: CS sends q random integers to RUWherein q is a sequenceThe number of the elements in the Chinese character,namely, it is
βi=Ci/βi+1mod p,i=1,2,…,b-1
βb=gkmod p
βj=Cj-1/βj-1mod p,j=b+1,b+2,…,q
step 4.4.3: CS examination Ci=βi·βi+1mod p。
step 4.4.5: RU decrypts the b-th ciphertext c by using the key kbObtaining an optimal pathAnd finally obtaining each vertex identification ID in the optimal path through iterative computationi=(mb-(mbmod R))/R。
The invention is based on ElGamal homomorphic encryption and inadvertent transmission OT1 qThe method realizes an optimal path matching scheme for protecting the privacy of the user in the social network, and the scheme realizes the resistance to external attack and internal attack.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.
Claims (9)
1. A system for protecting user privacy in a social network, comprising: the system comprises a trusted center, a server and a user, wherein the trusted center is used for generating system parameters and a secret key and sending the parameters to the server; the method comprises the steps that after the user registers, vertex information and weight information are constructed, ciphertext information generated in the process of constructing the vertex information and the weight information is sent to a server, the server is used for constructing a social graph according to the vertex information and the weight information after registering, a query user in the user is used for providing identification marks of the user and a target user, the server is used for querying all propagation paths and corresponding weights, and an optimal path is provided for the query user through an inadvertent transmission mode.
2. An optimal path matching method for protecting user privacy in a social network is characterized by comprising the following steps:
the trusted center generates system parameters and a secret key and sends the system parameters to the server and the user;
the user registers;
the server registers;
the user constructs vertex information and weight information and sends ciphertext information generated in the process of constructing the vertex information and the weight information to the server;
the server is used for constructing a social graph according to the vertex information and the weight information;
a query user in the users uploads a starting end point identifier to the server;
the server generates a path sequence and a weight sequence according to the social graph and the starting and ending point identification;
the server sends the weight value sequence to the inquiry user so that the inquiry user can determine the ciphertext position;
and the inquiry user determines an optimal path from the path sequence by adopting an inadvertent transmission mode according to the ciphertext position.
3. The optimal path matching method for protecting user privacy in a social network according to claim 1, wherein the trust center generates system parameters and a secret key and sends the system parameters to the server and the user, and specifically comprises:
acquiring a safety parameter kappa;
according to the security parameters, calculating a master public key mpk and a master key msk of the encryption algorithm, wherein mpk is (g)msk,g,p),p is a large prime number and satisfies | p | ═ k,is [1, p-1 ]]In an arbitrary integer, g isSelecting a random number R, wherein R < p/3;
obtaining a key pair (sk)1,sk2) The key pair includes a first key sk1And a second key sk2Wherein, sk1,sk1+sk2=msk mod(p-1);
and issuing parameter information, wherein the parameter information comprises the master public key, the generator, the prime number and the random number.
4. The optimal path matching method for protecting user privacy in a social network according to claim 3, wherein the user registration specifically includes:
sending a first registration request;
the trusted center randomly selects an integer from the integer sequence as the identity ID of the current user according to the first registration requestiAnd combining the key vectorReturning to the current user;
sending the ID to all users connected with the current useri;
The inquiring user obtains the IDiThen sending a second registration request;
the trusted center returns the first key sk to the inquiring user according to the second registration request1。
5. The optimal path matching method for protecting user privacy in a social network according to claim 3, wherein the server performs registration, specifically comprising:
sending a third registration request;
the trusted center returns the second key sk to the server according to the third registration request2。
6. The optimal path matching method for protecting user privacy in a social network according to claim 3, wherein the user constructs vertex information and weight information, and sends ciphertext information generated in the process of constructing the vertex information and the weight information to the server, specifically comprising:
obtaining the USERiAttribute information of (2);
binarizing the attribute information through one-hot coding to enable the value of only one bit in a binary value corresponding to each dimension attribute to be 1; the user can translate all discrete attributes of an individual into an attribute vector of length w
The USER USERiAccording to the key vectorEncrypting the attribute vectorDeriving vertex information v in a social networki;
USER for each connected USERjThe current USER USERiSending an application to the trusted center;
the trusted center returns a weight key according to the application;
calculating a weight ciphertext by using the encryption homomorphism property and the weight key, and sending the weight ciphertext to a server;
and the server integrates the ciphertext to obtain weight information.
7. The method as claimed in claim 3, wherein the server generates a path sequence according to the social graph and the start and end point idSum weight sequenceThe method specifically comprises the following steps:
determining a vertex v corresponding to a starting point identifier in the social graphsAnd is defined as a first layer set of starting vertices S1(ii) a Finding the vertex v corresponding to the terminal point identificationtAnd defined as a first layer termination vertex set T1;
Determining the first layer starting vertex set S1And the first layer termination vertex set T1Is denoted by vuWherein v isu∈{S1∩T1Querying a vertex v according to the social graphsAnd vuAnd vuAnd vtThe weights between them are respectively marked as Es,uAnd Eu,tWill Es,u·Eu,tIs added toIn, query vertex v simultaneouslyuCorresponding identification IDuWill IDuIs added toPerforming the following steps;
determining the first set of starting vertices S from the social graph1Each vertex v ofiAll connected vertices v ofjAnd is defined as the second layer initial vertex set S2At the same time vi→vjAdding to a set of prepositioned vertices P1;
Determining the second layer starting vertex set S2And the first layer termination vertex set T1Is updated by vuWherein v isu∈{S2∩T1At the same time in the set of front vertices P1In finding vuAnd is denoted by viSequentially querying vertexes v according to the social graphsAnd vi、viAnd vuAnd vuAnd vtThe weights between are respectively marked as Es,i、Ei,uAnd Eu,tA 1 is mixing Es,i·Ei,u·Eu,tIs added toIn, query vertex v simultaneouslyiAnd vuCorresponding identification IDiAnd IDuWill IDi·R+IDuIs added toPerforming the following steps;
determining the first-tier set of termination vertices T from the social graph1Each vertex v ofi′All connected vertices v ofj′And is defined as a second layer termination vertex set T2At the same time vi′→vj′Adding to a set of postpositional vertices P2;
Determining the second layer starting vertex set S2And the second layer termination vertex set T2Is updated by vuWherein v isu∈{S2∩T2At the same time in the set of front vertices P1In finding vuAnd is denoted by viAt said set of post-vertices P2In finding vuIs denoted by vi′Sequentially querying vertexes v according to the social graphsAnd vi、viAnd vu、vuAnd vi′And vi′And vuThe weights between are respectively marked as Es,i、Ei,u、Eu,i′And Ei′,tA 1 is mixing Es,i·Ei,u·Eu,i′·Ei′,tIs added toIn, query vertex v simultaneouslyi、vi′And vuCorresponding identification IDi、IDi′And IDuWill IDi·R2+IDu·R+IDi′Is added toTo getSequence of arrival pathsSum weight sequence
8. The optimal path matching method for protecting user privacy in a social network according to claim 3, wherein the server sends the weight sequence to the querying user so that the querying user determines a ciphertext position, specifically comprising:
according to the second key sk2Decrypting the weight sequenceEach element of (a) obtains a first sequence of decryption weightsAnd sending to the inquiring user;
the inquiring user is according to the first key sk1Decrypting the first weight sequenceEach element of (2) to obtain a second decryption weight sequence
9. The optimal path matching method for protecting the privacy of the user in the social network according to claim 3, wherein the query user determines the optimal path from the path sequence by an inadvertent transmission method according to the ciphertext position, specifically comprising:
the server sends q random integers C to the inquiring useri,Wherein q is a sequenceThe number of the elements in the Chinese character,
the querying user generates a keyCalculating q public keys and sending each public key to the server, wherein the public key corresponding to the ciphertext position is generated by a secret key k, and the rest public keys are generated according to the public key and the integer CiGenerating;
the server checks each public key to obtain a check result;
the server encrypts a path sequence by using the public key according to the check result and sends the path sequence to the inquiry user;
and the inquiry user decrypts the path ciphertext corresponding to the ciphertext position in the path sequence according to the key k, and can determine the optimal path of the social network by an accidental transmission mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363822.1A CN111526155B (en) | 2020-04-30 | 2020-04-30 | System for protecting user privacy in social network and optimal path matching method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363822.1A CN111526155B (en) | 2020-04-30 | 2020-04-30 | System for protecting user privacy in social network and optimal path matching method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526155A true CN111526155A (en) | 2020-08-11 |
CN111526155B CN111526155B (en) | 2022-09-09 |
Family
ID=71908523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010363822.1A Active CN111526155B (en) | 2020-04-30 | 2020-04-30 | System for protecting user privacy in social network and optimal path matching method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526155B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492586A (en) * | 2020-11-23 | 2021-03-12 | 中国联合网络通信集团有限公司 | Encryption transmission scheme optimization method and device |
CN112989386A (en) * | 2021-03-31 | 2021-06-18 | 苏州黑云智能科技有限公司 | Blacklist sharing method and system based on accidental transmission |
CN113536366A (en) * | 2021-06-09 | 2021-10-22 | 湖北工业大学 | Privacy protection tracing system and method for close contacts of infectious disease patients |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100014657A1 (en) * | 2008-07-16 | 2010-01-21 | Florian Kerschbaum | Privacy preserving social network analysis |
CN107347096A (en) * | 2017-07-07 | 2017-11-14 | 安徽大学 | Location privacy protection method based on cloud server |
CN109728904A (en) * | 2018-12-28 | 2019-05-07 | 沈阳航空航天大学 | A kind of spatial network querying method for protecting privacy |
CN110569413A (en) * | 2019-08-16 | 2019-12-13 | 湖北工业大学 | Indexing system and method for protecting member privacy in social network |
CN110933050A (en) * | 2019-11-18 | 2020-03-27 | 湖北工业大学 | Privacy protection position sharing system and method |
-
2020
- 2020-04-30 CN CN202010363822.1A patent/CN111526155B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100014657A1 (en) * | 2008-07-16 | 2010-01-21 | Florian Kerschbaum | Privacy preserving social network analysis |
CN107347096A (en) * | 2017-07-07 | 2017-11-14 | 安徽大学 | Location privacy protection method based on cloud server |
CN109728904A (en) * | 2018-12-28 | 2019-05-07 | 沈阳航空航天大学 | A kind of spatial network querying method for protecting privacy |
CN110569413A (en) * | 2019-08-16 | 2019-12-13 | 湖北工业大学 | Indexing system and method for protecting member privacy in social network |
CN110933050A (en) * | 2019-11-18 | 2020-03-27 | 湖北工业大学 | Privacy protection position sharing system and method |
Non-Patent Citations (3)
Title |
---|
GAO, CHONG-ZHI, ET AL.: ""Cloud-assisted privacy-preserving profile-matching scheme under multiple keys in mobile social network."", 《CLUSTER COMPUTING 》 * |
XU, JIAN, ET AL.: ""SPCSS: social network based privacy-preserving criminal suspects sensing."", 《IEEE TRANSACTIONS ON COMPUTATIONAL SOCIAL SYSTEMS》 * |
ZHANG, LEI, ET AL.: ""Privacy preserving in cloud environment for obstructed shortest path query."", 《WIRELESS PERSONAL COMMUNICATIONS》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492586A (en) * | 2020-11-23 | 2021-03-12 | 中国联合网络通信集团有限公司 | Encryption transmission scheme optimization method and device |
CN112492586B (en) * | 2020-11-23 | 2023-05-23 | 中国联合网络通信集团有限公司 | Encryption transmission scheme optimization method and device |
CN112989386A (en) * | 2021-03-31 | 2021-06-18 | 苏州黑云智能科技有限公司 | Blacklist sharing method and system based on accidental transmission |
CN112989386B (en) * | 2021-03-31 | 2023-09-22 | 苏州黑云智能科技有限公司 | Blacklist sharing method and system based on careless transmission |
CN113536366A (en) * | 2021-06-09 | 2021-10-22 | 湖北工业大学 | Privacy protection tracing system and method for close contacts of infectious disease patients |
CN113536366B (en) * | 2021-06-09 | 2022-07-05 | 湖北工业大学 | Privacy protection tracing system and method for close contacts of infectious disease patients |
Also Published As
Publication number | Publication date |
---|---|
CN111526155B (en) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111526155B (en) | System for protecting user privacy in social network and optimal path matching method | |
Feng et al. | An efficient privacy-preserving authentication model based on blockchain for VANETs | |
CN108632237A (en) | A kind of position service method based on the anonymity of more Anonymizers | |
Velliangiri et al. | An efficient lightweight privacy-preserving mechanism for industry 4.0 based on elliptic curve cryptography | |
JP2009529714A (en) | Method and system for decryptable and searchable encryption | |
CN110730064B (en) | Data fusion method based on privacy protection in crowd sensing network | |
JP6229716B2 (en) | Verification system, node, verification method and program | |
JPH0946333A (en) | Cipher communication method | |
CN113905047A (en) | Space crowdsourcing task allocation privacy protection method and system | |
WO2014185450A1 (en) | Verification system, node, verification method, and program | |
Li et al. | PROS: A privacy-preserving route-sharing service via vehicular fog computing | |
Kang et al. | Lightweight user authentication scheme for roaming service in GLOMONET with privacy preserving | |
Wang et al. | One-round privacy-preserving meeting location determination for smartphone applications | |
WO2014030706A1 (en) | Encrypted database system, client device and server, method and program for adding encrypted data | |
CN104539425B (en) | Multi-receiver label decryption method based on multivariable, many security attributes | |
Alamer et al. | A privacy-preserving scheme to support the detection of multiple similar request-real-time services in IoT application systems | |
Chen et al. | PP-OCQ: A distributed privacy-preserving optimal closeness query scheme for social networks | |
Wang | One-round secure fair meeting location determination based on homomorphic encryption | |
Li et al. | PriExpress: Privacy-preserving express delivery with fine-grained attribute-based access control | |
WO2018174063A1 (en) | Collating system, method, device, and program | |
Wang et al. | Secure content sharing protocol for D2D users based on profile matching in social networks | |
JP5799635B2 (en) | ENCRYPTED DATA SEARCH SYSTEM, DEVICE, METHOD, AND PROGRAM | |
KR101760600B1 (en) | A Trustless Broker Based Protocol to Discover Friends in Proximity-Based Mobile Social Network and System Therefor | |
Chen et al. | Preserving user location privacy for location-based service | |
Tang et al. | Verifiable mobile online social network privacy‐preserving location sharing scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |