CN112632063A - 受限最短距离查询方法、电子设备和可读存储介质 - Google Patents

受限最短距离查询方法、电子设备和可读存储介质 Download PDF

Info

Publication number
CN112632063A
CN112632063A CN202011421465.6A CN202011421465A CN112632063A CN 112632063 A CN112632063 A CN 112632063A CN 202011421465 A CN202011421465 A CN 202011421465A CN 112632063 A CN112632063 A CN 112632063A
Authority
CN
China
Prior art keywords
query
encryption
index
node
keyword
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
CN202011421465.6A
Other languages
English (en)
Other versions
CN112632063B (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
Original Assignee
Qingdao University
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 filed Critical Qingdao University
Priority to CN202011421465.6A priority Critical patent/CN112632063B/zh
Publication of CN112632063A publication Critical patent/CN112632063A/zh
Application granted granted Critical
Publication of CN112632063B publication Critical patent/CN112632063B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy 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/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例涉及信息安全领域,公开了一种受限最短距离查询方法、系统、电子设备和可读存储介质。本发明中,接收客户端发送的查询指令,获取加密查询地节点、加密关键词集和约束过滤树;根据预先设置的加密关键词索引生成包含所述加密关键词集的相关节点,所述加密关键词索引根据公路网图建立;根据所述约束过滤树将不符合约束条件的所述相关节点过滤掉;根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述查询地节点间的距离进行排序,所述加密距离索引通过所述公路网图建立;按照排序结果将符合约束条件的相关节点组成查询结果集发送至客户端,所述查询结果集为加密状态。使得在数据传输和距离查询时都能保障数据的安全性能。

Description

受限最短距离查询方法、电子设备和可读存储介质
技术领域
本发明实施例涉及信息安全领域,特别涉及受限最短距离查询方法、电子设备和可读存 储介质。
背景技术
公路网是指将一定区域内的各种道路相互连通而形成的网络结构。随着道路基础设施的 不断完善,道路网络规模变得越来越庞大,结构也变得越来越庞大。建立一个信息完整、结构 清晰的道路网络对于现代社会的发展显得尤为重要。图是计算机科学中最常见的数据结构之 一,通常用来表示道路网络。在道路网络中,实体(建筑物和设施)可以看作是图上的顶点, 它们之间的道路是图中的边。客户端可以通过对图执行一系列查询操作来获取所需的信息。
当用户需要购买某种物品时,他尝试在道路网络中搜索物品名称来确定拥有这种物品的 商店。各个商店(例如五金店、药店、便利店等)用节点表示,一个商店中销售的商品被表 示成节点的关键词。当用户进行查询时,他希望得到一些尽可能离他近的结果并且要求路费 不超过某一约束值。以上场景中首先涉及到最短距离的查询,用户需要计算节点之间的距离 并且选择离他较近的节点,其次还要求路费不超过约束值,这类问题被称之为受限最短距离 查询。最后还要求查询到的节点中包含用户感兴趣的内容,这个问题被称为关键词查询。
但因为客户端通常受自己的计算和存储能力的限制,独立对大型图进行查询操作事极其 困难的。云计算技术的出现和发展使得这个问题得以解决。数据拥有者可以将大型图形外包 给云,允许云服务器承担存储和查询大规模图的任务,由此减轻客户端的存储和计算压力。 虽然将大型图外包到云上可以大大减轻客户的负担,但会给云泄露一些隐私信息,包括城市 数量(节点数量)、路径(边)、成本约束等,对于数据的安全性无法保障。
发明内容
本发明实施方式的目的在于提供一种受限最短距离查询方法、系统、电子设备和可读存 储介质,使得在数据传输和距离查询时都能保障数据的安全性能。
为解决上述技术问题,本发明的实施方式提供了一种受限最短距离查询方法、系统、电 子设备和可读存储介质,包括以下步骤:
接收客户端发送的查询指令,获取加密查询地节点、加密关键词集和约束过滤树;
根据预先设置的加密关键词索引生成包含所述加密关键词集的相关节点,所述加密关键 词索引根据公路网图建立;
根据所述约束过滤树将不符合约束条件的所述相关节点过滤掉;
根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述查询地节点间的距离 进行排序,所述加密距离索引通过所述公路网图建立;
按照排序结果将符合约束条件的相关节点组成查询结果集发送至客户端,所述查询结果 集为加密状态。
本发明的实施方式还提供了一种受限最短距离查询方法,包括:
获取用户的查询信息,所述查询信息包括查询地、相关关键词和约束条件;
根据所述用户查询信息生成查询指令发送至服务器;
对服务器返回的查询结果集按照预先设定的密钥集进行解密,获取到所述在所述约束条 件下的,具有相关关键词的,与所述查询地距离最短的地点集。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理 器执行,以使所述至少一个处理器能够执行任一所述的受限最短距离查询方法。
本发明的实施方式还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时 实现任一项所述的受限最短距离查询方法。
本发明实施方式相对于相关技术而言,将用户的查询指令在客户端就进行加密,且在查 询过程中不进行解密,查询结果也是加密状态的返回,使得指令在传输的过程中更安全;通 过预先设置的加密关键词索引和加密距离索引,以索引替代原有的公路网图,减少了存储量, 节约了更多空间,也可以使查询索引速度更快,并且,索引为加密的存储在服务器中,避免 了公路数据泄露;根据用户的需求可以查询到即满足关键词又满足约束条件的地点,使用户 具有更好的使用感,提高了人性化效果。
另外,本发明实施方式提供的受限最短距离查询方法,所述根据预先设置的关键词索引 生成包含所述加密关键词集的相关节点,包括:将所述加密关键词集中每一项关键词与所述 加密关键词索引中头结点中的值进行比较,获取所述加密关键词集中每一项关键词所在的节 点索引条目;根据所述节点索引条目获取包含所述加密关键词集的所述相关节点。通过加密 关键词集获取相关节点,使查询速度更快。
另外,本发明实施方式提供的受限最短距离查询方法,所述根据预先设定的加密距离索 引,按照过滤后的所述相关节点与所述查询地节点间的距离进行排序,包括:根据预先设置 的距离索引,获取所述相关节点与所述加密查询地节点对应的距离索引表;比较所述相关节 点的距离索引表与所述加密查询地节点的距离索引表,获取所述索引表中公共节点信息;将 所述公共节点按照距离进行排序,生成排序结果。通过加密距离索引来替代公路网图,使占 用存储空间更小,获取速度更快。
另外,本发明实施方式提供的受限最短距离查询方法,获取所述关键词索引包括:对预 先设定的预设关键词基于通配符的方法生成预设模糊关键词集;将所述预设关键词和所述预 设模糊关键词集存放于所述关键词索引的头结点;通过公路网图获取包含所述预设关键词及 所述预设模糊关键词的节点标识符,存放于所述关键词索引中所述头结点后的后续结点。对 每一个关键词都进行模糊关键词运算,使得用户在输入有误的关键词时,依然能够用查询到 用户需要的信息,提高了设备是可用性,使用户的体验感更佳。
另外,本发明实施方式提供的受限最短距离查询方法,所述根据所述用户查询信息生成 查询指令发送至服务器,包括:根据预先设定的公路网图结合所述查询地,生成加密查询节 点;根据所述相关关键词生成加密关键词集;根据所述约束条件生成约束过滤树;将所述加 密查询地节点、所述加密关键词集、和所述约束过滤树以指令的形式发送至所述服务器。在 客户端将用户的查询请求进行处理并加密,使加密的密钥只保存在客户端,而不上传到服务 器,使数据更安全。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不 构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别 申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式提供的受限最短距离查询方法的流程图;
图2是本发明的第一实施方式提供的加密关键词索引获取方法的流程图;
图3是本发明的第一实施方式提供的加密关键词索引的结构示意图;
图4是本发明的第一实施方式提供的基于树的密文比较协议原理示意图;
图5是本发明的第一实施方式提供的二跳覆盖标签索引示意图;
图6是本发明的第二实施方式提供的受限最短距离查询方法的流程图;
图7是本发明的第三实施方式提供的受限最短距离查询系统的结构示意图;
图8是本发明的第四实施方式提供的受限最短距离查询系统的结构示意图;
图9是本发明的第五实施方式提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实 施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中, 为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于 以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定, 各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种受限最短距离查询方法,应用于服务器上,具体流程如 图1所示。
步骤101,接收客户端发送的查询指令,获取加密查询地节点、加密关键词集和约束过 滤树。
在本实施方式中,客户端将用户的查询信息进行处理,发送至服务器,由于服务器承担 存储和查询计算的任务,对服务器的设备要求较高,因此可以选择云端服务器用来存储和处 理数据。
但由于云端服务器的远程性和多用户操作性,指令传输、指令处理及数据存储的安全性 显的尤为重要,因此在客户端将用户的查询信息进行加密,密钥存储于客户端中,云端服务 器中不存储密钥,使得云端服务器接收到的查询指令信息为加密后的,且在查询处理中也是 在加密过程中进行的,最大程度的保障了数据的安全。
步骤102,根据预先设置的加密关键词索引生成包含所述加密关键词集的相关节点,所 述加密关键词索引根据公路网图建立。
在云端服务器中预先存储了加密关键词索引和加密距离索引,以索引替代了原有的公路 网图,由于公路网图占用内存空间大,如果直接使用图来查询最短距离,将耗费许多的资源 和时间,因此将图转化为索引,极大的降低存储空间,减轻客户的存储负担。
加密关键词索引的建立方法如图2所示:
S201,将公路网图中的每一个预设关键词基于通配符的方法生成其模糊关键词集合,存 放到关键词索引中的头结点中。
预设关键词w的基于通配符的编辑距离为d的预设模糊词集用Sw,d={S′w,0,S′w,1,S′w,2...S′w,d} 表示。S′w,τ表示w′伴随着τ个通配符的预设模糊词集。例如,对于“SET”这个预设关键词, 编辑距离为1的词集合为SSET,1={SET,*SET,S*ET,SE*T,SET*,*ET,S*T,SE*}。给定一个长度为len 的关键词,编辑距离为1的模糊词集和一共由2*(len+1).编辑距离是2的有
Figure BDA0002824176790000051
编辑距离是3的有
Figure BDA0002824176790000052
S202,将包含预设关键词的节点的标识符存放在关键词索引中头结点的后续节点中。
以SE*为例,包含SE*的节点标识符为a、b、c,如图3所示。
S203,对预设关键词及预设模糊关键词进行伪随机码加密。
Figure BDA0002824176790000053
其中,K1为伪随机码加密密钥,PRF为随机码加密,ω为关键词,lab为关键词集。
S204,对节点标识符进行确定性加密。
S205,将加密后的头结点中内容和后续节点中内容结合,作为加密关键词索引。
具体地,首先初始化一个空字典D1存放最后生成的加密索引。为了支持模糊关键词查询, 对每一个关键词ωi,(1≤i≤n)需要构建一个模糊关键词集
Figure BDA0002824176790000054
表示关键词wi的编辑距离小于 等于d的模糊词集合。当d=0的时候
Figure BDA0002824176790000055
就表示关键词wi本身。在集合
Figure BDA0002824176790000056
中我们使用
Figure BDA0002824176790000057
Figure BDA0002824176790000058
表示集合中第t个模糊词。对于集合中的每一个模糊词我们用伪随机函数进行加密 即
Figure BDA00028241767900000513
关键词w的所有模糊词的加密结果被放到Labw中,放到关 键词索引中的第一个节点中。关键词w的索引中的其余节点存放包含该关键词的节点加密结 果。V[w]表示包含关键词wi的节点集合。对于集合中的每一项v∈V[ω],我们进行二轮加密。 第一轮加密是为了隐藏节点信息,因为后续需要寻找两条索引中的公共节点,所以一轮加密 选择确定性加密,方便比较两个密文是否相等,加密过程如下:encv←DET.Enc(K2,v)。第 二轮加密是为了防止查询没有涉及到的索引条目泄露,如果只有一轮加密,那么云服务器可 以根据密文的关系推断出索引之间的公共节点信息。所以二轮加密选择安全性更强的对称加 密。对称加密选的密钥是与对应关键词相关的,根据每一个关键词wi生成一个
Figure BDA0002824176790000059
注意这里的wi,1是指wi的模糊关键词中的第一个词(d=0)也就是 wi本身。把生成的
Figure BDA00028241767900000510
作为对称加密的密钥对节点标识符进行二轮加密
Figure BDA00028241767900000511
所有包含wi的节点二轮加密结果
Figure BDA00028241767900000512
都被放在Lw中。Lw和之 前生成的Labw(Labw,Lw)一起构成了加密的关键词索引,将其存放到字典D1中。
在建立好加密关键词索引后,通过加密关键词索引可以得到包含加密关键词集的节点: 将加密关键词集中每一项关键词与加密关键词索引中头结点中的值进行比较,获取所述加密 关键词集中每一项关键词所在的节点索引条目;根据节点索引条目获取包含加密关键词集的 相关节点;
步骤103,根据所述约束过滤树将不符合约束条件的所述相关节点过滤掉。
在本实施方式中,利用基于树的密文比较协议来过滤不满足约束值的节点,具体地如图 4所示:
基于树的密文比较协议的主要思想是使用OPE对整数进行编码。如果想比较x+y和θ的 大小关系,我们可以比较x和
Figure RE-GDA0002949981050000061
以及y和
Figure RE-GDA0002949981050000062
如果
Figure RE-GDA0002949981050000063
Figure RE-GDA0002949981050000064
可以确定x+y>θ,或者如果
Figure RE-GDA0002949981050000065
Figure RE-GDA0002949981050000066
可以确定x+y≤θ。。如果
Figure RE-GDA0002949981050000067
Figure RE-GDA0002949981050000068
或者
Figure RE-GDA0002949981050000069
Figure RE-GDA00029499810500000610
则无法比较x+y与θ的关系。 此时我们可以比较分别比较x与
Figure RE-GDA00029499810500000611
以及y与
Figure RE-GDA00029499810500000612
的大小关系。通过迭代执行这样的操作,我们可 以确定x+y之间的关系。由于保序加密(Order-Preserving Encoding,OPE)具有的保持顺序 的属性,因此可以很容易地对密文执行上述操作。
步骤104,根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述查询地节 点间的距离进行排序,所述加密距离索引通过所述公路网图建立。
根据步骤103可以得知,加密关键词索引和加密距离索引为依照公路网图预先建立并进 行存储的,加密距离索引的建立方法如下:
为了得到距离查询节点前k近的节点,需要计算查询地节点和其余节点之间的距离然后 根据距离值选择出前k个节点。首先对公路图构建二跳覆盖标签(2-Hop coverlabel index, 2HCL)索引,选择剪枝的广度优先搜索算法来构建2HCL索引。
具体地,设无向图G=(V,E)是为公路网图,V表示其节点集合,E表示边集合。图G的二跳覆盖标签索引是指给图中每一个节点v∈V分配一个标签L(v),L(v)是由(u,d)的对组成的。表示的含义是节点v到节点u的距离是d。对于任意的s,t∈V,s和t之间的最短距离可以表示成minx∈L(s)∩x∈L(t){d(s,x)+d(x,t)}.标签的集合{L(v)}被称为图G的2跳覆盖标签索引。从每 一个节点开始,进行一次广度优先搜索算法并将距离信息值添加到正在访问节点的标签中。 在进行广度优先搜索时进行修建以提高搜索效率。假设S是节点标签集合,并且如果两节点 之间的最短路径经过S中的一个节点那么就有一个能够正确回答这两节点之间距离的标签。 假设从节点v进行广度优先搜索,并且正在访问节点u。如果有一个节点w∈S,满足 d(v,u)=d(v,w)+d(w,u),则节点u被剪去,也就意味着无需遍历从节点u出发的任何边,从节 点v开始的剪枝的广度优先搜索完成后,如果两节点之间的最短路径经过S∪{v}中的一个节 点则生成的标签能够回答他们之间的距离。
同时为了在发明中实现受限最短距离查询,需要在二跳覆盖标签索引中添加成本信息(约 束条件)。这里涉及一个d-dominates原则。当从节点s到节点t有两条路径P1,P2时,如果 c(P1)<c(P2)且d(P1)≤α*d(P2)则称P1路径优于P2。在构建二跳索引的时候运用此原则可以使 生成的索引能求出受限的最短距离。
用L(v)表示公路网图每个节点对应的三元组列表,(v,L(v))则表示节点v的2HCL索引。 对于每一对(v,L(v)),首先加密节点标识符encv←DET.Enc,DET为确定性加密,对于每一 个(u,d,c)∈L(v),分别加密节点标识符u以及距离值d和成本值c。
具体地,通过连接两条索引中的公共节点可以计算两节点之间的最短路径以及成本。例 如在图5中查询节点b到d的最短路径,可以看出有两队公共节点,经过节点a算得的最短 距离是13,最短路上对应的成本是8,经过节点b算得的最短距离是10,对应的成本值是1。 由此可以得出b和d之间的最短距离是10。构建加密的2HCL索引首先初始化一个D2空字 典用来存放生成的加密索引。
对于每一个(u,d,c)∈L(v),加密其节点labu←PRF(K1,u||′lab′)。距离值d使用保序加密, 因为最短距离是两个数字的和,比较最短距离时需要比较的是和的大小,所以选择可以在加 操作之后保持次序信息的特殊的保序加密方式隐藏距离值,Du,v←OPE(K3,d)。两个成本值 的和则是需要和约束值相比较,判断是否满足约束要求,所以也使用保序加密。 Cu,v←OPE(K4,c)将加密的节点标识符v和加密的L(v)存放到字典D2中。
需要说明的是,保序加密是一种确定性加密方案,能够保留纯文本的数字顺序,并且可 以将较操作直接应用于加密的数据,而无需解密。同时,使用OPE加密的数据的查询处理结 果是准确的。它们既不包含任何误报,也不会丢失任何答案元组。OPE能很好地处理更新。 可以修改列中的值,也可以在列中插入新值,而无需更改其他值的加密。
具体地,保序加密是从一组明文(P)到一组密文(C)的内射映射(F):F:P→C。
令m≤n,P={i|1≤i≤m}是一组明文,C={i|1≤i≤n}是密文集。SEm,n=(Km,n,Em,n,Dm,n)是确定 性对称加密方案,其中Km,n:{0,1}*→{0,1}*是密钥生成函数Em,n:P×{0,1}*→C是确定性的对称加 密算法,
Figure BDA0002824176790000071
是解密算法,使得对于所有的x∈P和任何有效的密钥K,
Figure BDA0002824176790000072
成立。
本发明中因为需要比较加操作之后的数值的大小关系,所以对于OPE稍作改进。对于任 意的明文m∈P,经过加密算法得到密文c,Encrypt:m×{0,1}*+r→c,其中r是一个随机数取值 范围为
Figure BDA0002824176790000081
.Compare(c1+c2,c3+c4)是比较算法,使得对于任意的四个整数m1,m2,m3,m4和任何有 效的密钥K,
Figure BDA0002824176790000082
成立。
在2HCL索引中找到相关节点对应的索引表和查询地节点对应的索引表,比较查询节点 到其余节点索引中的公共节点信息,计算其最短路径和最短路上对应的成本值。用约束过滤 树对不满足约束的节点进行过滤,对满足约束要求的节点进行排序返回前k个结果的集合给 客户端。
需要说明的是,返回k个结果集合,k值可以为用户约定或开发商预先设定,此处不做 限制。
步骤105,按照排序结果将符合约束条件的相关节点组成查询结果集发送至客户端,所 述查询结果集为加密状态。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些 步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对 算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的 核心设计都在该专利的保护范围内。
本发明实施方式相对于相关技术而言,将用户的查询指令在客户端就进行加密,且在查 询过程中不进行解密,查询结果也是加密状态的返回,使得指令在传输的过程中更安全;通 过预先设置的加密关键词索引和加密距离索引,以索引替代原有的公路网图,减少了存储量, 节约了更多空间,也可以使查询索引速度更快,并且,索引为加密的存储在服务器中,避免 了公路数据泄露;根据用户的需求可以查询到即满足关键词又满足约束条件的地点,使用户 具有更好的使用感,提高了人性化效果;同时,对每一个关键词都进行模糊关键词运算,使 得用户在输入有误的关键词时,依然能够用查询到用户需要的信息,提高了设备是可用性, 使用户的体验感更佳。
本发明的第二实施方式涉及一种受限最短距离查询方法,应用于客户端,具体流程如图 6所示。
步骤601,获取用户的查询信息,所述查询信息包括查询地、相关关键词和约束条件。
例如,用户想要查询在协和医院(v)附近的药店(w),且打车成本不超过30元(θ),其 中协和医院为查询地,药店为相关关键词,不超过30元为约束条件。
步骤602,根据所述用户查询信息生成查询指令发送至服务器。
用户想要知道距离节点v前k近包含关键词w且约束不超过θ的节点。客户端首先根据 查询信息生成一个查询指令送给云,其中查询指令可以为陷门Token。首先对于查询关键词w, 生成他的模糊关键词集Sω,d,然后对于模糊词集中的每一个词进行加密
Figure BDA0002824176790000094
这些加密之后的词被放到Labw中。因为后续需要2HCL索引中的公共节点需要解密一轮加密结果,所以对于查询关键词需要生成一个特殊的密钥keyw←PRF(K1,w||′key′)。对于查询节点v生成encv←DET.Enc(K2,v)用来在2HCL索引中计算 查询节点到其余节点的最短距离。同时为了完成约束过滤,客户端需要根据约束值θ生成一 颗约束过滤树,通过这颗树能实现密文下两个整数的比较,从而过滤出不满足约束条件的节 点。构造的约束树用Tθ表示。客户端生成的陷门就由以上几部分组成T={k,Labw,keyw,encv,Tθ}。
步骤603,对服务器返回的查询结果集按照预先设定的密钥集进行解密,获取到所述在 所述约束条件下的,具有相关关键词的,与所述查询地距离最短的地点集。
密钥集为K,其中包含四个密钥K1,K2,K3,K4
Figure BDA0002824176790000091
被用于伪随机加密(PRF) 加解密关键词集;
Figure BDA0002824176790000092
被用于确定性加密(DET),加解密查询地节点;
Figure BDA0002824176790000093
作 为保序加密的密钥分别用来隐藏距离值和约束值。
客户端通过密钥集将查询结果集进行解密,获取到k个与查询地距离最近的,且符合关 键词要求和约束条件的节点。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些 步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对 算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的 核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种受限最短距离查询系统,如图7所示,包括:
接收模块701,用于接收客户端发送的查询指令,获取加密查询地节点、加密关键词集 和约束过滤树;
筛选模块702,用于根据预先设置的加密关键词索引生成包含所述加密关键词集的相关 节点,所述加密关键词索引根据公路网图建立;根据所述约束过滤树将不符合约束条件的所 述相关节点过滤掉;根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述查询 地节点间的距离进行排序,所述加密距离索引通过所述公路网图建立;
发送模块703,用于按照排序顺序将符合约束条件的相关节点组成查询结果集发送至客 户端,所述查询结果集为加密状态。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实 施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了 减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施 方式中。
本发明第四实施方式涉及一种受限最短距离查询系统,如图8所示,包括:
接收模块801,用于获取用户的查询信息,所述查询信息包括查询地、相关关键词和约 束条件;
发送模块802,用于根据所述用户查询信息生成查询指令发送至服务器;
解密模块803,用于对服务器返回的查询结果集按照预先设定的密钥集进行解密,获取 到所述在所述约束条件下的,具有相关关键词的,与所述查询地距离最短的地点集。
由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合 实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所 能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地, 本实施方式中提到的相关技术细节也可应用在第二实施方式中。
值得一提的是,第三和第四实施方式中所涉及到的各模块均为逻辑模块,在实际应用中, 一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单 元的组合实现。此外,为了突出本发明的创新部分,第三和第四实施方式中并没有将与解决 本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它 的单元。
本发明第五实施方式涉及一种电子设备,如图9所示,包括:
至少一个处理器901;以及,
与所述至少一个处理器901通信连接的存储器902;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理 器执行,以使所述至少一个处理器能够执行如第一实施例和第二实施例任一所述的受限最短 距离查询方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥, 总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳 压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此, 本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个 元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装 置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收 数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压 调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的 数据。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指 令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可 以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分 步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、 随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码 的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实 际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种受限最短距离查询方法,其特征在于,包括:
接收客户端发送的查询指令,获取加密查询地节点、加密关键词集和加密约束过滤树;
根据预先设置的加密关键词索引结合所述加密关键词集,生成包含所述加密关键词集的相关节点,其中,所述加密关键词索引根据公路网图建立;
根据所述加密约束过滤树将不符合约束条件的所述相关节点过滤掉;
根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述加密查询地节点间的距离进行排序,所述加密距离索引通过所述公路网图建立;
按照排序结果将符合约束条件的相关节点组成查询结果集发送至客户端,所述查询结果集为加密状态。
2.根据权利要求1所述的受限最短距离查询方法,其特征在于,所述根据预先设置的关键词索引生成包含所述加密关键词集的相关节点,包括:
将所述加密关键词集中每一项关键词与所述加密关键词索引中头结点中的值进行比较,获取所述加密关键词集中每一项关键词所在的节点索引条目;
根据所述节点索引条目获取包含所述加密关键词集的所述相关节点。
3.根据权利要求1所述的受限最短距离查询方法,其特征在于,所述根据预先设定的加密距离索引,按照过滤后的所述相关节点与所述查询地节点间的距离进行排序,包括:
根据所述加密距离索引,获取所述相关节点与所述加密查询地节点对应的距离索引表;
比较所述相关节点的距离索引表与所述加密查询地节点的距离索引表,获取所述索引表中公共节点信息;
将所述公共节点按照距离进行排序,生成排序结果。
4.根据权利要求1所述的受限最短距离查询方法,其特征在于,获取所述加密关键词索引包括:
对预先设定的预设关键词基于通配符的方法生成预设模糊关键词集;
将所述预设关键词和所述预设模糊关键词集存放于所述关键词索引的头结点;
通过公路网图获取包含所述预设关键词及所述预设模糊关键词的节点标识符,存放于所述关键词索引中所述头结点后的后续结点;
将所述关键词索引按照预先设定的密钥集进行加密,作为所述加密关键词索引。
5.根据权利要求1所述的受限最短距离查询方法,其特征在于,获取所述加密距离索引包括:
根据剪枝的广度优先搜索算法获取公路网图的二跳覆盖标签索引;
对所述二跳覆盖标签索引按照预先设定的密钥集进行加密生成所述加密距离索引。
6.一种受限最短距离查询方法,其特征在于,包括:
获取用户的查询信息,所述查询信息包括查询地、相关关键词和约束条件;
根据所述用户查询信息生成查询指令发送至服务器,所述查询指令根据预先设定的密钥集进行加密,其中所述查询指令包括加密查询地节点、加密关键词集和加密约束过滤树;
对服务器返回的查询结果集按照所述密钥集进行解密,获取到在所述约束条件下的,具有相关关键词的,与所述查询地距离最短的地点集。
7.根据权利要求6所述的受限最短距离查询方法,其特征在于,所述根据所述用户查询信息生成查询指令发送至服务器,包括:
根据预先设定的公路网图结合所述查询地,生成加密查询节点;
根据所述相关关键词生成加密关键词集;
根据所述约束条件生成加密约束过滤树;
将所述加密查询地节点、所述加密关键词集、和所述加密约束过滤树以指令的形式发送至所述服务器。
8.根据权利要求6所述的受限最短距离查询方法,其特征在于,所述密钥集包括四个密钥,分别对应用于加解密关键词集、加解密查询节点、加解密距离值和加解密所述约束过滤树。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一所述的受限最短距离查询方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的受限最短距离查询方法。
CN202011421465.6A 2020-12-08 2020-12-08 受限最短距离查询方法、电子设备和可读存储介质 Active CN112632063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011421465.6A CN112632063B (zh) 2020-12-08 2020-12-08 受限最短距离查询方法、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011421465.6A CN112632063B (zh) 2020-12-08 2020-12-08 受限最短距离查询方法、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112632063A true CN112632063A (zh) 2021-04-09
CN112632063B CN112632063B (zh) 2023-06-09

Family

ID=75308529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011421465.6A Active CN112632063B (zh) 2020-12-08 2020-12-08 受限最短距离查询方法、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112632063B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168802A (zh) * 2021-12-09 2022-03-11 青岛大学 节点关系的数据生成方法和装置、查询方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036023A1 (en) * 2010-08-04 2012-02-09 Yahoo! Inc. System for conducting demand-side, real-time bidding in an advertising exchange
US20130173917A1 (en) * 2011-12-30 2013-07-04 Christopher J. Clifton Secure search and retrieval
CN103593476A (zh) * 2013-11-28 2014-02-19 中国科学院信息工程研究所 一种面向云存储的多关键词明密文检索方法和系统
CN110851481A (zh) * 2019-11-08 2020-02-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036023A1 (en) * 2010-08-04 2012-02-09 Yahoo! Inc. System for conducting demand-side, real-time bidding in an advertising exchange
US20130173917A1 (en) * 2011-12-30 2013-07-04 Christopher J. Clifton Secure search and retrieval
CN103593476A (zh) * 2013-11-28 2014-02-19 中国科学院信息工程研究所 一种面向云存储的多关键词明密文检索方法和系统
CN110851481A (zh) * 2019-11-08 2020-02-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈兰香;周书明;: "云存储中基于二进制向量索引的密文云数据排序查询方法", 计算机应用与软件, no. 03 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168802A (zh) * 2021-12-09 2022-03-11 青岛大学 节点关系的数据生成方法和装置、查询方法、装置及系统

Also Published As

Publication number Publication date
CN112632063B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
Luo et al. pRide: Privacy-preserving ride matching over road networks for online ride-hailing service
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
EP3342090A1 (en) Method for providing encrypted data in a database and method for searching on encrypted data
CN110457930A (zh) 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统
CN111556495A (zh) 一种在车联网环境下的多用户可搜索加密方法及加密系统
Xi et al. Privacy preserving shortest path routing with an application to navigation
CN109739945B (zh) 一种基于混合索引的多关键词密文排序检索方法
KR20100062013A (ko) 결합 키워드를 이용한 데이터 암호화 방법 및 데이터 검색방법
CN108021677A (zh) 云计算分布式检索引擎的控制方法
WO2018070932A1 (en) System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
CN111556048B (zh) 一种支持密文模式匹配的属性基安全通信方法及系统
Ananthi et al. FSS-SDD: fuzzy-based semantic search for secure data discovery from outsourced cloud data
CN108197491A (zh) 一种基于密文的子图检索方法
CN112632063B (zh) 受限最短距离查询方法、电子设备和可读存储介质
CN114254344A (zh) 一种基于区块链的共享数据库的隐私数据范围查询方法
CN106874379B (zh) 一种面向密文云存储的多维区间检索方法与系统
US20230006813A1 (en) Encrypted information retrieval
CN108141462B (zh) 数据库查询的方法和系统
CN103297962B (zh) 一种基于加密模糊关键字的机会网络路由方法及系统
CN115510490A (zh) 一种非密钥共享的加密数据查询方法、装置、系统及设备
KR101942763B1 (ko) 암호화 인덱스 기반 영역 질의 처리 방법 및 영역 질의 처리 시스템
Xu et al. Practical and privacy-preserving geo-social-based POI recommendation
CN109582818B (zh) 一种基于可搜索加密的曲库云检索方法
CN113158087B (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