CN112836078B - 一种图上最短路径安全查询方法、装置、系统及存储介质 - Google Patents

一种图上最短路径安全查询方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN112836078B
CN112836078B CN202110192739.7A CN202110192739A CN112836078B CN 112836078 B CN112836078 B CN 112836078B CN 202110192739 A CN202110192739 A CN 202110192739A CN 112836078 B CN112836078 B CN 112836078B
Authority
CN
China
Prior art keywords
vertex
information
target
encrypted
graph
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.)
Active
Application number
CN202110192739.7A
Other languages
English (en)
Other versions
CN112836078A (zh
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.)
Qingdao University
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Qingdao University
Shandong Computer Science Center National Super Computing Center in Jinan
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 Qingdao University, Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Qingdao University
Priority to CN202110192739.7A priority Critical patent/CN112836078B/zh
Publication of CN112836078A publication Critical patent/CN112836078A/zh
Application granted granted Critical
Publication of CN112836078B publication Critical patent/CN112836078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • 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/602Providing cryptographic facilities or services

Landscapes

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

Abstract

本发明公开了一种图上最短路径安全查询方法、装置、系统及计算机可读存储介质,该方法包括接收客户端发送的查询口令信息,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图,获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离;本发明能够找到满足受限边标签集合的最短路径及最小距离,更能够满足实际需求。

Description

一种图上最短路径安全查询方法、装置、系统及存储介质
技术领域
本发明实施例涉及网络与信息安全服务及知识图谱技术领域,特别是涉及一种图上最短路径安全查询方法、装置、系统及存储介质。
背景技术
知识图谱技术在很多领域都有广泛的应用场景,比如社交网络、生物医学、工业互联网等,其中,社交关系图谱分析主要基于对象的互联网、通讯网络等虚拟身份信息和动态关联信息进行分析,并在这些数据之间建立起关联关系图谱,通过知识图谱的关系推断、隐含关系挖掘以及虚实身份映射等,分析出目标对象的社交网络图谱关系,并展示目标对象不同的社会渠道的核心关系圈。知识图谱中的数据都是以顶点和边作为主要元素构成的图数据,而最短路径查询是针对图数据计算的一个很重要的基本问题。
传统的支持最短路径(距离)查询的图加密算法考虑的是边上带有权重的情况下的最短路径(距离)查询,通过利用不同的算法可以获得精确的或者近似的最短路径(距离)。但是,现有的方法没有考虑边上带有标签等属性信息的情况,而在现实中产生的图数据里的边往往是与属性相关联的、具有某种意义,因此现有技术中的最短路径查询方法难以满足实际需求。
鉴于此,如何提供一种解决上述技术问题的图上最短路径安全查询方法、装置、系统及计算机存储介质成为本领域技术人员需要解决的技术问题。
发明内容
本发明实施例的目的是提供一种图上最短路径安全查询方法、装置、系统及计算机存储介质,在使用过程能够通过对边的标签进行限制,找到满足受限边标签集合的最短路径及最小距离,得到的最短路径更能够满足实际需求。
为解决上述技术问题,本发明实施例提供了一种图上最短路径安全查询方法,包括:
接收客户端发送的查询口令信息;其中,所述查询口令信息为所述客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
依据所述查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
获取所述目标加密图中加密后的各个顶点、与每个所述顶点分别对应的各个邻接点;
依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个所述邻接点中确定出满足所述受限边标签集合的起始顶点至终止顶点的最短路径及最小距离。
可选的,所述依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个邻接点中确定出满足的起始顶点至终止顶点的最短路径及最小距离的过程为:
将起始顶点作为中心点;
从所述目标加密图中找出与所述中心点对应的各个邻接点;
对所述中心点的各个邻接点进行遍历,筛选出边的标签满足所述受限边标签集合的各个目标邻接点;
将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点添加至所述最小堆H中;其中,所述最小堆H为预先建立的;
计算出所述最小堆H中各个所述目标邻接点分别至所述起始顶点的最小距离,从各个所述最小距离中选择出最小值距离作为最新距离以更新距离字典中的当前最小距离,其中,所述距离字典为预先建立的;
将所述中心点的信息作为前驱信息存储至预先建立的前驱信息字典中;
将与所述当前最小距离对应的目标邻接点作为所述中心点,并返回从所述目标加密图中找出与所述中心点对应的各个邻接点的步骤,直至确定出与所述当前最小距离对应的邻接点为终止顶点后得到最小距离,并根据所述前驱信息字典中的各个前驱信息得到最短路径。
可选的,所述将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点添加至所述最小堆H中的过程为:
将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点的伪随机置换值及所述伪随机置换值的关键字添加至预先建立的最小堆H中。
可选的,所述计算出所述最小堆H中的各个所述目标邻接点分别至所述起始顶点的最小距离的过程为:
针对每个所述目标邻接点,计算出所述目标邻接点直接至所述起始顶点的第一距离;
计算出所述目标邻接点通过所述中心点至所述起始顶点的第二距离;
将所述第一距离和所述第二距离中的较小距离作为所述目标邻接点至所述起始顶点的最小距离。
可选的,所述加密图的存储过程为:
接收所述客户端发送的加密图,并对所述加密图进行存储;其中,所述加密图为所述客户端采用所述预设加密方法对用户输入的待加密图进行加密后得到的。
可选的,所述客户端采用所述预设加密方法对用户输入的待加密图进行加密的过程为:
所述客户端接收用户输入的待加密图,并得到与所述待加密图中的每个顶点分别对应的邻接表;所述邻接表中存储有多个三元组,所述三元组包括邻接点、边的权重和边的标签,其中,所述边为顶点与邻接点之间的边,每个所述顶点分别对应一个私钥;
针对每个所述邻接表中的每个所述三元组,采用paillier加密算法对边的权值进行加密,采用伪随机置换对所述边的标签进行加密,采用与所述邻接表对应的私钥对所述邻接点进行加密,得到与所述三元组对应的加密数据;
将所述加密数据添加至预先建立的第一数组中;
对所述邻接表中第一个邻接点的地址及所述邻接表的私钥进行盲化后得到盲化结果,并将所述盲化结果添加至预先建立的第一字典中,直至每个所述邻接表中的所有三元组均加密完成,得到基于所述第一数组和所述第一字典的加密图。
可选的,所述对所述邻接表中第一个邻接点的地址及所述邻接表的私钥进行盲化后得到盲化结果的过程为:
将所述邻接表中第一个邻接点的地址和所述邻接表的私钥作为整体与对应顶点的伪随机函数值进行异或,得到异或结果;
将所述异或结果作为盲化结果。
本发明实施例还相应的提供了一种图上最短路径安全查询装置,包括:
接收模块,用于接收客户端发送的查询口令信息;其中,所述查询口令信息为所述客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
查找模块,用于依据所述查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
获取模块,用于获取所述目标加密图中加密后的各个顶点、与每个所述顶点分别对应的各个邻接点;
筛选模块,用于依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个所述邻接点中确定出满足所述受限边标签集合的起始顶点至终止顶点的最短路径及最小距离。
本发明实施例还提供了一种图上最短路径安全查询系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述图上最短路径安全查询方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述图上最短路径安全查询方法的步骤。
本发明实施例提供了一种图上最短路径安全查询方法、装置、系统及计算机可读存储介质,该方法包括:接收客户端发送的查询口令信息,其中,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;然后依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图,并获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,然后从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离;本发明能够通过对边的标签进行限制,找到满足受限边标签集合的最短路径及最小距离,得到的最短路径更能够满足实际需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图上最短路径安全查询方法的流程示意图;
图2为本发明实施例提供的一种图上最短路径安全查询装置的结构示意图。
具体实施方式
本发明实施例提供了一种图上最短路径安全查询方法、装置、系统及计算机存储介质,在使用过程能够通过对边的标签进行限制,找到满足受限边标签集合的最短路径及最小距离,得到的最短路径更能够满足实际需求。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种图上最短路径安全查询方法的流程示意图。该方法包括:
S110:接收客户端发送的查询口令信息;其中,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
具体的,本发明实施例可以应用在云服务器,其中,用户在需要对加密图查询两个顶点之间的最短路径时,可以通过客户端输入目标图信息、起始顶点信息、终止顶点信息和受限边标签集合,然后客户端采用预设加密方法对目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密,得到查询口令信息,并将该查询口令信息发送至云服务器,具体的查询口令信息可以包括加密后的起始顶点信息、终止顶点信息及受限边标签集合,还可以包括目标图信息,其中目标图信息可以为目标图的标识码或名称等信息。例如,用户需要查询目标图中的顶点s至顶点t之间的最短路径和距离,受限边标签集合C={a1,...,ak},则客户端对这些信息加密后得到加密后的顶点s和顶点t的
Figure GDA0003217538130000061
以及加密后的受限边标签集合
Figure GDA0003217538130000062
其中,
Figure GDA0003217538130000063
表示顶点s的伪随机置换密文,
Figure GDA0003217538130000064
表示顶点s的伪随机函数密文,
Figure GDA0003217538130000065
表示顶点t的伪随机置换密文,k1和k2为伪随机置换(函数)的密钥;
Figure GDA0003217538130000066
Figure GDA0003217538130000067
分别表示边标签a1的伪随机置换密文和边标签ak的伪随机置换密文,查询口令信息为(τq,C′),还可以包括目标图信息。
S120:依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
具体的,可以根据查询口令中加密后的目标图信息从预先存储的各个加密图中找到对应的目标加密图,也即用户需要查询该目标加密图中的顶点s至顶点t之间的最短路径及距离。
其中,预先对加密图进行的存储过程具体可以为:
接收客户端发送的加密图,并对加密图进行存储;其中,加密图为客户端采用预设加密方法对用户输入的待加密图进行加密后得到的。
也即,客户端接收到用户输入的待加密图后,采用预设加密方法对所述待加密图进行加密,然后将加密图发送至云服务器,云服务器接收到加密图后将其存储。
进一步的,客户端采用预设加密方法对用户输入的待加密图进行加密的过程为:
客户端接收用户输入的待加密图,并得到与待加密图中的每个顶点分别对应的邻接表;邻接表中存储有多个三元组,三元组包括邻接点、边的权重和边的标签,其中,边为顶点与邻接点之间的边,每个顶点分别对应一个私钥;
针对每个邻接表中的每个三元组,采用paillier加密算法对边的权值进行加密,采用伪随机置换对边的标签进行加密,采用与邻接表对应的私钥对邻接点进行加密,得到与三元组对应的加密数据;
将加密数据添加至预先建立的第一数组中;
对邻接表中第一个邻接点的地址及邻接表的私钥进行盲化后得到盲化结果,并将盲化结果添加至预先建立的第一字典中,直至每个邻接表中的所有三元组均加密完成,得到基于第一数组和第一字典的加密图。
其中,对邻接表中第一个邻接点的地址及邻接表的私钥进行盲化后得到盲化结果的过程可以为:
将邻接表中第一个邻接点的地址和邻接表的私钥作为整体与对应顶点的伪随机函数值进行异或,得到异或结果,并将异或结果作为盲化结果。
需要说明的是,输入为G=(V,E,Δ)和sk=(k1,k2,k3,pkp,skp),其中,G为待加密图,V表示待加密图中顶点的集合,E表示待加密图中边的集合,Δ表示边的标签集合,sk为密钥,k1、k2和k3为伪随机置换(函数)对应的密钥,pkp和skp分别表示Paillier加密算法的公钥和私钥;加密后的输出为加密图EG
具体的,可以假设待加密图的顶点数为n,也即|V|=n,边数为m,也即|E|=m,可以预先初始化一个大小为m第一数组AG、一个大小为n的第一字典TG、1到m上的一个置换π,以及初始化一个计数器ctr=1。
对待加密图上的每个顶点u∈V,执行下列操作:
计算一个用于加密顶点u对应的邻接表中每个节点信息的私钥Ku,其中,
Figure GDA0003217538130000071
对于顶点u的每个邻接点v(其中,i∈[1,n])计算如下密文:
ci←Enc(pkp,len(u,vi))和
Figure GDA0003217538130000072
其中,len(u,vi)表示邻接点vi与顶点u之间的边的权重,对该权重使用Paillier加密算法进行加密,lab(u,vi)表示邻接点vi与顶点u之间的边的标签,对该标签使用伪随机置换进行掩盖(也即进行加密),可以设置Ni表示对邻接点v加密后的密文,其中,
Figure GDA0003217538130000073
Figure GDA0003217538130000074
为邻接点vi的伪随机置换密文,
Figure GDA0003217538130000075
为邻接点vi的伪随机函数密文,ci为邻接点vi对应的边的权重密文,π(ctr+1)表示对计数器加1后的值进行置换得到邻接点vi+1的地址(若vi为最后一个邻接点,则将Ni中的最后一项π(ctr+1)设置为空)。随机选取一个比特串ri←{0,1}λ以对Ni进行随机化加密,其中,λ表示安全系数,计算
Figure GDA0003217538130000076
h为哈希函数,π(ctr)为一个随机地址,每执行完一次上述操作后计数器的数值增加1,当所有邻接点都加密完成后,得到第一数组AG,然后再执行对顶点u的邻接表中第一个邻接点N1的地址及邻接表的私钥Ku进行盲化的过程,具体为
Figure GDA0003217538130000077
操作,其中,
Figure GDA0003217538130000078
为顶点u的伪随机置换密文,
Figure GDA0003217538130000079
为顶点u的伪随机函数密文,addr(N1)为顶点u的第一个邻接点的地址,也即,将第一个邻接点的地址addr(N1)与私钥Ku作为整体与伪随机函数密文
Figure GDA00032175381300000710
进行异或,得到异或结果即为盲化结果。添加至第一字典TG。对所有顶点的各个邻接点均加密完成后,得到加密图EG=(AG,TG)。
S130:获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;
S140:依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离。
也即,本发明中可以根据加密后的起始顶点信息和终止顶点信息从加密图的各个顶点和与每个顶点对应的各个邻接点中找出满足受限边标签集合的最短路径以及相应的最小距离,其中,该最短路径上的各个邻接点的边的标签均满足该受限边标签集合,使得到的最短路径及距离更加满足实际需求。
进一步的,上述S140中依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从目标加密图的各个邻接点中确定出满足的起始顶点至终止顶点的最短路径及最小距离的过程,具体可以为:
将起始顶点作为中心点;
从目标加密图中找出与中心点对应的各个邻接点;
对中心点的各个邻接点进行遍历,筛选出边的标签满足受限边标签集合的各个目标邻接点;
将各个目标邻接点中当前没有在最小堆H中的目标邻接点添加至最小堆H中;其中,最小堆H为预先建立的;也即,从最小堆H中当前已有的各个邻接点中确定出各个所述目标邻接点中哪些邻接点已存在于最小堆H中,这些邻接点就不需要再次添加至最小堆H中,只需要将最小堆H中没有的目标邻接点添加至最小堆H中即可。
计算出最小堆H中各个目标邻接点分别至起始顶点的最小距离,从各个最小距离中选择出最小值距离作为最新距离以更新距离字典中的当前最小距离,其中,距离字典为预先建立的;也即,计算出这些各个目标邻接点分别至起始顶点的最小距离,其中,针对每个目标邻接点在计算其至起始顶点的最小距离时,可以采用以下方法:
先计算出目标邻接点直接至起始顶点的第一距离以及目标邻接点通过中心点至起始顶点的第二距离,然后将第一距离和第二距离中的较小距离作为目标邻接点至起始顶点的最小距离。
将中心点的信息作为前驱信息存储至预先建立的前驱信息字典中;
将与最新距离对应的目标邻接点作为中心点,并返回从目标加密图中找出与中心点对应的各个邻接点的步骤,直至确定出与最新距离对应的邻接点为终止顶点后得到最小距离,并根据前驱信息字典中的各个前驱信息得到最短路径。
需要说明的是,在每次确定出新的最新距离后,将与该最新距离对应的目标邻接点作为中心点,也即将该目标邻接点作为新的顶点,然后从该新的顶点的各个邻接点中再筛选出边的标签满足受限边标签集合的各个新的目标邻接点,然后再将这些新的目标邻接点中没有在最小堆H中的新的目标邻接点添加至最小堆H中,进一步计算出各个新的目标邻接点分别至起始顶点的最小距离,然后从这些最小距离中选择出最小值距离,采用该最小值距离作为最小距离更新距离字典中的当前最小距离,同时将该中心点的信息添加至预先建立的前驱信息字典中,然后再将对应的新的目标邻接点作为中心点,并继续对下一个中心点的各个邻接点进行筛选,直至找到的最新距离对应的邻接点为终止顶点,此时结束遍历,并将距离字典中的当前最小距离作为最小距离,然后根据前驱信息字典中的各个前驱信息进一步确定出起始顶点至终止顶点之间的最短路径,也即该最短路径为从起始顶点起依次经过前驱信息字典中的各个前驱信息分别对应的邻接点到达终止顶点的路径。其中,上述将各个目标邻接点中当前没有在最小堆H中的目标邻接点添加至最小堆H中的过程具体可以为:
将各个目标邻接点中当前没有在最小堆H中的目标邻接点的伪随机置换值及伪随机置换值的关键字添加至预先建立的最小堆H中。
最小堆H
在实际应用中,具体可以采用以下操作:
输入为:
Figure GDA0003217538130000091
则可以预先初始化一个最小堆H←Make-Heap(),初始化两个字典,分别为距离字典ε和前驱信息字典path。设τq:=(τ123),其中,τ1、τ2、τ3分别对应
Figure GDA0003217538130000092
Figure GDA0003217538130000093
计算
Figure GDA0003217538130000094
得到与起始顶点s对应的第一个邻接点的地址以及相应的私钥,然后从第一数组AG中获取出与该第一个邻接点相应的密文AG[addr1]=<N′1,r1>,其中,
Figure GDA0003217538130000095
具体可以将N1写成<α11,c1,d1,addr2>,设置path[α1]:=<τ1,c1>,ε[α1]:=c1,key(α1)=ε[α1],若d1∈C′,则将α1伴随关键字key(α1)插入至最小堆H中,即执行Insert(H,α1),如果addr2不为空,则继续执行同样的操作直至所有的邻接点都执行完毕,此时起始顶点s的所有满足受限边标签集合的邻接点均插入至最小堆H中,然后开始重复下面的操作直至找到最小距离对应的邻接点为终止顶点:
从最小堆H当前存储的各个邻接点中抽取出距离最小的元素<α,key(α)>:=Extract-MIN(H),计算
Figure GDA0003217538130000101
AG[addr1]=<N′1,r1>,
Figure GDA0003217538130000102
将N1写成<α11,c1,d1,addr2>,如果ε[α]·c1<ε[α1],则计算ε[α1]:=ε[α]·c1,key(α1)=ε[α1],path[α1]:=<α,c1>。如果
Figure GDA0003217538130000103
并且d1∈C′,则将α1伴随关键字key(α1)插入到最小堆H中,即执行Insert(H,α1),否则的话执行Decrease-Key(H,α1,key(α1))。对α的其他邻接点依次重复执行上述操作直到α为τ3,也即直到最小距离对应的邻接点为终止顶点为止。
返回前驱信息字典path以及当前最小距离key(α),前驱信息字典path中保存着每一个顶点的前驱顶点的信息,也即存储着每个中心点的信息,通过回溯查找即可得到对应的密文下的最小路径,key(α)即为对应的密文下的当前最小距离,然后可以将最小路径及距离返回至客户端,客户端收到云服务器返回的结果后使用自己的私钥(与客户端加密图对应的解密方法)解密即可得到明文下对应的最短路径和距离。
可见,该方法通过接收客户端发送的查询口令信息,其中,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;然后依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图,并获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,然后从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离;本发明能够通过对边的标签进行限制,找到满足受限边标签集合的最短路径及最小距离,得到的最短路径更能够满足实际需求。
在上述实施例的基础上,本发明实施例还相应的提供了一种图上最短路径安全查询装置,具体请参照图2。该装置包括:
接收模块21,用于接收客户端发送的查询口令信息;其中,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
查找模块22,用于依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
获取模块23,用于获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;
筛选模块24,用于依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离。
需要说明的是,本发明实施例中提供的图上最短路径安全查询装置具有与上述实施例中所提供的图上最短路径安全查询方法相同的有益效果,并且对于本发明实施例中所涉及到的图上最短路径安全查询方法的具体介绍请参照上述实施例,本发明在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种图上最短路径安全查询系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述图上最短路径安全查询方法的步骤。
例如,本实施例中的处理器还用于实现接收客户端发送的查询口令信息,其中,查询口令信息为客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;然后依据查询口令信息从预先存储的各个加密图中找到对应的目标加密图,并获取目标加密图中加密后的各个顶点、与每个顶点分别对应的各个邻接点;依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,然后从目标加密图的各个邻接点中确定出满足受限边标签集合的起始顶点至终止顶点的最短路径及最小距离。
在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述图上最短路径安全查询方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种图上最短路径安全查询方法,其特征在于,包括:
接收客户端发送的查询口令信息;其中,所述查询口令信息为所述客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
依据所述查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
获取所述目标加密图中加密后的各个顶点、与每个所述顶点分别对应的各个邻接点;
依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个所述邻接点中确定出满足所述受限边标签集合的起始顶点至终止顶点的最短路径及最小距离;其中:
所述依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个邻接点中确定出满足的起始顶点至终止顶点的最短路径及最小距离的过程为:
将起始顶点作为中心点;
从所述目标加密图中找出与所述中心点对应的各个邻接点;
对所述中心点的各个邻接点进行遍历,筛选出边的标签满足所述受限边标签集合的各个目标邻接点;
将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点添加至所述最小堆H中;其中,所述最小堆H为预先建立的;
计算出所述最小堆H中各个所述目标邻接点分别至所述起始顶点的最小距离,从各个所述最小距离中选择出最小值距离作为最新距离以更新距离字典中的当前最小距离,其中,所述距离字典为预先建立的;
将所述中心点的信息作为前驱信息存储至预先建立的前驱信息字典中;
将与所述当前最小距离对应的目标邻接点作为所述中心点,并返回从所述目标加密图中找出与所述中心点对应的各个邻接点的步骤,直至确定出与所述当前最小距离对应的邻接点为终止顶点后得到最小距离,并根据所述前驱信息字典中的各个前驱信息得到最短路径。
2.根据权利要求1所述的图上最短路径安全查询方法,其特征在于,所述将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点添加至所述最小堆H中的过程为:
将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点的伪随机置换值及所述伪随机置换值的关键字添加至预先建立的最小堆H中。
3.根据权利要求1所述的图上最短路径安全查询方法,其特征在于,所述计算出所述最小堆H中的各个所述目标邻接点分别至所述起始顶点的最小距离的过程为:
针对每个所述目标邻接点,计算出所述目标邻接点直接至所述起始顶点的第一距离;
计算出所述目标邻接点通过所述中心点至所述起始顶点的第二距离;
将所述第一距离和所述第二距离中的较小距离作为所述目标邻接点至所述起始顶点的最小距离。
4.根据权利要求1所述的图上最短路径安全查询方法,其特征在于,所述加密图的存储过程为:
接收所述客户端发送的加密图,并对所述加密图进行存储;其中,所述加密图为所述客户端采用所述预设加密方法对用户输入的待加密图进行加密后得到的。
5.根据权利要求4所述的图上最短路径安全查询方法,其特征在于,所述客户端采用所述预设加密方法对用户输入的待加密图进行加密的过程为:
所述客户端接收用户输入的待加密图,并得到与所述待加密图中的每个顶点分别对应的邻接表;所述邻接表中存储有多个三元组,所述三元组包括邻接点、边的权重和边的标签,其中,所述边为顶点与邻接点之间的边,每个所述顶点分别对应一个私钥;
针对每个所述邻接表中的每个所述三元组,采用paillier加密算法对边的权值进行加密,采用伪随机置换对所述边的标签进行加密,采用与所述邻接表对应的私钥对所述邻接点进行加密,得到与所述三元组对应的加密数据;
将所述加密数据添加至预先建立的第一数组中;
对所述邻接表中第一个邻接点的地址及所述邻接表的私钥进行盲化后得到盲化结果,并将所述盲化结果添加至预先建立的第一字典中,直至每个所述邻接表中的所有三元组均加密完成,得到基于所述第一数组和所述第一字典的加密图。
6.根据权利要求5所述的图上最短路径安全查询方法,其特征在于,所述对所述邻接表中第一个邻接点的地址及所述邻接表的私钥进行盲化后得到盲化结果的过程为:
将所述邻接表中第一个邻接点的地址和所述邻接表的私钥作为整体与对应顶点的伪随机函数值进行异或,得到异或结果;
将所述异或结果作为盲化结果。
7.一种图上最短路径安全查询装置,其特征在于,包括:
接收模块,用于接收客户端发送的查询口令信息;其中,所述查询口令信息为所述客户端采用预设加密方法对用户输入的目标图信息、起始顶点信息、终止顶点信息和受限边标签集合进行加密后得到的;
查找模块,用于依据所述查询口令信息从预先存储的各个加密图中找到对应的目标加密图;
获取模块,用于获取所述目标加密图中加密后的各个顶点、与每个所述顶点分别对应的各个邻接点;
筛选模块,用于依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个所述邻接点中确定出满足所述受限边标签集合的起始顶点至终止顶点的最短路径及最小距离;其中:
所述依据加密后的起始顶点信息、终止顶点信息及受限边标签集合,从所述目标加密图的各个邻接点中确定出满足的起始顶点至终止顶点的最短路径及最小距离的过程为:
将起始顶点作为中心点;
从所述目标加密图中找出与所述中心点对应的各个邻接点;
对所述中心点的各个邻接点进行遍历,筛选出边的标签满足所述受限边标签集合的各个目标邻接点;
将各个所述目标邻接点中当前没有在最小堆H中的目标邻接点添加至所述最小堆H中;其中,所述最小堆H为预先建立的;
计算出所述最小堆H中各个所述目标邻接点分别至所述起始顶点的最小距离,从各个所述最小距离中选择出最小值距离作为最新距离以更新距离字典中的当前最小距离,其中,所述距离字典为预先建立的;
将所述中心点的信息作为前驱信息存储至预先建立的前驱信息字典中;
将与所述当前最小距离对应的目标邻接点作为所述中心点,并返回从所述目标加密图中找出与所述中心点对应的各个邻接点的步骤,直至确定出与所述当前最小距离对应的邻接点为终止顶点后得到最小距离,并根据所述前驱信息字典中的各个前驱信息得到最短路径。
8.一种图上最短路径安全查询系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述图上最短路径安全查询方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述图上最短路径安全查询方法的步骤。
CN202110192739.7A 2021-02-20 2021-02-20 一种图上最短路径安全查询方法、装置、系统及存储介质 Active CN112836078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110192739.7A CN112836078B (zh) 2021-02-20 2021-02-20 一种图上最短路径安全查询方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110192739.7A CN112836078B (zh) 2021-02-20 2021-02-20 一种图上最短路径安全查询方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN112836078A CN112836078A (zh) 2021-05-25
CN112836078B true CN112836078B (zh) 2021-10-22

Family

ID=75934025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110192739.7A Active CN112836078B (zh) 2021-02-20 2021-02-20 一种图上最短路径安全查询方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN112836078B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349894B (zh) * 2023-12-01 2024-03-01 山东省计算中心(国家超级计算济南中心) 一种基于填充字典加密的图结构最短路径查询方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521364A (zh) * 2011-12-15 2012-06-27 北京大学 一种图上两点间最短路径查询方法
CN105488422A (zh) * 2015-11-19 2016-04-13 上海交通大学 基于同态加密隐私数据保护的编辑距离计算系统
CN107291861A (zh) * 2017-06-12 2017-10-24 北京理工大学 一种面向加密图的带约束近似最短距离查询方法
CN108052834A (zh) * 2017-12-11 2018-05-18 东北大学 一种面向密态图结构的近似最短距离查询方法
CN109670049A (zh) * 2018-11-19 2019-04-23 平安科技(深圳)有限公司 图谱路径查询方法、装置、计算机设备和存储介质
CN111682986A (zh) * 2020-06-08 2020-09-18 平安科技(深圳)有限公司 全量链路质量探测方法、装置、计算机设备及存储介质
CN111708851A (zh) * 2020-04-26 2020-09-25 上海容易网电子商务股份有限公司 一种2d地图数据动态解析缓存方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4398455B2 (ja) * 2006-12-22 2010-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 経路探索方法、プログラム及びシステム
US8744770B2 (en) * 2010-08-27 2014-06-03 University Of Maryland, College Park Path oracles for spatial networks
US10164774B2 (en) * 2014-05-22 2018-12-25 Puccini World Limited Securing a directed acyclic graph
JP6520362B2 (ja) * 2014-08-25 2019-05-29 富士通株式会社 生成方法、装置、及びプログラム
CN107036618A (zh) * 2017-05-24 2017-08-11 合肥工业大学(马鞍山)高新技术研究院 一种基于最短路径深度优化算法的agv路径规划方法
CN108319727A (zh) * 2018-03-01 2018-07-24 南开大学 一种基于社团结构寻找社交网络中任意两点最短路径的方法
CN111611442A (zh) * 2019-02-22 2020-09-01 京东数字科技控股有限公司 一种基于图的多点路径查询方法和装置
CN110071875B (zh) * 2019-05-05 2021-04-09 杭州复杂美科技有限公司 路径查询方法、数据传输方法、设备和存储介质
CN111460472B (zh) * 2020-03-20 2023-05-16 西北大学 一种基于深度学习图网络的加密算法识别方法
CN112231591B (zh) * 2020-11-06 2024-02-09 烟台大学 考虑社交网络用户群紧密度的信息推荐方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521364A (zh) * 2011-12-15 2012-06-27 北京大学 一种图上两点间最短路径查询方法
CN105488422A (zh) * 2015-11-19 2016-04-13 上海交通大学 基于同态加密隐私数据保护的编辑距离计算系统
CN107291861A (zh) * 2017-06-12 2017-10-24 北京理工大学 一种面向加密图的带约束近似最短距离查询方法
CN108052834A (zh) * 2017-12-11 2018-05-18 东北大学 一种面向密态图结构的近似最短距离查询方法
CN109670049A (zh) * 2018-11-19 2019-04-23 平安科技(深圳)有限公司 图谱路径查询方法、装置、计算机设备和存储介质
CN111708851A (zh) * 2020-04-26 2020-09-25 上海容易网电子商务股份有限公司 一种2d地图数据动态解析缓存方法
CN111682986A (zh) * 2020-06-08 2020-09-18 平安科技(深圳)有限公司 全量链路质量探测方法、装置、计算机设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Cloud-Based Approximate Constrained Shortest Distance Queries Over Encrypted Graphs With Privacy Protection;Meng Shen et.al;《IEEE Transactions on Information Forensics and Security》;20171116;第940-953页 *
Privacy-Preserving Graph Encryption for Approximate Constrained Shortest Distance Queries;Meng Shen et.al;《2019 IEEE Global Communications Conference (GLOBECOM)》;20200227;第1-6页 *
云环境下保护隐私的最短距离计算方法研究;张莹光 等;《华中科技大学学报(自然科学版)》;20140110;第41卷(第S2期);第77-80页 *
支持近似最短距离查询的高效图加密机制;沈蒙 等;《南京信息工程大学学报(自然科学版)》;20171031;第09卷(第05期);第527-532页 *

Also Published As

Publication number Publication date
CN112836078A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
US10554385B2 (en) Method for providing encrypted data in a database and method for searching on encrypted data
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
US9740879B2 (en) Searchable encryption with secure and efficient updates
Xi et al. Privacy preserving shortest path routing with an application to navigation
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
US20170262546A1 (en) Key search token for encrypted data
CN110851481A (zh) 一种可搜索加密方法、装置、设备及可读存储介质
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
US11856099B2 (en) Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium
US10831919B2 (en) Method for confidentially querying an encrypted database
US11829503B2 (en) Term-based encrypted retrieval privacy
CN110062941B (zh) 消息发送系统及方法、通信终端、服务器装置、记录介质
CN112836078B (zh) 一种图上最短路径安全查询方法、装置、系统及存储介质
CN114417073A (zh) 一种加密图的邻居节点查询方法及装置、电子设备
CN111859435A (zh) 一种数据安全处理方法及装置
KR102132685B1 (ko) 순서 노출 암호화를 위한 장치 및 방법
US20230113896A1 (en) System for Restrictive Discovery of Private Data Feature Intersection
CN108319659B (zh) 一种基于加密图像快速搜索的社交发现方法
KR102123435B1 (ko) 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치
Castiglione et al. On the relations between security notions in hierarchical key assignment schemes for dynamic structures
CN112328626B (zh) 面向云环境的支持模糊关键词排序的可搜索加密方法
Chakraborti et al. {Distance-Aware} Private Set Intersection
CN111008399B (zh) 姓名数据脱敏装置、方法及可读存储介质
Yin et al. A new approximate image verification mechanism in cloud computing
CN113158087A (zh) 一种空间文本的查询方法及装置

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