CN108197491A - 一种基于密文的子图检索方法 - Google Patents

一种基于密文的子图检索方法 Download PDF

Info

Publication number
CN108197491A
CN108197491A CN201711470828.3A CN201711470828A CN108197491A CN 108197491 A CN108197491 A CN 108197491A CN 201711470828 A CN201711470828 A CN 201711470828A CN 108197491 A CN108197491 A CN 108197491A
Authority
CN
China
Prior art keywords
ciphertext
path
database
represent
data
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
CN201711470828.3A
Other languages
English (en)
Other versions
CN108197491B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201711470828.3A priority Critical patent/CN108197491B/zh
Publication of CN108197491A publication Critical patent/CN108197491A/zh
Application granted granted Critical
Publication of CN108197491B publication Critical patent/CN108197491B/zh
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
    • 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
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/242Query formulation
    • 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于数据库安全技术领域,公开了一种基于密文的子图检索方法,数据拥有者生成数据密钥和检索密钥,生成图集数据库的路径表示,建立数据库索引,用数据密钥加密数据库的路径表示,用检索密钥加密数据库索引;客户端根据查询图生成查询请求;云服务器在密文上检索子图;客户端解密返回的数据集,获取结果集。本发明没有添加噪声边和额外顶点,最终得到的是准确结果集,不存在误报。并且客户端只存储了自己的查询图,不需要备份完整的数据库,减少了客户端的计算和存储开销。适用于轻量级加密原语且不影响算法的查询复杂度。

Description

一种基于密文的子图检索方法
技术领域
本发明属于数据库安全技术领域,涉及密文检索问题。具体是指基于密文的子图检索方法,可用于图集数据库的安全外包。
背景技术
子图检索是图集数据库中最基本的查询之一,有着广泛的应用,如社交网络,交通网络,生物网络,知识库,计算机视觉和网页交换数据等。子图检索也是大数据分析最基本的功能之一,广泛应用于如化学分子结构式,图像实体关系以及社会网络等等。在图集中找到包含查询子图的所有图已知是NP完全问题,使用云可以使用户避免昂贵的基础设施成本,由于商业,法律或数据本身的原因,用户在上传数据之前需要对数据进行加密防止隐私泄露。随着外包数据集到云服务器的热潮,各个企业和组织都急需又快又安全的子图检索算法来处理外包图集数据。
目前现有密码技术和子图检索算法并不能很好地解决这个问题。现行大部分可检索加密方案,如专利“一种面向云计算应用的同态加密密文检索方法”,仅适用于特定形式的数据检索,不能用于处理图结构下的子图检索。图数据不仅数据内容需要加密,结构信息更需要保护。一些技术已经被提出,但仍存在缺陷,如文章“k-automorphism:a generalframework for privacy preserving network publication”中所述方法,由于噪声边和额外顶点的添加,会返回关于子图的误报。而“Privacy Preserving Subgraph Matchingon Large Graphs in Cloud”中所述方法使客户端为过滤误报必须在本地备份完整数据库数据,显然与用户外包数据到云服务器以节省本地存储的初衷不符。
所以,现有基于密文的子图检索方法仍然存在限制,使得他们离安全实用有一定的差距。
发明内容
本发明提出一种新的基于密文的子图检索方法,主要解决上述传统方法不能得到准确结果,存在误报,需要本地数据库完整备份的问题。为实现上述目的,本发明的基于密文的子图检索方法,包括如下步骤:
数据拥有者生成数据密钥和检索密钥;数据拥有者生成图集数据库的路径表示,建立数据库索引;数据拥有者用数据密钥加密数据库路径表示,用检索密钥加密数据库索引;客户端根据查询图生成查询请求;云服务器在密文上检索子图;客户端解密返回的数据集,获取结果集。
进一步,所述数据拥有者生成密钥具体包括:数据拥有者选择对称加密算法E1和保序加密算法E2,执行E1和E2对应的密钥生成算法得到数据密钥k1和检索密钥k2。然后将数据密钥k1和检索密钥k2发送给合法数据用户。
进一步,所述数据拥有者建立数据库索引具体包括:
(1)数据拥有者按照图的路径表示方法生成图集数据库中图gj的路径表示Gj,图gj由顶点和边组成,j∈[1,m],m∈N+,v(l)表示图的顶点,l为顶点标签,表示顶点属性,e表示图的边,无向且未标记;j∈[1,m],m∈N+,pi表示标签路径,i∈N+,Pji表示图gj中标签路径pi对应的标号路径集合。
(2)利用哈希算法H对路径表示Gj中的标签路径pi求哈希值H(pi),i∈N+。将哈希值H(pi)作为哈希表A(aij)的键值,表中元素为aij,i∈N+,j∈[1,m],m∈N+,aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合。{H(pi),A(aij)}作为数据库索引。
进一步,所述数据拥有者加密数据具体包括:
(1)数据拥有者利用保序加密算法E2中的加密算法和检索密钥k2加密aij,得到加密后的数据库索引{H(pi),E2(A(aij))},aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合,i∈N+,j∈[1,m],m∈N+,pi表示标签路径,i∈N+,H(pi)表示标签路径pi的哈希值,E2(A(aij))={E2(aij)},A(aij)表示由aij组成的哈希表;
(2)利用对称加密算法E1中的加密算法和数据密钥k1,加密图集数据库的路径表示Gj,j∈[1,m]生成密文图集数据库E1(G),E1(G)表示集合{E1(Gj),j∈[1,m]},将加密的数据库索引{H(pi),E2(A(aij))}和密文图集数据库E1(G)发送给云服务器。
进一步,所述客户端生成查询请求具体包括:
(1)客户端利用查询图索引生成算法生成图q的索引q为查询图,表示客户端待查询的子图,pi'表示标签路径,i'∈N+,H(pi')表示标签路径pi'的哈希值,bi'表示标签路径pi'对应的标号路径集合的数量;
(2)利用保序加密算法E2中的加密算法和检索密钥k2,加密索引I得到查询请求发送给云服务器。
进一步,所述查询图索引生成算法包括:
第一步,给出查询图深度优先遍历生成树的线性表示;
第二步,将深度优先树中的分支分解成重叠标签路径的序列;重叠的情况:(1)对于连续标签路径,模式的最后一个节点与下一个模式的第一个节点;(2)如果某一节点有分支,则节点被包含在每一分支的第一模式中;(3)在一个循环中第一个被访问的节点出现两次:循环第一个模式的开头和循环最后一个模式的结尾。
进一步,所述云服务器查询子图具体包括:
(1)云服务器依据查询请求在加密的数据库索引{H(pi),E2(A(aij))}中查找相同键值H(pi')=H(pi),逐列比较对应的E2(bi')和E2(aij),bi'表示查询图q中标签路径pi'对应的标号路径集合的数量;aij表示图gj中对应键值H(pi)的标号路径集合的数量,i∈N+,j∈[1,m],m∈N+;在加密的数据库索引{H(pi),E2(A(aij))}第j列中,若查询请求I*中H(pi')对应的值E2(bi')大于键值H(pi)对应的值E2(aij),则丢弃该列,比较第j+1列;否则比较查询请求I*中H(pi'+1)对应的值E2(bi'+1)与相同键值H(pi+1)对应的值E2(ai+1,j);若第j列中所有对应查询请求的E2(aij)都不小于查询请求I*中的E2(bi'),则将图gj添加至候选集合C中,比较第j+1列;重复以上步骤,直到完成所有列的比较,得到候选集合C;i∈N+,j∈[1,m],m∈N+
(2)在密文图集数据库E1(G)={E1(Gj),j∈[1,m]}中取出候选集合C中图gj对应的路径集合{E1(Gj)|gj∈C},gj∈C表示候选集合C中的图,Gj为图gj的路径表示;将候选集合C和对应的路径集合{E1(Gj)|gj∈C}发送给客户端。
进一步,所述客户端解密数据获取结果集具体包括:
(1)客户端利用对称加密算法E1中的解密算法和数据密钥k1,解密候选集合C对应的路径集合{E1(Gj)|gj∈C}得到集合{Gj},{Gj}为候选集合C中图gj的路径表示;
(2)客户端根据查询图q利用校正算法和{Gj}得到最终结果,{Gj}为候选集合C中图gj的路径表示;校正算法指客户端在选择标号路径集后,对于步骤6中重叠情况(1)和(2),如果在重叠位置两个序列包含相同的标号节点,则这对序列被组合;在重叠情况(3)中,如果序列在重叠的位置不包含相同的标号节点则被删除;最后,如果不是放置在重叠位置的标号节点是相等的,则删除序列。即获得结果集。
本发明的另一目的在于提供一种图集数据库的安全外包算法。
本发明与现有技术相比具有以下优点:
1.安全性:本发明利用保序加密完成基于密文的子图检索,可有效保护数据拥有者的数据隐私和客户端的查询隐私。
证明:数据拥有者上传至云服务器存储和处理的数据都是经过对称加密(如AES)的,云服务器仅仅处理加密的索引信息,然后再将对应密文传送给客户端,由用户在本地完成密文的解密操作,然后根据查询图简单匹配获得最终结果。因此,在整个上传和过滤过程中,云服务器接触到的始终都是数据的密文形式,没有密钥,云服务器无法获取明文的任何信息,所以明文数据对云服务器和攻击者来说都是保密的。并且索引是路径序列的哈希值,由哈希函数的单向性(抗原像性)可知给定输出y在计算上找到消息x使得y=h(x)是不可行的。因此,本发明方法抵抗唯密文攻击(Ciphertext Only Attack)。在此安全模型下,云服务器推测原始明文是计算困难的,即攻击者仅能获得密文信息,但不会得知相应的明文下图信息。
2.正确性:本发明利用保序加密和图集数据库索引完成基于密文的子图检索,不存在误报。
证明:数据拥有者在生成数据库索引时没有添加噪声边和额外顶点,因此不会引入误差,最终用户在本地根据查询图简单匹配获得最终结果是准确的结果集,不存在误报。并且可保持数据记录线性检索。
3.有效性:客户端减少了存储和计算开销。
本发明中客户端仅负责上传查询请求和解密数据获取结果集。具体地,客户端不再需要存储数据库全体图数据备份,仅需要存储自己的查询子图q即可,节省了本地存储空间,使本地存储从O(n)阶复杂度降低到O(1),即其他方法需存储n个图,现在只需存储1个图;且客户端仅需分析候选图集中与查询模式对应的路径集合,使计算开销从图集数据库中图数量的线性阶复杂度O(n)降低到常数阶O(1),即原来需要的计算次数会随图集数据库的增大而不断增大,现在仅需常数次即可完成。
本发明 其他方法
客户端存储/计算复杂度 O(1) O(n)
附图说明
图1是本发明实施例提供的基于密文的子图检索方法流程图。
图2是本发明实施例提供的图的路径表示示例。
图3是本发明实施例提供的数据库索引示例。
图4是本发明实施例提供的查询图的索引示例;
图中:(a)查询图;(b)深度优先树;(c)模式;(d)索引。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明结合可在图集数据库中执行精确子图检索的明文算法和轻量级加密原语保序加密,使得提出的发明在解决之前工作中限制的同时兼顾正确性和安全性而不影响明文算法的查询复杂度。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于密文的子图检索方法具体包括以下步骤:
步骤一:数据拥有者生成密钥
数据拥有者选择对称加密算法E1(如AES)和保序加密算法E2(如mOPE),其中对称加密算法是指信息加密和密文解密使用相同密钥的加密算法,如AES;mOPE是指一种特殊类型的加密算法E:对于任意的明文p1和p2,其密文分别为c1=E(p1),c2=E(p2),E满足,若p1>p2,则c1>c2。通常包含三个算法,包括KeyGen,Enc和Dec。具体地:
k←KeyGen(1λ):利用一个安全参数λ,输出秘密密钥k。
[M]←Encsk(M):利用明文M和秘密密钥k,输出密文[M]。
M←Decsk([M]):利用密文[M]和秘密密钥k,输出明文M。其中[·]表示密文。
然后,数据拥有者执行对称加密算法E1(如AES)和保序加密算法E2(如mOPE)对应的密钥生成算法得到数据密钥k1和检索密钥k2
进一步,数据拥有者将数据密钥k1和检索密钥k2发送给合法数据用户。
步骤二:数据拥有者建立索引
如图2和图3,具体实现如下:
数据拥有者按照图的路径表示方法生成图集数据库中图gj的路径表示Gj,图gj由顶点和边组成,即j∈[1,m],m∈N+,v(l)表示图的顶点,l为顶点标签,表示顶点属性,e表示图的边,无向且未标记;j∈[1,m],m∈N+,pi表示标签路径,i∈N+,Pji表示图gj中标签路径pi对应的标号路径集合。这里图的路径表示方法是指,对图的每个节点,找到从该节点开始并具有长度1(单个节点)直到常数值n(n个节点,如:10)的所有路径。为简化问题,对数据库中所有图使用相同的n。将有相同标签路径的标号路径分入一个集合。即图的“路径表示”在这里指图中标签路径的集合,其中每一个标签路径都有一个标号路径集合。
其中,标签路径是指n个顶点的标签序列,其中这n个顶点中任意两个连续顶点之间存在一条边。类似的,标号路径是指n个顶点的标号序列,其中这n个顶点中任意两个连续顶点之间存在一条边。
然后,利用哈希算法H对路径表示Gj中的标签路径pi求哈希值H(pi),i∈N+。其中哈希算法是指,一种映射,H:{0,1}*→{0,1}n,将任意有限长的消息M∈{0,1}*映射为固定长度n的比特串H(M),其中,H(M)是哈希值或者消息索引。
进一步,将上述哈希值H(pi)作为哈希表A(aij)的键值。表中元素为aij,i∈N+,j∈[1,m],m∈N+,aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合。将{H(pi),A(aij)}作为数据库索引。
步骤三:数据拥有者加密数据
数据拥有者利用保序加密算法E2中的加密算法和检索密钥k2加密aij,得到加密后的数据库索引{H(pi),E2(A(aij))},aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合,i∈N+,j∈[1,m],m∈N+,pi表示标签路径,i∈N+,H(pi)表示标签路径pi的哈希值,E2(A(aij))={E2(aij)},A(aij)表示由aij组成的哈希表。
然后,利用对称加密算法E1中的加密算法和数据密钥k1,加密图集数据库的路径表示Gj,j∈[1,m],生成密文图集数据库E1(G),E1(G)表示集合{E1(Gj),j∈[1,m]}。将加密的数据库索引{H(pi),E2(A(aij))}和密文图集数据库E1(G)发送给云服务器。
步骤四:客户端生成查询请求
如图4所示,具体实现步骤如下:
客户端利用查询图索引生成算法生成图q的索引q为查询图,表示客户端待查询的子图,pi'表示标签路径,i'∈N+,H(pi')表示标签路径pi'的哈希值,bi'表示标签路径pi'对应的标号路径集合的数量。其中查询图索引生成算法是指,第一步给出查询图深度优先遍历生成树的线性表示,第二步将深度优先树中的分支分解成重叠标签路径的序列,也称之为长度为n或更小的模式。其中,深度优先遍历生成树是指按照深度优先搜索生成的树。其中重叠可能出现在以下情况:
(1)对于连续标签路径,模式的最后一个节点与下一个模式的第一个节点;
(2)如果某一节点有分支,则该节点被包含在每一分支的第一模式中;
(3)在一个循环中第一个被访问的节点出现两次:循环第一个模式的开头和循环最后一个模式的结尾(第一和最后一个模式可以相同)。
进一步,利用保序加密算法E2中的加密算法和检索密钥k2,加密索引I得到查询请求发送给云服务器。
步骤五:云服务器查询子图
云服务器依据查询请求在加密的数据库索引{H(pi),E2(A(aij))}中查找相同键值H(pi')=H(pi),然后按下面步骤逐列比较对应的E2(bi')和E2(aij),bi'表示查询图q中标签路径pi'对应的标号路径集合的数量;aij表示图gj中对应键值H(pi)的标号路径集合的数量,i∈N+,j∈[1,m],m∈N+。在加密的数据库索引{H(pi),E2(A(aij))}第j列中,若查询请求I*中H(pi')对应的值E2(bi')大于键值H(pi)对应的值E2(aij),则丢弃该列,比较第j+1列;否则比较查询请求I*中H(pi'+1)对应的值E2(bi'+1)与相同键值H(pi+1)对应的值E2(ai+1,j)。若第j列中所有对应查询请求的E2(aij)都不小于查询请求I*中的E2(bi'),则将图gj添加至候选集合C中,比较第j+1列。重复以上步骤,直到完成所有列的比较,得到候选集合C。i∈N+,j∈[1,m],m∈N+
然后,在密文图集数据库E1(G)={E1(Gj),j∈[1,m]}中取出候选集合C中图gj对应的路径集合{E1(Gj)|gj∈C},gj∈C表示候选集合C中的图,Gj为图gj的路径表示。将候选集合C和对应的路径集合{E1(Gj)|gj∈C}发送给客户端。
步骤六:客户端解密数据获取结果集
客户端利用对称加密算法E1中的解密算法和数据密钥k1,解密候选集合C对应的路径集合{E1(Gj)|gj∈C}得到集合{Gj},{Gj}为候选集合C中图gj的路径表示。客户端根据查询图q利用校正算法和{Gj}得到最终结果。{Gj}为候选集合C中图gj的路径表示。其中校正算法是指,在候选集合中去除不精确匹配查询图的方法。在选择标号路径集后,识别重叠的标号路径序列并连接它们(去除重叠)以构建匹配子图。对于步骤四中的重叠情况(1)和(2)如果在重叠位置两个序列包含相同的标号节点,则这对序列被组合。在重叠情况(3)中,如果序列在重叠的位置不包含相同的标号节点则被删除;最后,如果不是放置在重叠位置的标号节点是相等的,则删除序列。得到查询子图的准确结果集。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于密文的子图检索方法,其特征在于,所述基于密文的子图检索方法包括以下步骤:数据拥有者生成数据密钥和检索密钥;数据拥有者生成图集数据库的路径表示,建立数据库索引;数据拥有者用数据密钥加密数据库路径表示,用检索密钥加密数据库索引;客户端根据查询图生成查询请求;云服务器在密文上检索子图;客户端解密返回的数据集,获取结果集。
2.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述数据拥有者生成密钥具体包括:数据拥有者选择对称加密算法E1和保序加密算法E2,执行E1和E2对应的密钥生成算法得到数据密钥k1和检索密钥k2;然后将数据密钥k1和检索密钥k2发送给合法数据用户。
3.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述数据拥有者建立数据库索引具体包括:
(1)数据拥有者按照图的路径表示方法生成图集数据库中图gj的路径表示Gj,图gj由顶点和边组成,j∈[1,m],m∈N+,v(l)表示图的顶点,l为顶点标签,表示顶点属性,e表示图的边,无向且未标记;j∈[1,m],m∈N+,pi表示标签路径,i∈N+,Pji表示图gj中标签路径pi对应的标号路径集合;
(2)利用哈希算法H对路径表示Gj中的标签路径pi求哈希值H(pi),i∈N+;将哈希值H(pi)作为哈希表A(aij)的键值,表中元素为aij,i∈N+,j∈[1,m],m∈N+,aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合。{H(pi),A(aij)}作为数据库索引。
4.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述数据拥有者加密数据具体包括:
(1)数据拥有者利用保序加密算法E2中的加密算法和检索密钥k2加密aij,得到加密后的数据库索引{H(pi),E2(A(aij))},aij表示集合Pji中元素的数量,Pji表示图gj中标签路径pi对应的标号路径集合,i∈N+,j∈[1,m],m∈N+,pi表示标签路径,i∈N+,H(pi)表示标签路径pi的哈希值,E2(A(aij))={E2(aij)},A(aij)表示由aij组成的哈希表;
(2)利用对称加密算法E1中的加密算法和数据密钥k1,加密图集数据库的路径表示Gj,j∈[1,m],生成密文图集数据库E1(G),E1(G)表示集合{E1(Gj),j∈[1,m]}。将加密的数据库索引{H(pi),E2(A(aij))}和密文图集数据库E1(G)发送给云服务器。
5.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述客户端生成查询请求具体包括:
(1)客户端利用查询图索引生成算法生成图q的索引q为查询图,表示客户端待查询的子图,pi'表示查询图中的标签路径,i'∈N+,H(pi')表示标签路径pi'的哈希值,bi'表示标签路径pi'对应的标号路径集合的数量;
(2)利用保序加密算法E2中的加密算法和检索密钥k2,加密索引I得到查询请求发送给云服务器。
6.如权利要求5所述的基于密文的子图检索方法,其特征在于,所述查询图索引生成算法包括:
第一步,给出查询图深度优先遍历生成树的线性表示;
第二步,将深度优先树中的分支分解成重叠标签路径的序列;重叠的情况:(1)对于连续标签路径,模式的最后一个节点与下一个模式的第一个节点;(2)如果某一节点有分支,则节点被包含在每一分支的第一模式中;(3)在一个循环中第一个被访问的节点出现两次:循环第一个模式的开头和循环最后一个模式的结尾。
7.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述云服务器查询子图具体包括:
(1)云服务器依据查询请求在加密的数据库索引{H(pi),E2(A(aij))}中查找相同键值H(pi')=H(pi),逐列比较对应的E2(bi')和E2(aij),bi'表示查询图q中标签路径pi'对应的标号路径集合的数量;aij表示图gj中对应键值H(pi)的标号路径集合的数量,i∈N+,j∈[1,m],m∈N+;在加密的数据库索引{H(pi),E2(A(aij))}第j列中,若查询请求I*中H(pi')对应的值E2(bi')大于键值H(pi)对应的值E2(aij),则丢弃该列,比较第j+1列;否则比较查询请求I*中H(pi'+1)对应的值E2(bi'+1)与相同键值H(pi+1)对应的值E2(ai+1,j);若第j列中所有对应查询请求的E2(aij)都不小于查询请求I*中的E2(bi'),则将图gj添加至候选集合C中,比较第j+1列;重复以上步骤,直到完成所有列的比较,得到候选集合C;i∈N+,j∈[1,m],m∈N+
(2)在密文图集数据库E1(G)={E1(Gj),j∈[1,m]}中取出候选集合C中图gj对应的路径集合{E1(Gj)|gj∈C},gj∈C表示候选集合C中的图,Gj为图gj的路径表示;将候选集合C和对应的路径集合{E1(Gj)|gj∈C}发送给客户端。
8.如权利要求1所述的基于密文的子图检索方法,其特征在于,所述客户端解密数据获取结果集具体包括:
(1)客户端利用对称加密算法E1中的解密算法和数据密钥k1,解密候选集合C对应的路径集合{E1(Gj)|gj∈C}得到集合{Gj},{Gj}为候选集合C中图gj的路径表示;
(2)客户端根据查询图q利用校正算法和{Gj}得到最终结果,{Gj}为候选集合C中图gj的路径表示;校正算法指客户端在选择路径表示中的标号路径集后,对于步骤6中重叠情况(1)和(2),如果在重叠位置两个序列包含相同的标号节点,则这对序列被组合;在重叠情况(3)中,如果序列在重叠的位置不包含相同的标号节点则被删除;最后,如果不是放置在重叠位置的标号节点是相等的,则删除序列,即获得结果集。
9.一种使用权利要求1~8任意一项所述基于密文的子图检索方法的图集数据库外包算法。
CN201711470828.3A 2017-12-29 2017-12-29 一种基于密文的子图检索方法 Active CN108197491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711470828.3A CN108197491B (zh) 2017-12-29 2017-12-29 一种基于密文的子图检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711470828.3A CN108197491B (zh) 2017-12-29 2017-12-29 一种基于密文的子图检索方法

Publications (2)

Publication Number Publication Date
CN108197491A true CN108197491A (zh) 2018-06-22
CN108197491B CN108197491B (zh) 2021-06-15

Family

ID=62586174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711470828.3A Active CN108197491B (zh) 2017-12-29 2017-12-29 一种基于密文的子图检索方法

Country Status (1)

Country Link
CN (1) CN108197491B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488472A (zh) * 2020-04-09 2020-08-04 河北利至人力资源服务有限公司 一种图数据处理方法及系统
CN112256753A (zh) * 2020-10-13 2021-01-22 山东三木众合信息科技股份有限公司 一种数据的加密安全传输方法
CN114116715A (zh) * 2021-11-17 2022-03-01 中国电子科技集团公司第三十研究所 保护数据机密性的密态知识图谱的存储构建及检索方法
CN115470508A (zh) * 2022-11-02 2022-12-13 北京点聚信息技术有限公司 一种版式文件矢量化加密方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110268364A1 (en) * 2010-04-30 2011-11-03 International Business Machines Corporation Method, program, and system for calculating similarity between nodes in graph
CN104699698A (zh) * 2013-12-05 2015-06-10 深圳先进技术研究院 基于海量数据的图查询处理方法
US20160259880A1 (en) * 2015-03-05 2016-09-08 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
CN106874426A (zh) * 2017-01-23 2017-06-20 福州大学 基于Storm的RDF流式数据关键词实时搜索方法
CN106934030A (zh) * 2016-12-08 2017-07-07 戴林 一种面向数据库加密的密文索引方法和库内加密系统
CN107480163A (zh) * 2017-06-19 2017-12-15 西安电子科技大学 一种云环境下支持隐私保护的高效密文图像检索方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110268364A1 (en) * 2010-04-30 2011-11-03 International Business Machines Corporation Method, program, and system for calculating similarity between nodes in graph
CN104699698A (zh) * 2013-12-05 2015-06-10 深圳先进技术研究院 基于海量数据的图查询处理方法
US20160259880A1 (en) * 2015-03-05 2016-09-08 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
CN106934030A (zh) * 2016-12-08 2017-07-07 戴林 一种面向数据库加密的密文索引方法和库内加密系统
CN106874426A (zh) * 2017-01-23 2017-06-20 福州大学 基于Storm的RDF流式数据关键词实时搜索方法
CN107480163A (zh) * 2017-06-19 2017-12-15 西安电子科技大学 一种云环境下支持隐私保护的高效密文图像检索方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488472A (zh) * 2020-04-09 2020-08-04 河北利至人力资源服务有限公司 一种图数据处理方法及系统
CN112256753A (zh) * 2020-10-13 2021-01-22 山东三木众合信息科技股份有限公司 一种数据的加密安全传输方法
CN112256753B (zh) * 2020-10-13 2021-05-18 山东三木众合信息科技股份有限公司 一种数据的加密安全传输方法
CN114116715A (zh) * 2021-11-17 2022-03-01 中国电子科技集团公司第三十研究所 保护数据机密性的密态知识图谱的存储构建及检索方法
CN115470508A (zh) * 2022-11-02 2022-12-13 北京点聚信息技术有限公司 一种版式文件矢量化加密方法

Also Published As

Publication number Publication date
CN108197491B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Ren et al. Querying in internet of things with privacy preserving: Challenges, solutions and opportunities
Giannotti et al. Privacy-preserving mining of association rules from outsourced transaction databases
Yiu et al. Enabling search services on outsourced private spatial data
CN108334612A (zh) 一种针对密文域的形近汉字全文模糊检索方法
CN112800088A (zh) 基于双向安全索引的数据库密文检索系统及方法
Liu et al. SMC: A practical schema for privacy-preserved data sharing over distributed data streams
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
Jing et al. Authentication of k nearest neighbor query on road networks
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN110413652B (zh) 一种基于边缘计算的大数据隐私化检索方法
CN109344640B (zh) 一种基于同态加密和多项式计算的子图匹配方法
CN110166466A (zh) 一种可高效更新权限的多用户可搜索加密方法和系统
CN108197491A (zh) 一种基于密文的子图检索方法
CN116415079B (zh) 一种隐私保护的top-K轨迹相似性查询方法
CN109088719A (zh) 外包数据库多关键词可验证密文搜索方法、数据处理系统
CN114969406B (zh) 一种隐私保护的子图匹配方法及系统
CN107294701A (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
CN114139202A (zh) 基于联邦学习的隐私保护样本预测应用方法及系统
Yan et al. Multi-keywords fuzzy search encryption supporting dynamic update in an intelligent edge network
Wang et al. AFFIRM: Provably forward privacy for searchable encryption in cooperative intelligent transportation system
CN109614521A (zh) 一种高效的隐私保护子图查询处理方法
CN107360252A (zh) 一种异构云域授权的数据安全访问方法
Muhammad et al. A secure data outsourcing scheme based on Asmuth–Bloom secret sharing
CN105184182B (zh) 一种基于私有信息提取的云计算私有范围的查询方法
Chatterjee et al. Efficient backward private searchable encryption

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