CN108052834A - A kind of approximate beeline querying method towards close state graph structure - Google Patents

A kind of approximate beeline querying method towards close state graph structure Download PDF

Info

Publication number
CN108052834A
CN108052834A CN201711305987.8A CN201711305987A CN108052834A CN 108052834 A CN108052834 A CN 108052834A CN 201711305987 A CN201711305987 A CN 201711305987A CN 108052834 A CN108052834 A CN 108052834A
Authority
CN
China
Prior art keywords
vertex
cloud server
client
graph structure
label
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
Application number
CN201711305987.8A
Other languages
Chinese (zh)
Other versions
CN108052834B (en
Inventor
周福才
秦诗悦
李宇溪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201711305987.8A priority Critical patent/CN108052834B/en
Publication of CN108052834A publication Critical patent/CN108052834A/en
Application granted granted Critical
Publication of CN108052834B publication Critical patent/CN108052834B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6272Protecting 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 by registering files or documents with a third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention belongs to graph structure technical fields, it is proposed that a kind of approximate beeline querying method towards close state graph structure.The present invention provides a kind of data structure that can supports efficiently to calculate approximation beeline between figure vertex under big data quantity environment by using the distance prophesy plane mechanism based on sketch; and it is innovative be combined to realize the protection to data safety and privacy with symmetric encipherment algorithm, while meet the functional requirement for carrying out efficiently calculating and operating to specific cipher text data.Its close state graph structure safe can be outsourced in a un-trusted Cloud Server by the present invention, while not lose the ability inquired about it again.The storage service that can be sufficiently provided using Cloud Server, while relievedly inquiry operation is given to server to perform, it is ensured that server can not obtain effective information as far as possible during interaction.

Description

A kind of approximate beeline querying method towards close state graph structure
Technical field
The invention belongs to graph structure technical fields, and in particular to a kind of approximate beeline towards close state graph structure is inquired about Method.
Background technology
Graph structure data are usually used to the structural data for representing complicated, and more rich letter is included than unstructured data Breath.With the fast development of information technology, structural data carries out depositing for various figures using increasing using chart database Storage, management and inquiry have obtained people and have widely paid close attention to.In addition, as the development of big data is, it is necessary to the figure operated The scale of structured data is exponentially increased, and needs further development for the treatment technology of massive data of graph structure, such as:It deposits Storage and inquiry catenet figure, online social networks, bio-networks, RDF data collection and communication network etc..No matter in science side Face or industrial aspect, more and more graph structure data need to carry out effective and efficient management, inquiry and analysis.Most short distance Calculated from inquiry is one of most common graph structure data processing technique and one of the most widely used function of figure.For example, In social network user graph structure, by calculating the beeline between user A and user B, the parent between user can be analyzed The information such as density;In traffic route, by calculating the beeline between two places, shortest path can be carried out to circuit Planning;In routing management, by calculating the beeline between routing node, optimization can be updated to network communication.
The computation complexity of minimum distance calculation in graph structure data between vertex is usually higher, for large-scale complicated Graph structure data, user are difficult to be calculated locally.Cloud computing possesses superpower computing capability and storage capacity, therefore more next More individuals and company want to store graph structure data into Cloud Server, by minimum distance calculation work(between its vertex It can be outsourced in Cloud Server.After user can be by sending beeline inquiry request, Cloud Server performs beeline meter It calculates, and returns result to user, resource utilization is improved with this, it is cost-effective.
However at the same time, cloud computing also brings the problem of many new information securities and data-privacy.The figure of user Structured data inherently contains the abundant information with tap value, while each inquiry operation of user also all can be to cloud Server reveals information.And Cloud Server supplier believes as the graph structure data that insincere third party may be uploaded by user The inquiry request of breath and user obtain valuable or sensitive information, it might even be possible to which the comprehensive information obtained is entire to simulate The topological structure of figure, so that the individual privacy and data of user faces serious security risk.Currently, it is how hidden in protection On the premise of private, specific data are carried out with efficient operation and corresponding and is processed into for an important research side To.
In addition, mainly pass through currently for the method for secret protection of 2 points of calculating point-to-point transmission beelines in figure Anonymization technology modifies to the feature structure of figure, so as to which privacy information be hidden.But this method is by graph structure Statistical nature changed so that the correctness of the minimum distance calculation of the point-to-point transmission of the graph structure after change is by broken It is bad.Moreover, the side right value of graph structure is typically that secret protection is carried out in a manner of introducing noise, essence is still plaintext shape Formula, security are still relatively low.
The content of the invention
It is an object of the invention to provide a kind of approximate beeline querying methods towards close state graph structure, solve local The various limiting factors brought, while the effectively privacy of protection data are calculated, is allowed to be increasingly becoming graph structure data outsourcing A kind of effective scheme.
Technical scheme:
A kind of approximate beeline querying method towards close state graph structure, the entity of participation mainly have following two:Cloud Server and client.Wherein Cloud Server is half sincere storage device of the close state graph structure information of storage, client it is every One member can serve as the data publication side for holding graph structure data, also can serve as data query side, and the two carries out Information exchange.
The Cloud Server includes the queries dictionary and query token of close state graph structure information.Its work(in this programme It can include inquiring about queries dictionary by the query token in querying command, the cipher-text information inquired is returned into client End.
Pretreated graph structure is encrypted the close state graph structure of generation in the client, generates encryption key, raw Into vertex label and using close state graph structure and vertex label generation queries dictionary, queries dictionary is uploaded into Cloud Server End;Function during data query corner color is performed is generation query token, initiates querying command, generates decruption key, Ciphertext data are decrypted, local computing is carried out to the information after decryption.For ensuring information security property, inquiry behaviour is only performed The user of work knows and only knows the real information content of its inquiry.
This programme is intended to be operated for large-scale diagram data, it is believed that data publication side not in local to graph structure data It is calculated, such data publication side can also be used as data query direction cloud server end and initiate inquiry request, and need not The problem of transmission of key is considered, it is taken as that client can rationally realize issue operation and the inquiry operation of close state graph structure.
A kind of approximate beeline querying method towards close state graph structure includes the following steps:
Step 1:Client carries out pretreatment operation to graph structure data, makes graph structure data conversion into can be encrypted The data structure of processing;
Step 2:Client generates encryption key, the graph structure by pretreatment is encrypted the close state graph structure of generation EO, and processing generation vertex label is carried out to each vertex of graph structureIncluding step:
2.1) according to system security parameter, client generation AES encryption key K1With pseudo-random sequence key K2, wherein, K1 The graph structure by pretreatment is encrypted for AE Cloud Servers symmetric key encryption algorithm, generates encrypted indexes, K2With Operation is encrypted in pseudo-random sequence opposite vertexes;
2.2) K is utilized2All vertex v ∈ V are calculated by pseudo-random sequence P, wherein V is vertex set, is obtained Vertex labelVertex label inquires about close state structured data using as the query token that subsequent query operates, visitor Family end retains the vertex label of all vertex v ∈ V in local;
2.3) K is utilized1As encryption key to the Sketch structures Sk on all vertex in figurev(v ∈ V) is encrypted, and obtains The Sketch structures ESk of one group encryptionv(v ∈ V) can not as obtain the close state graph structure EO of effective cleartext information;
Step 3:Client utilizes vertex labelPacified with close state graph structure EO generations on insincere server Queries dictionary is sent to Cloud Server by the queries dictionary inquired about entirely, completes the Cloud Server uploading operation of graph structure data, visitor Family end need not carry out graph structure data local preservation, reduce the storage overhead.
Step 4:Client selects the query token on vertex, Xiang Cun according to two vertex for being intended to inquire about approximate beeline The Cloud Server for storing up queries dictionary sends query token, and Cloud Server looks into queries dictionary according to the query token received It askes;If Cloud Server inquires and the corresponding vertex label of query token in queries dictionaryThen sent to client The vertex labelCorresponding ciphertext structured data is as returned data in queries dictionary;If at least one is corresponding Vertex label fails to be queried to, then Cloud Server sends the prompting of inquiry failure to client, does not send effective returned data;
Step 5:If client receives effective returned data from Cloud Server, returned data is decrypted Operation, obtains the Sketch structured datas of plaintext;Local computing is carried out to the data in the Sketch structures on two vertex, is obtained Final approximate distance query result.Specifically include following steps:
5.1) client utilizes key K1To receiving two groups of ciphertext Sketch structures ESku(u ∈ V) and ESkv(v ∈ V) into Row decryption, obtains the Sketch structures Sk of plaintextuAnd Skv
5.2) to Sku={ (ω00),...,(ωnn) and Skv={ (ω00),...,(ωmm) in it is all Two tuple elements find public vertex ω;
5.3) to each public vertex ω searched out, using known public vertex ω to inquiry vertex u, v's Beeline, i.e.,
δω=δ (u, ω)=δ (ω, Sku)
δω=δ (v, ω)=δ (ω, Skv)
Wherein:U, v are inquiry vertex;Calculate δ (u, ω)+δ (ω, v);
5.4) according to the result of calculation of δ (u, ω)+δ (ω, v), the minimum value compared is approximation between required vertex Beeline.
Further, the pretreatment operation of above-mentioned steps 1 can generate and be easy to be encrypted and reduce calculating and deposit The data structure of expense is stored up, is specially:
1.1) client selection sampling parameters r carries out the vertex set V of non-directed graph G r+1 independent random sampling, shape Into r+1 sampling set S0,S1,...,Sr, the number on vertex is respectively 2 in set0,21,...,2r, wherein participating in the top of sampling The degree of point is no less than 2;
1.2) to sampling set SiIn each sampling vertex, calculate it to the distance of vertex u, obtain vertex u and taking Sample set SiIt is middle to pinpoint ω apart from shortest samplingiWith beeline δi
δi=δ (u, wi)=δ (u, Si)
Wherein, i=1,2,3
1.3) to all sampling set S0,S1,...,SrStep 1.2) operation is carried out, is respectively obtained on vertex u's (ω00),(ω11)...(ωrr), obtain a sampling set SAMPLE [u] of vertex u;
1.4) repeated sampling is carried out to the vertex in non-directed graph G, by step 1.1) to independent operating 1.3) is operated k times, obtained Obtain the Sketch structures Sk of vertex uu
1.5) carry out step 1.1) to all vertex in non-directed graph G to operate to step 1.4), obtain all vertex in figure Sketch structures, complete graph structure data pretreatment operation.
Further, above-mentioned steps 3 specifically include following steps:
3.1) client establishes a queries dictionary as storage organization, passes through vertex labelIt is arranged Sequence is right successivelyIt is stored, obtains queries dictionary;In queries dictionary, vertex labelAnd ESkv (v ∈ V) forms correspondence, passes through vertex labelObtain corresponding ESkv(v∈V);
3.2) queries dictionary is sent to Cloud Server by client, queries dictionary is locally stored in Cloud Server.
Further, above-mentioned steps 4 specifically include following steps:
4.1) Cloud Server of client to storage queries dictionary initiates inquiry request q=(u, v),
Calculate selection query token tk:
Tk=(tku,tkv)=(PK2(u),PK2(v))。
Wherein:Q=(u, v) is inquiry request;Tk is query token;(PK2(u),PK2(v)) it is corresponding vertex u, the top of v Point label;
4.2) client sends query token tk to Cloud Server, waits the returned data of Cloud Server;
4.3) Cloud Server inquires about queries dictionary according to the query token tk received;According to (tku,tkv) inquiring about Vertex label (the P of corresponding vertex u, v are found in dictionaryK2(u),PK2(v));
If vertex label (the P of the opposite vertexes u in queries dictionary, vK2(u),PK2(v)) whole successful inquirings, then perform step It is rapid 4.4);If the vertex label there are at least one vertex is not queried to, step 4.5) is performed;
4.4) Cloud Server is according to (tku,tkv) inquired in queries dictionary respectively with vertex label PK2(u) and PK2(v)
Corresponding ESkuAnd ESkv;Cloud Server is by ESkv(v ∈ V) and ESku(u ∈ V) is used as two groups of effective returned datas It is sent to client;Client continues to execute step 5;
4.5) ⊥ is sent to client by Cloud Server, represents there is no the group polling vertex, Inquiry failure;Client receives invalid returned data, and scheme all processes terminate.
Beneficial effects of the present invention:
Its close state graph structure safe can be outsourced in a un-trusted Cloud Server by the present invention, while again not Lose the ability inquired about it.The storage service that can be sufficiently provided using Cloud Server, while relievedly will inquiry Operation gives server to perform, it is ensured that server can not obtain effective information as far as possible during interaction.
Description of the drawings
Fig. 1 is approximate beeline querying method Organization Chart of the present invention towards close state graph structure.
Fig. 2 is the graph structure process of data preprocessing flow chart of the specific embodiment of the invention.
Fig. 3 is the ciphertext graph structured data process flowchart of the specific embodiment of the invention.
Fig. 4 is the query process flow chart of the specific embodiment of the invention.
Fig. 5 is the local computing process flow diagram flow chart of the specific embodiment of the invention.
Specific embodiment
Specific embodiments of the present invention are described in detail below in conjunction with technical solution and attached drawing.
The approximate beeline querying method framework towards close state graph structure of present embodiment, as shown in Figure 1.
User C selections need to be stored in the graph structure of Cloud Server, and pretreatment operation is carried out to graph structure.
Using the distance prophesy machine schemes generation pretreatment graph structure based on Sketch structures, Sketch structures can be with for selection It solves the problems, such as that beeline is inquired about under big data quantity environment, is that one kind being capable of efficient approximate most short distance between vertex in calculating figure From data structure.It, can be by right in query process by calculating a Sketch structure to each vertex in figure The approximate beelines for comparing to calculate between two inquiry vertex of the Sketch structures on two inquiry vertex.To by pre- place The close state graph structure of generation is encrypted in the graph structure of reason, and processing generation label is carried out to each vertex of graph structure.Each The query token on vertex is exactly the label on the vertex, and label and the pairing storage of close state graph structure are become a queries dictionary, looked into It askes in dictionary without any valid data that can reveal cleartext information.Queries dictionary is uploaded onto the server, is wished according to user The inquiry vertex inquired about, client form query token, query token are sent to server.Server makes according to inquiry Board performs queries dictionary inquiry operation and query result is returned to client.If successful inquiring, server return pair The encrypted Sketch structures on vertex should be inquired about, client is decrypted and carries out local computing after the receipt, to it;If it looks into Ask it is unsuccessful, then server return invalid message to client.
Step 1:Client carries out pretreatment operation to graph structure data, makes graph structure data conversion into being easy to be encrypted Processing and the data structure for reducing calculating and storage overhead, as shown in Fig. 2, specifically including following steps:
Step 1-1:Client selects sampling parameters, and r+1 independent random sampling is carried out to the vertex set V of non-directed graph G, Form r+1 sampling set S0,S1,...,Sr, the number on vertex is respectively 2 in set0,21,...,2r(it is required that participating in sampling 2) degree on vertex is at least.
Step 1-2:To sampling set SiIn each sampling vertex, calculate it to the distance of vertex u, obtain vertex u In sampling set SiIt is middle to pinpoint ω apart from shortest samplingiWith beeline δi=δ (u, wi)=δ (u, Si)。
Step 1-3:To all sampling set S0,S1...SrStep 1-2 operations are carried out, are respectively obtained on vertex u's (ω00),(ω11)...(ωrr), obtain sampling set SAMPLE [u]={ (ω of vertex u00),..., (ωrr)}。
Step 1-4:Repeated sampling is carried out to the vertex in non-directed graph G, by step 1-1 to step 1-3 operation independent operatings k It is secondary, by this result of calculation SAMPLEP [u] of k times1,SAMPLEP[u]2...SAMPLEP[u]kUnion is taken, obtains the cloud of vertex u Server S ketch structures Sku=SAMPLEP [u]1∪SAMPLEP[u]2∪...∪SAMPLEP[u]k
Step 1-5:All vertex in non-directed graph G are carried out with step 1-1 to step 1-4 operations, obtains all tops in figure The Cloud Server Sketch structures of point complete the pretreatment operation of graph structure data.
Step 2:Client generates encryption key, the graph structure by pretreatment is encrypted the close state graph structure of generation EO, and processing generation vertex label is carried out to each vertex of graph structureAs shown in figure 3, comprise the following steps:
Step 2-1:According to system security parameter, K is generated1Operation is encrypted for pseudo-random sequence opposite vertexes, generates Encrypted indexes;And K2The graph structure by pretreatment is encrypted for AE Cloud Server S symmetric key encryption algorithms.
Step 2-2:Utilize K2All vertex v ∈ V are calculated by pseudo-random sequence P, obtain vertex label Vertex label inquires about close state structured data using as the query token that subsequent query operates, and C retains the top on all vertex Point label is in local.
Step 2-3:Utilize K1As encryption key to the Cloud Server Sketch structures Sk on all vertex in figurev(v∈V) It is encrypted, i.e., to SkvElement in (v ∈ V) is encrypted successively, such as:To SkvI-th pair element (the ω i, δ of (v ∈ V)i) It is encrypted, calculatesObtain a group encryption Cloud Server Sketch structures ESkv=(c1,c2,...,cV), (v ∈ V) can not as obtain the close state graph structure EO of effective cleartext information.
Step 3:C utilizes vertex label PK2(v) can be pacified with close state graph structure EO generations on insincere server Queries dictionary is sent to Cloud Server S by the queries dictionary DX inquired about entirely.The Cloud Server for completing graph structure data uploads work Make, C need not carry out graph structure data local preservation, reduce the storage overhead.Specifically include following steps:
Step 3-1:C establishes a queries dictionary DX as storage organization, passes through labelIt is ranked up, successively It is rightIt is stored, obtains DX.In DX, vertex labelAnd ESkv(v ∈ V) forms correspondence, passes throughIt can be obtained by corresponding ESkv(v∈V)。
Step 3-2:Queries dictionary DX is sent to Cloud Server S by C, and Cloud Server S carries out queries dictionary DX local deposit Storage.
Step 4:C selects the query token on vertex, is inquired about to storage according to two vertex for being intended to inquire about approximate beeline The Cloud Server S of dictionary DX sends query token, and Cloud Server S looks into queries dictionary according to the query token received It askes.If Cloud Server S inquired in queries dictionary DX with the corresponding vertex label of query token, send the top to C Point label in DX corresponding ciphertext structured data as returned data;If at least one corresponding vertex label fail by It inquires, then Cloud Server S sends the prompting of inquiry failure to C, does not send effective returned data.As shown in figure 4, it specifically includes Following steps:
Step 4-1:The Cloud Server S of from C to storage DX initiate inquiry request q=(u, v), that is, calculate selection query token tk =(tku,tkv)=(PK2(u),PK2(v))。
Step 4-2:C sends query token tk to Cloud Server S, waits the returned data of Cloud Server S.
Step 4-3:Cloud Server S inquires about DX according to the query token tk received.According to (tku,tkv) inquiring about The vertex label P of corresponding vertex u, v are found in dictionary DXK2(u),PK2(v).If the vertex label of the opposite vertexes u in DX, v are complete Portion's successful inquiring then performs step 4-4;It is not queried to if there is the vertex label at least one vertex, then performs step 4-5。
Step 4-4:Cloud Server S is according to (tku,tkv) inquired in queries dictionary DX respectively with PK2(u) and PK2(v) Corresponding ESkuAnd ESkv, i.e. ESku:=DX [tku] and ESkv:=DX [tkv].Cloud Server S is by ESku=(cu1,cu2,..., cuV) and ESkv=(cv1,cv2,...,cvV) as two groups of effective returned datas it is sent to C.C continues to execute step 5.
Step 4-5:⊥ is sent to C by Cloud Server S, represents there is no the group polling vertex, Inquiry failure.C receives invalid returned data, and scheme all processes terminate.
Step 5:If C receives effective returned data from Cloud Server S, returned data is decrypted behaviour Make, obtain the Cloud Server Sketch structured datas of plaintext.To the data in the Cloud Server Sketch structures on two vertex into Row local computing obtains final approximate distance query result.As shown in figure 5, specifically include following steps:
Step 5-1:C utilizes key K1To receiving two groups of ciphertext Cloud Server Sketch structures ESku=(cu1, cu2,...,cuV) and ESkv=(cv1,cv2,...,cvV) be decrypted, obtain the Cloud Server Sketch structures Sk of plaintextuWith Skv
Step 5-2:To Sku={ (ω00),...,(ωnn) and Skv={ (ω00),...,(ωmm) in All elements find constituent element element (ω, δ with public vertex ωω) and (ω, δω')。
Step 5-3:To each public vertex ω searched out, using known public vertex ω to inquiry vertex u, The beeline of v, i.e. δω=δ (u, ω)=δ (ω, Sku) and δω'=δ (v, ω)=δ (ω, Skv), calculate δ (u, ω)+δ (ω, v).
Step 5-4:According to the result of calculation of δ (u, ω)+δ (ω, v), between the as required vertex of the minimum value compared Approximate beeline.

Claims (4)

1. a kind of approximate beeline querying method towards close state graph structure, which is characterized in that include the following steps:
Step 1:Client carries out pretreatment operation to graph structure data, makes graph structure data conversion into can be encrypted Data structure;
Step 2:Client generates encryption key, the graph structure by pretreatment is encrypted the close state graph structure EO of generation, and Processing generation vertex label P is carried out to each vertex of graph structureK2(v);Including step:
2.1) according to system security parameter, client generation AES encryption key K1With pseudo-random sequence key K2, wherein, K1For The graph structure by pretreatment is encrypted in AE Cloud Servers symmetric key encryption algorithm, generates encrypted indexes, K2For puppet Operation is encrypted in random sequence opposite vertexes;
2.2) K is utilized2All vertex v ∈ V are calculated by pseudo-random sequence P, wherein V is vertex set, obtains vertex mark Sign PK2(v);Vertex label inquires about close state structured data using as the query token that subsequent query operates, and client retains The vertex label of all vertex v ∈ V is in local;
2.3) K is utilized1As encryption key to the Sketch structures Sk on all vertex in figurev(v ∈ V) is encrypted, and obtains one group Encrypted Sketch structures ESkv(v ∈ V) can not as obtain the close state graph structure EO of effective cleartext information;
Step 3:Client utilizes vertex label PK2(v) safety is carried out on insincere server and is looked into close state graph structure EO generations Queries dictionary is sent to Cloud Server by the queries dictionary of inquiry;
Step 4:Client selects the query token on vertex, is looked into storage according to two vertex for being intended to inquire about approximate beeline The Cloud Server for asking dictionary sends query token, and Cloud Server inquires about queries dictionary according to the query token received; If Cloud Server inquires and the corresponding vertex label P of query token in queries dictionaryK2(v), then being sent to client should Vertex label PK2(v) in queries dictionary corresponding ciphertext structured data as returned data;If at least one corresponding top Point label fails to be queried to, then Cloud Server sends the prompting of inquiry failure to client, does not send effective returned data;
Step 5:If client receives effective returned data from Cloud Server, returned data is decrypted behaviour Make, obtain the Sketch structured datas of plaintext;Local computing is carried out to the data in the Sketch structures on two vertex, is obtained most Whole approximate distance query result, specifically includes following steps:
5.1) client utilizes key K1To receiving two groups of ciphertext Sketch structures ESku(u ∈ V) and ESkv(v ∈ V) is solved It is close, obtain the Sketch structures Sk of plaintextuAnd Skv
5.2) to Sku={ (ω00),...,(ωnn) and Skv={ (ω00),...,(ωmm) in all binary Constituent element element, finds public vertex ω;
5.3) to each public vertex ω searched out, using known public vertex ω to inquiry vertex u, v's is most short Distance, i.e.,
δω=δ (u, ω)=δ (ω, Sku)
δω=δ (v, ω)=δ (ω, Skv)
Wherein:U, v are inquiry vertex;Calculate δ (u, ω)+δ (ω, v);
5.4) it is approximate most short between the as required vertex of the minimum value compared according to the result of calculation of δ (u, ω)+δ (ω, v) Distance.
2. the approximate beeline querying method according to claim 1 towards close state graph structure, which is characterized in that step 1 pretreatment operation, specially:
1.1) client selection sampling parameters r carries out the vertex set V of non-directed graph G r+1 independent random sampling, forms r+1 A sampling set S0,S1,...,Sr, the number on vertex is respectively 2 in set0,21,...,2r, wherein participate in the vertex of sampling Degree no less than 2;
1.2) to sampling set SiIn each sampling vertex, calculate it to the distance of vertex u, obtain vertex u in sampling set SiIt is middle to pinpoint ω apart from shortest samplingiWith beeline δi
δi=δ (u, wi)=δ (u, Si)
Wherein, i=1,2,3
1.3) to all sampling set S0,S1,...,SrStep 1.2) operation is carried out, respectively obtains (the ω on vertex u0, δ0),(ω11)...(ωrr), obtain a sampling set SAMPLE [u] of vertex u;
1.4) repeated sampling is carried out to the vertex in non-directed graph G, by step 1.1) to independent operating 1.3) is operated k times, is pushed up The Sketch structures Sk of point uu
1.5) carry out step 1.1) to all vertex in non-directed graph G to operate to step 1.4), obtain all vertex in figure Sketch structures complete the pretreatment operation of graph structure data.
3. the approximate beeline querying method according to claim 1 or 2 towards close state graph structure, which is characterized in that Step 3 specifically includes following steps:
3.1) client establishes a queries dictionary as storage organization, passes through vertex label PK2(v) v ∈ V are ranked up, successively To (PK2(v),ESkv) stored, obtain queries dictionary;In queries dictionary, vertex label PK2(v) and ESkv(v ∈ V) shape Into correspondence, pass through vertex label PK2(v) corresponding ESk is obtainedv(v∈V);
3.2) queries dictionary is sent to Cloud Server by client, and queries dictionary is locally stored in Cloud Server.
4. the approximate beeline querying method according to claim 1 or 2 towards close state graph structure, which is characterized in that Step 4 specifically includes following steps:
4.1) Cloud Server of client to storage queries dictionary initiates inquiry request q=(u, v),
Calculate selection query token tk:
Tk=(tku,tkv)=(PK2(u),PK2(v));
Wherein:Q=(u, v) is inquiry request;Tk is query token;(PK2(u),PK2(v)) it is corresponding vertex u, the vertex of v is marked Label;
4.2) client sends query token tk to Cloud Server, waits the returned data of Cloud Server;
4.3) Cloud Server inquires about queries dictionary according to the query token tk received;According to (tku,tkv) in queries dictionary Middle vertex label (the P for finding corresponding vertex u, vK2(u),PK2(v));
If vertex label (the P of the opposite vertexes u in queries dictionary, vK2(u),PK2(v)) whole successful inquirings, then perform step 4.4);If the vertex label there are at least one vertex is not queried to, step 4.5) is performed;
4.4) Cloud Server is according to (tku,tkv) inquired in queries dictionary respectively with vertex label PK2(u) and PK2(v) it is corresponding ESkuAnd ESkv;Cloud Server is by ESkv(v ∈ V) and ESku(u ∈ V) is sent to client as two groups of effective returned datas; Client continues to execute step 5;
4.5) ⊥ is sent to client by Cloud Server, represents there is no the group polling vertex, inquires about Failure;Client receives invalid returned data, and scheme all processes terminate.
CN201711305987.8A 2017-12-11 2017-12-11 A kind of approximate shortest distance querying method towards close state graph structure Active CN108052834B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711305987.8A CN108052834B (en) 2017-12-11 2017-12-11 A kind of approximate shortest distance querying method towards close state graph structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711305987.8A CN108052834B (en) 2017-12-11 2017-12-11 A kind of approximate shortest distance querying method towards close state graph structure

Publications (2)

Publication Number Publication Date
CN108052834A true CN108052834A (en) 2018-05-18
CN108052834B CN108052834B (en) 2019-09-27

Family

ID=62123651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711305987.8A Active CN108052834B (en) 2017-12-11 2017-12-11 A kind of approximate shortest distance querying method towards close state graph structure

Country Status (1)

Country Link
CN (1) CN108052834B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489986A (en) * 2019-08-22 2019-11-22 网易(杭州)网络有限公司 Response method, system and the electronic equipment of diagram data function
CN112836078A (en) * 2021-02-20 2021-05-25 山东省计算中心(国家超级计算济南中心) Method, device, system and storage medium for safely inquiring shortest path on graph
CN114417073A (en) * 2022-03-28 2022-04-29 之江实验室 Neighbor node query method and device of encryption graph and electronic equipment
CN117349894A (en) * 2023-12-01 2024-01-05 山东省计算中心(国家超级计算济南中心) Graph structure shortest path query method based on filling dictionary encryption

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246439A1 (en) * 2010-04-06 2011-10-06 Microsoft Corporation Augmented query search
EP2260429B1 (en) * 2008-02-20 2013-01-23 Microsoft Corporation Sketch-based password authentication
CN105184182A (en) * 2015-07-22 2015-12-23 中国科学技术大学苏州研究院 Private information extraction-based query method for cloud computing private range
CN105812141A (en) * 2016-03-07 2016-07-27 东北大学 Outsourcing encrypted data-orientated verifiable intersection operation method and system
CN107085594A (en) * 2017-03-14 2017-08-22 武汉大学 Subgraph match method based on set similarity in big chart database
CN107291861A (en) * 2017-06-12 2017-10-24 北京理工大学 A kind of approximate beeline querying method of belt restraining towards encryption figure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2260429B1 (en) * 2008-02-20 2013-01-23 Microsoft Corporation Sketch-based password authentication
US20110246439A1 (en) * 2010-04-06 2011-10-06 Microsoft Corporation Augmented query search
CN105184182A (en) * 2015-07-22 2015-12-23 中国科学技术大学苏州研究院 Private information extraction-based query method for cloud computing private range
CN105812141A (en) * 2016-03-07 2016-07-27 东北大学 Outsourcing encrypted data-orientated verifiable intersection operation method and system
CN107085594A (en) * 2017-03-14 2017-08-22 武汉大学 Subgraph match method based on set similarity in big chart database
CN107291861A (en) * 2017-06-12 2017-10-24 北京理工大学 A kind of approximate beeline querying method of belt restraining towards encryption figure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QI CHAI,GUANG GONG: "Verifiable symmetric searchable encryption for semi-honest-but-curious cloud servers", 《2012 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS(ICC)》 *
XIANRUI MENG,SENY KAMARA等: "GRECS: Graph Encryption for Approximate Shortest Distance Queries", 《ACM CCS 2015 22ND ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489986A (en) * 2019-08-22 2019-11-22 网易(杭州)网络有限公司 Response method, system and the electronic equipment of diagram data function
CN112836078A (en) * 2021-02-20 2021-05-25 山东省计算中心(国家超级计算济南中心) Method, device, system and storage medium for safely inquiring shortest path on graph
CN112836078B (en) * 2021-02-20 2021-10-22 山东省计算中心(国家超级计算济南中心) Method, device, system and storage medium for safely inquiring shortest path on graph
CN114417073A (en) * 2022-03-28 2022-04-29 之江实验室 Neighbor node query method and device of encryption graph and electronic equipment
CN117349894A (en) * 2023-12-01 2024-01-05 山东省计算中心(国家超级计算济南中心) Graph structure shortest path query method based on filling dictionary encryption
CN117349894B (en) * 2023-12-01 2024-03-01 山东省计算中心(国家超级计算济南中心) Graph structure shortest path query method based on filling dictionary encryption

Also Published As

Publication number Publication date
CN108052834B (en) 2019-09-27

Similar Documents

Publication Publication Date Title
CN108052834B (en) A kind of approximate shortest distance querying method towards close state graph structure
Li et al. Outsourced privacy-preserving classification service over encrypted data
CN110008717A (en) Support the decision tree classification service system and method for secret protection
Li et al. Outsourced privacy-preserving C4. 5 decision tree algorithm over horizontally and vertically partitioned dataset among multiple parties
CN111654364A (en) Method for realizing data safety communication by using block chain encryption technology
CN110011784A (en) Support the KNN classified service system and method for secret protection
Doku et al. Iflbc: On the edge intelligence using federated learning blockchain network
Guo et al. Secure weighted aggregation for federated learning
Sun et al. Relativistic quantum private database queries
Cui A cross-chain protocol based on quantum teleportation for underlying architecture of metaverse
CN111988260B (en) Symmetric key management system, transmission method and device
Gopinath et al. Secured: quantum key distribution (SQKD) for solving side-channel attack to enhance security, based on shifting and binary conversion for securing data (SBSD) frameworks
An et al. QChain: Quantum-resistant and decentralized PKI using blockchain
CN108197491B (en) Subgraph retrieval method based on ciphertext
Wei et al. Efficient multi-party private set intersection protocols for large participants and small sets
Yuan et al. A privacy-preserving oriented service recommendation approach based on personal data cloud and federated learning
Karumanchi et al. An efficient integrity based multi-user blockchain framework for heterogeneous supply chain management applications
Jin et al. Privacy-preserving mining of association rules for horizontally distributed databases based on FP-tree
Zhang et al. LS4BUCC: A low overhead storage architecture for blockchain based unmanned collaborative cognition system
Zhang et al. Multi-party Secure Comparison of Strings Based on Outsourced Computation
Liu et al. Analysis and revision of secure quantum dialogue via cavity QED
Ramezanian et al. Privacy preserving queries on directed graph
Li et al. Outsourced privacy-preserving random decision tree algorithm under multiple parties for sensor-cloud integration
CN110149199A (en) A kind of method for secret protection and system based on attribute aware
Jiang et al. RETRACTED CHAPTER: A Cooperative Placement Method for Machine Learning Workflows and Meteorological Big Data Security Protection in Cloud Computing

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