CN114417068B - 一种具有隐私性保护的大规模图数据匹配方法 - Google Patents

一种具有隐私性保护的大规模图数据匹配方法 Download PDF

Info

Publication number
CN114417068B
CN114417068B CN202210067708.3A CN202210067708A CN114417068B CN 114417068 B CN114417068 B CN 114417068B CN 202210067708 A CN202210067708 A CN 202210067708A CN 114417068 B CN114417068 B CN 114417068B
Authority
CN
China
Prior art keywords
graph
data
frequent
query
edge
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
CN202210067708.3A
Other languages
English (en)
Other versions
CN114417068A (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.)
Sanwei Xin'an Technology Co ltd
Original Assignee
Sanwei Xin'an Technology Co ltd
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 Sanwei Xin'an Technology Co ltd filed Critical Sanwei Xin'an Technology Co ltd
Priority to CN202210067708.3A priority Critical patent/CN114417068B/zh
Publication of CN114417068A publication Critical patent/CN114417068A/zh
Application granted granted Critical
Publication of CN114417068B publication Critical patent/CN114417068B/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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供了一种具有隐私性保护的大规模图数据匹配方法,包括图数据拥有客户端生成密钥,对明文图数据构建安全索引并加密,把密文图数据和安全索引上传到服务器;图数据用户客户端对查询图生成查询陷门发送给服务器;服务器根据查询陷门在安全索引中找出与查询图匹配的数据图,把相应的密文图数据发送给图数据用户客户端;图数据用户客户端解密密文图数据,验证其是否与查询图匹配,获得匹配的图数据。本发明避免给用户带来沉重的计算负担,减少了子图同构的个数从而减轻用户的计算负担,实现了轻量级的具有隐私性保护的大规模图数据的匹配的查询。

Description

一种具有隐私性保护的大规模图数据匹配方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种具有隐私性保护的大规模图数据匹配方法。
背景技术
图匹配作为一种重要的查询技术,在各个领域得到了广泛的应用。随着图数据的增多,用户选择将大规模的图数据加密之后存储在云上,像图匹配等复杂操作均由云来完成。现有的加密图上的匹配方案需要用户执行大量耗时的子图同构操作来从数据图中提取出与查询图匹配的子图,以此来验证查询图是否与返回的数据图匹配。当返回的数据图个数较多时,给资源有限的用户带来很大的验证开销。而且,当生成查询陷门的时候,在目前方案中需要执行子图同构操作来从查询图中提取频繁子图,这不可避免地给用户带来了沉重的计算负担。
因此,如何提供一种实现轻量级的具有隐私性保护的大规模图数据的匹配的查询方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明基于对称加密算法、保序加密等密码原语,伪随机函数、哈希函数等技术设计开发出的具有隐私保护的图数据匹配方法,减少了子图同构的个数,减轻了用户端的计算负担。
为了实现上述目的,本发明采用如下技术方案:
一种具有隐私性保护的大规模图数据匹配方法,包括:
图数据拥有客户端生成密钥,对明文图数据构建安全索引并加密,把密文图数据和安全索引上传到服务器;
图数据用户客户端对查询图生成查询陷门发送给服务器;
服务器根据查询陷门在安全索引中找出与查询图匹配的数据图,把相应的密文图数据发送给图数据用户客户端;
图数据用户客户端解密密文图数据,验证其是否与查询图匹配,获得匹配的图数据。
优选的,还包括:图数据拥有客户端执行以下步骤:
从包含N个数据图的图数据库中提取出频繁子图;根据频繁子图边的个数和出现的频率进行排序,构成集合
Figure BDA0003480828740000021
检测一个频繁子图F是否存在一个F',使得F'包含F,且freq(F')≥(1-δ)·freq(F),如果不存在该F',那么F属于δ-TCFG集合
Figure BDA0003480828740000022
Figure BDA0003480828740000023
F'为集合/>
Figure BDA0003480828740000024
中比F多一条边的第一个超图;
对每一个频繁子图
Figure BDA0003480828740000025
都设置一个N位的向量/>
Figure BDA0003480828740000026
表示设置向量/>
Figure BDA0003480828740000027
的第/>
Figure BDA0003480828740000028
位为1,即数据图/>
Figure BDA0003480828740000029
包含Fi,其中/>
Figure BDA00034808287400000210
为数据图Gj的标识;否则
Figure BDA00034808287400000211
为每个fi生成其closure graph的集合CLOS(fi)={g1,g2,...,gi,...,gm},集合中的每个图gi均为除δ-TCFG集合之外的频繁子图,在集合
Figure BDA00034808287400000212
中不存在比fi小且为g的超图的图;
为每个gi分配一个顺序ordgj。
优选的,所述安全索引包括图查找表TI的步骤:
对fi生成其唯一编码dfs(fi),将其哈希值H(dfs(fi))存储在TI1(k1,i)]的第一部分中;
使用伪随机函数P1来盲化
Figure BDA00034808287400000213
并将盲化后的结果存在TI1(k1,i)]的第二部分中;
TI1(k1,i)]的第三部分存储fi的closure graph的集合中第一个g1的地址EA1
优选的:所述安全索引包括边查找表EI的步骤,包含频繁边索引和非频繁边索引:
构建频繁边索引的步骤:
对于δ-TCFG中的每一个频繁边标签,对其进行加密;
对每个频繁边标签进行盲化,找出其所在的频繁子图,找出当前频繁边标签在相同尺寸的频繁子图中出现数量相同的频繁子图,对所述频繁子图出现的数量使用揭序加密ORE进行加密;
采用对称密钥加密算法来加密包含每个频繁边标签的所有的频繁子图在TI中对应的地址;
构建非频繁边索引的步骤:
对于每个非频繁边标签,对其进行加密;
盲化包含该非频繁边标签的所有数据图组成的标识向量。
优选的,图数据拥有客户端对每个数据图都转化为邻接矩阵的形式,并对其上三角矩阵采用对称加密方式进行加密,得到密文数据图;将密文数据图,安全索引上传到云服务器上,并在本地保存非频繁边的标识。
优选的,所述图数据用户客户端对查询图生成查询陷门的步骤包括:图数据用户客户端提取出查询图中所有的边,与本地存储的非频繁边标识进行比较:
若查询图中存在一个非频繁边,则该查询图为非频繁图,对每个非频繁边标签,图数据用户端利用伪随机函数对非频繁边标签加密,并生成盲化因子,将加密后的非频繁边标签和盲化因子发送给服务器,用于服务器查询包含这些非频繁边标签的数据图;
若查询图中不存在非频繁边,则该查询图为频繁图,计算查询陷门,对查询图的边标签密文以及地址的解密密钥,将查询陷门、边标签密文以及地址的解密密钥发送给服务器。
优选的,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括非频繁图的查询步骤:
服务器在非频繁边索引中进行查找,找到非频繁边标签的加密数据,利用盲化因子对标识向量进行解密,对所有非频繁边对应的标识向量求交集,得到包含所有非频繁边的数据图,发送给图数据用户客户端。
优选的,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括频繁图的查询步骤:
对于每个边标签,服务器在频繁边索引中找到
Figure BDA0003480828740000031
其中,Ele为频繁边标签le的密文,size(q)为查询图的大小,也就是q的边的个数,Edle,q为标签le在查询图q中的个数的密文;表示在频繁边索引中找到要查询的当前频繁边的标签,然后在大小为size(q)的频繁子图中找到边标签个数为Edle,q的信息,该信息为包含边标签le的频繁子图在图查找表中的地址;对其解密得到:
Figure BDA0003480828740000041
其中/>
Figure BDA0003480828740000042
为解密密钥;
对每个边标签的
Figure BDA0003480828740000043
去交集得到包含所有边标签的图的地址集合,验证集合中的每个地址中存储的图是否与查询图相同,若相同则解盲化,得到向量/>
Figure BDA0003480828740000044
中为1的位对应的数据图,将其返回给图数据用户客户端;
优选的,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括频繁图δ-TCFG的查询步骤:
对size大于size(q)的数据图分别进行查找,q为查询图:
服务器在频繁边索引中找出包含查询图中频繁边的且size大于size(q)的数据图的地址,解盲化得到size-i的数据图的地址集Si,发送给图数据用户客户端;
图数据用户客户端对Si中的每个地址计算解盲化因子,并发送给服务器;
服务器对地址进行解盲化,如果结果为NULL,则接着查找下一个地址,否则,服务器比较查询图是否与当前的closure graph相同:
若相同,则加密该图的标识向量得到包含它的数据图,发送给图数据用户客户端;
若不相同,则解密下一个地址,直到找到一个与查询图匹配的图;
如果Si中所有地址都访问完之后仍然没有找到与查询图同构的图,那么服务器继续查询另一个地址集中的数据图。
优选的,图数据用户客户端收到频繁子图和非频繁子图的查询结果之后,对查询图为非频繁子图时收到的每个数据图进行验证,通过调用子图同构算法判断是否与查询图匹配,保留频繁子图以及与查询图匹配的非频繁子图作为匹配的图数据。
经由上述的技术方案可知,与现有技术相比,本发明的有益效果包括:
本发明首先为了实现高效的查询,设计一种新的安全索引,它由具有二级索引结构的图查找表和边查找表组成。基于该安全索引结构,图用户不需要任何耗时的子图同构操作就可生成陷门。为了获得更精确的候选集以减少对候选数据图验证时所需的子图同构个数,将查询图分为频繁图和非频繁图,分别采取不同的策略来进行匹配查询。当查询图是频繁图时,通过安全索引能直接得到精确的查询结果,也就是得到与查询图匹配的数据图,图用户不需对查询图和返回的数据图执行任何子图同构操作。当查询图是非频繁图时,通过边查找表可找到与精确结果接近的候选集。
本发明避免给用户带来沉重的计算负担,减少了子图同构的个数从而减轻用户的计算负担,实现了轻量级的具有隐私性保护的大规模图数据的匹配的查询。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图;
图1为本发明实施例提供的具有隐私性保护的大规模图数据匹配方法的原理架构图;
图2是本发明实施例提供的图查找表示意图;
图3是本发明实施例提供的边查找表示意图;
图4是本发明实施例提供的频繁子图算例图;
图5是本发明实施例提供的边查找表算例示意图;
图6是本发明实施例提供的边查找表算例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例的系统模型如图1所示,系统包括:图数据拥有客户端,图数据用户客户端以及服务器,服务器可以为云服务器,由客户端(图数据拥有客户端和图数据用户)和云服务器进行交互实现。
本实施例提出的加密图上的匹配方案包括5个阶段:密钥生成,索引建立,陷门生成,匹配查询和验证。
密钥生成阶段由图数据拥有客户端执行,输入安全参数,输出密钥集;
索引建立阶段由图数据拥有客户端执行,对明文图数据构建安全索引并加密,把密文图数据和安全索引上传到服务器;
陷门生成阶段由图数据用户客户端执行,对查询图生成查询陷门发送给服务器;
匹配查询阶段由服务器执行,根据查询陷门在安全索引中找出与查询图匹配的数据图,把相应的密文数据图发送给图数据用户客户端;
验证阶段由图数据用户客户端执行,解密密文数据图,验证其是否与查询图匹配,找出满足要求的数据图。
具体实施步骤如下:
S1、密钥生成阶段:图数据拥有客户端输入安全参数λ生成密钥集K={k1,k2,k3,k4,k5,k6,k7,k8},其中k1,k3,k4,k5,k6和k7是伪随机函数的密钥,k2和k8是伪随机置换函数的密钥。
本阶段中,可通过随机位生成器来生成密钥集,安全参数λ规定了生成的密钥的位数,可由图数据拥有客户端根据需求进行设定。例如,假设图数据拥有客户端设定λ为1024,则生成的密钥的位数就是1024比特。
S2、索引建立阶段:安全索引包括图查找表和边查找表。
在构建索引之前,图数据拥有客户端首先从包含N个数据图的图数据库中提取出频繁子图FG,频繁子图指的是图数据库中包含该子图的数据图的数量达到用户设定的某一阈值,该子图则为频繁子图。
通常先把数据图进行分割成子图,看包含每个子图的数据图的数量大小来提取出频繁子图,具体提取方法采用现有的提取算法。
对这些频繁子图根据其边的个数和出现的频率(也就是所在的数据图的个数)进行排序,即边的条数少的在前,边的条数一样的则出现频率多的在前,边的条数和出现频率一样多的,则对其进行映射,分配一个数值代表其顺序,映射到的数值代表其顺序数值。
映射过程如下:使用hash函数h:G→N(N={1,2,...}进行映射,映射到一个数值,即对其分配一个数值来表示其在这些频繁子图中的顺序,如g1,g2中边的条数和出现频率都是一样的,则使用hash函数h(g1),h(g2)把其映射到一组数值中的某一个,这里的G代表数据图集合,N代表整数集,也就是把数据图映射到一个整数上。
把这些频繁子图按照升序排序,构成集合
Figure BDA0003480828740000071
对每一个频繁子图/>
Figure BDA0003480828740000072
都设置一个N位的向量/>
Figure BDA0003480828740000073
如果数据图/>
Figure BDA0003480828740000074
包含Fi,那么设置向量/>
Figure BDA0003480828740000075
的第
Figure BDA0003480828740000076
位为1,即/>
Figure BDA0003480828740000077
其中/>
Figure BDA0003480828740000078
为数据图Gj的标识,否则的话则令/>
Figure BDA0003480828740000079
图数据拥有客户端检测一个频繁子图F是否为δ-tolerance closed frequentsubgraph(δ-TCFG),其中δ为图数据拥有客户端自定义的一个参数,δ-TCFG为从频繁子图集合中提取出的更频繁的一些图。例如,如果一个频繁子图
Figure BDA00034808287400000710
使得/>
Figure BDA00034808287400000711
且freq(g')≥(1-δ)·freq(g),那么g就不是一个δ-TCFG。
图数据拥有客户端找到比F多一条边的第一个超图F’,如果freq(F')≥(1-δ)·freq(F),那么F不是一个δ-TCFG,如果freq(F')<(1-δ)·freq(F)或者F没有超图,那么F是一个δ-TCFG。令最后提取出的δ-TCFG集合为
Figure BDA00034808287400000712
且已按升序排序。fi代表一个δ-TCFG之外的频繁子图。
为每个fi生成其closure graph的集合CLOS(fi),集合中的每个图g均为除δ-TCFG之外的频繁子图,且均以fi为最接近的超图,也就是说在集合
Figure BDA00034808287400000713
中不存在比fi小且为g的超图的图。令CLOS(fi)={g1,g2,...,gm},同样升序排序,且为每个gj分配一个顺序ordgj。
接下来,图数据拥有客户端构建图查找表TI,具体可见图2。将每个δ-TCFG fi的信息存储在TI1(k1,i)]中,对fi生成其唯一编码dfs(fi)(该编码为对fi进行深度优先遍历后得到的点-边序列中的最小序列),将其哈希值H(dfs(fi))存储在TI1(k1,i)]的第一部分中。
使用伪随机函数P1来盲化
Figure BDA00034808287400000714
和/>
Figure BDA00034808287400000715
Figure BDA00034808287400000716
并将这两部分存在TI1(k1,i)]的第二部分中。/>
Figure BDA00034808287400000717
包含δ-TCFG中fi的数据图的标识向量,有数据图的个数对应该标识向量的位数,如果某个数据图包含该子图,则这个数据图对应的那一位就为1,不包含则为0。
TI1(k1,i)]的第三部分则存储fi的第一个closure graph g1的地址
Figure BDA0003480828740000081
/>
Figure BDA0003480828740000082
其中ctr记录CLOS(fi)中图的个数,这里ctr=1,π1是伪随机置换函数,/>
Figure BDA0003480828740000083
为g1在TI的地址,P2为伪随机函数,P2(k41(k1,i))为盲化因子。CLOS(fi)中剩余图的地址由ctr和它上一个图的盲化因子来盲化。例如,对于图/>
Figure BDA0003480828740000084
的地址为/>
Figure BDA0003480828740000085
Figure BDA0003480828740000086
将其存储在
Figure BDA0003480828740000087
的第三部分,其中此时的ctr=t,α为EAt-1的盲化因子。
Figure BDA0003480828740000088
的第三部分则存储/>
Figure BDA0003480828740000089
α为EAm的盲化因子。
图数据拥有客户端构建边查找表EI,其包含频繁边索引FEI和非频繁边索引IFEI,具体如图3所示。对于δ-TCFG中的每一个边标签le,对其进行盲化:Ele=P3(k5,le),P3是伪随机函数,即对每个频繁边标签用密钥为k5的伪随机函数P3进行盲化。记录每个边标签在不同size的图中出现的个数,找出该标签在相同size的频繁子图中出现个数相同的频繁子图,对该个数利用边标签le和图的size i来生成揭序加密的密钥:
Figure BDA00034808287400000810
P4为伪随机函数。采用对称密钥加密算法来加密包含每个边标签的所有的图在TI中对应的地址:
Figure BDA00034808287400000811
其中/>
Figure BDA00034808287400000812
为这些图的地址的连接,/>
Figure BDA00034808287400000813
Figure BDA00034808287400000814
为密钥。对于每个非频繁边标签,采用同样的方法对其加密,盲化包含该标签的所有数据图组成的标识向量/>
Figure BDA00034808287400000815
图数据拥有客户端对每个数据图都转化为邻接矩阵的形式,并对其上三角矩阵采用对称加密方式进行加密,得到密文数据图。最后,将密文数据图,安全索引上传到云服务器上,并在本地保存非频繁边的标识。
S3、陷门生成阶段:图数据拥有客户端提取出查询图中所有的边,与本地存储的非频繁边标识进行比较。若有一个非频繁边,则说明该查询图为非频繁图。对每个非频繁边标签,用户利用伪随机函数P3对标签加密Ele=P3(k5,le),并生成盲化因子P6(k8,Ele),将其发送给服务器。如果在查询图中没有非频繁边,则用户认为它是一个频繁图。计算陷门如下:H(dfs(q)),P1(k1,dfs(q)),对每个查询图的边标签计算密文Ele=P3(k5,le),计算地址的解密密钥
Figure BDA00034808287400000816
size(q)为查询图q中边的条数,用此来表示图的size。将以上信息发送给服务器。
S4、匹配查询阶段:
1)非频繁图的查询:服务器仅在非频繁边索引中进行查找,找到Ele,用P6(k8,Ele)对标识向量进行解密,得到
Figure BDA0003480828740000091
对所有非频繁边对应的/>
Figure BDA0003480828740000092
求交集,得到包含所有非频繁边的数据图,发送给图数据拥有客户端。
2)频繁图δ-TCFG的查询:对于每个边标签Ele,服务器在频繁边索引中找到
Figure BDA0003480828740000093
Ele为频繁边标签le的密文,size(q)为查询图的大小,也就是q的边的个数,Edle,q为标签le在查询图q中的个数的密文
意思为在频繁边索引中找到要查询的这个频繁边的标签,就找到了与该标签相关的一个list,然后在大小为size(q)的频繁子图那一列找到边标签个数为Edle,q的信息,该信息为包含边标签le的频繁子图在图查找表中的地址
如图6所示,a为边标签,P3(k5,a)为其密文,后面跟着一个list,每个节点下存储该标签在size-n的频繁子图中出现的个数的密文ORE(),以及该size-n的子图在图查找表中出现的地址的密文E()。对其解密得到:
Figure BDA0003480828740000094
Figure BDA0003480828740000095
解密密钥/>
Figure BDA0003480828740000096
就是图6中E的加密密钥。对每个边标签的/>
Figure BDA0003480828740000097
去交集得到包含所有边标签的图的地址集合,然后验证集合中的每个地址中存储的图是否与查询图相同,若相同则解盲化:/>
Figure BDA0003480828740000098
Figure BDA0003480828740000099
得到D中为1的位对应的数据图,将其返回给图数据拥有客户端。
3)频繁图
Figure BDA00034808287400000910
如果没有size(q)的图与查询图同构,那么查询图不属于δ-TCFG。在这种情况下,服务器认为查询图属于/>
Figure BDA00034808287400000911
因此对size大于size(q)的数据图分别进行查找。服务器在频繁边索引中找出包含查询图中频繁边的且size大于size(q)的数据图的地址,解盲化得到size-i的数据图的地址集Si,发送给用户。用户对Si中的每个地址addr计算解盲化因子P2(k4,addr),并发送给服务器。服务器对地址进行解盲化,如果结果为NULL,则说明该图没有closure graph,接着查找下一个地址。否则,服务器比较查询图是否与当前的closure graph相同,若相同,则加密该图的标识向量得到包含它的数据图,发送给用户;若不相同,则解密下一个地址,直到找到一个与查询图匹配的图。如果Si中所有地址都访问完之后仍然没有找到与查询图同构的图,那么服务器继续查询另一个地址集中的数据图。
S5、验证阶段:图数据拥有客户端收到查询结果之后,仅对查询图为非频繁图时收到的每个数据图进行验证,通过调用传统的子图同构算法看其是否与查询图匹配,对频繁图的查询结果则无需验证。最后用户移除与查询图不匹配的数据图,得到精确解。
下面给出一本发明提出方法的具体算例:
构建索引:
参见附图4,为从图数据库中提取出的频繁子图,对其进行排序为f1,f2,f3,f4,f5,f6。从中提取出的δ-TCFGs为T={f2,f3,f6},其closure graph集合为CLOS(f2)={f1}andCLOS(f6)={f4,f5}。f3没有closure graph。为其构建图查找表和边查找表如下图5和图6所示:
查询陷门:假设图数据用户查询频繁子图中的f3,那么由于该图没有非频繁边,则用户按照频繁子图来为其生成查询陷门:
P1(k3,dfs(f3)),H(dfs(f3)),
τ1={Ea,Eb,Ed,ka,3,kb,3,kd,3,ka,4,kb,4,kd,4,k’a,3,k’b,3,k’d,3,k’a,4,k’b,4,k’d,4,a1,3,b1,3,d1,3,a1,4,b1,4,d1,4},size(f2)=3,FG}。
将以上信息作为查询陷门发送给服务器。
服务器首先在边查找表中找到Ea对应的链表,以及大小为size-3的图下面对应的节点表。它找出a1,3,即ORE(ka,3,1),用密钥k’a,3解密E(k’a,3,π1(k1,2)),得到图查找表中的地址π1(k1,2)。然后服务器对标签Eb、Ed执行相同的操作。将对三个边标签查找得到的地址去交集得到π1(k1,2)。那么服务器在图查找表中找到该地址,比较该地址中的第一个值TI[π1(k1,2)][1]是否与查询图的H(dfs(f3))相同,如果相同,则服务器对TI[π1(k1,2)][2]解盲化:
Figure BDA0003480828740000101
得到包含f3的数据图标识向量,将其中为1的位上对应的数据图作为查询结果返回给数据用户。
以上对本发明所提供的具有隐私性保护的大规模图数据匹配方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种具有隐私性保护的大规模图数据匹配方法,其特征在于,包括:
图数据拥有客户端生成密钥,对明文图数据构建安全索引并加密,把密文图数据和安全索引上传到服务器;包括:图数据拥有客户端执行以下步骤:
从包含N个数据图的图数据库中提取出频繁子图;根据频繁子图边的个数和出现的频率进行排序,构成集合
Figure FDA0004220770940000011
检测一个频繁子图Fk,1≤k≤n,是否存在一个Fk',使得Fk'包含Fk,且freq(Fk')≥(1-δ)·freq(Fk),其中,δ为图数据拥有客户端自定义的一个参数,如果不存在该Fk',那么Fk属于δ-TCFG集合,令最后提取出的δ-TCFG集合为
Figure FDA0004220770940000012
Fk'为集合/>
Figure FDA0004220770940000013
中比Fk多一条边的第一个超图;
对每一个频繁子图Fk,1≤k≤n都设置一个N位的向量
Figure FDA0004220770940000014
表示设置向量/>
Figure FDA0004220770940000015
的第/>
Figure FDA0004220770940000016
位为1,即数据图Gj,1≤j≤N包含Fk,其中/>
Figure FDA0004220770940000017
为数据图Gj的标识;否则
Figure FDA0004220770940000018
为每个fi生成其closure graph的集合CLOS(fi)={g1,g2,...,gx,...,gm},集合中的每个图gx均为除δ-TCFG集合之外的频繁子图,在集合
Figure FDA0004220770940000019
中不存在比fi小且为gx的超图的图;
为每个gx分配一个顺序
Figure FDA00042207709400000110
图数据用户客户端对查询图生成查询陷门发送给服务器;
服务器根据查询陷门在安全索引中找出与查询图匹配的数据图,把相应的密文图数据发送给图数据用户客户端;包括:
所述安全索引包括图查找表TI的步骤:
对fi生成其唯一编码dfs(fi),将其哈希值H(dfs(fi))存储在TI1(k1,i)]的第一部分中;
使用伪随机函数P1来盲化
Figure FDA0004220770940000021
并将盲化后的结果存在TI1(k1,i)]的第二部分中;
TI1(k1,i)]的第三部分存储fi的closure graph的集合中第一个g1的地址EA1
所述安全索引还包括边查找表EI的步骤,包含频繁边索引FEI和非频繁边索引IFEI
构建频繁边索引的步骤:
对于δ-TCFG中的每一个频繁边标签,对其进行加密;
对每个频繁边标签采用伪随机函数进行盲化,找出其所在的频繁子图,找出当前频繁边标签在相同尺寸的频繁子图中出现数量相同的频繁子图,对所述频繁子图出现的数量使用揭序加密ORE进行加密;
采用对称密钥加密算法来加密包含每个频繁边标签的所有的频繁子图在TI中对应的地址;
构建非频繁边索引的步骤:
对于每个非频繁边标签,对其进行加密;
盲化包含该非频繁边标签的所有数据图组成的标识向量;
图数据用户客户端解密密文图数据,验证其是否与查询图匹配,获得匹配的图数据。
2.根据权利要求1所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,图数据拥有客户端对每个数据图都转化为邻接矩阵的形式,并对其上三角矩阵采用对称加密方式进行加密,得到密文数据图;将密文数据图,安全索引上传到云服务器上,并在本地保存非频繁边的标识。
3.根据权利要求2所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,所述图数据用户客户端对查询图生成查询陷门的步骤包括:图数据用户客户端提取出查询图中所有的边,与本地存储的非频繁边标识进行比较:
若查询图中存在一个非频繁边,则该查询图为非频繁图,对每个非频繁边标签,图数据用户端利用伪随机函数对非频繁边标签加密,并生成盲化因子,将加密后的非频繁边标签和盲化因子发送给服务器;
若查询图中不存在非频繁边,则该查询图为频繁图,计算查询陷门,对查询图的边标签密文以及地址的解密密钥,将查询陷门、边标签密文以及地址的解密密钥发送给服务器。
4.根据权利要求3所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括非频繁子图的查询步骤:
服务器在非频繁边索引中进行查找,找到非频繁边标签的加密数据,利用盲化因子对标识向量进行解密,对所有非频繁边对应的标识向量求交集,得到包含所有非频繁边的数据图,发送给图数据用户客户端。
5.根据权利要求3所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括频繁子图的查询步骤:
对于每个边标签,服务器在频繁边索引中找到
Figure FDA0004220770940000041
其中,Ele为频繁边标签le的密文,size(q)为查询图的大小,也就是q的边的个数,Edle,q为边标签le在查询图q中的个数的密文;表示在频繁边索引中找到要查询的当前频繁边的标签,然后在大小为size(q)的频繁子图中找到边标签个数为Edle,q的信息,该信息为包含边标签le的频繁子图在图查找表中的地址;对所述地址解密得到:
Figure FDA0004220770940000042
其中/>
Figure FDA0004220770940000043
为解密密钥;
对每个边标签的
Figure FDA0004220770940000051
去交集得到包含所有边标签的图的地址集合,验证集合中的每个地址中存储的图是否与查询图相同,若相同则解盲化,得到向量/>
Figure FDA0004220770940000052
中为1的位对应的数据图,将其返回给图数据用户客户端。
6.根据权利要求3所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,所述服务器根据查询陷门在安全索引中找出与查询图匹配的数据图包括频繁图δ-TCFG的查询步骤:
对size大于size(q)的数据图分别进行查找,q为查询图:
服务器在频繁边索引中找出包含查询图中频繁边的且size大于size(q)的数据图的地址,解盲化得到size-h的数据图的地址集Sh,发送给图数据用户客户端;
图数据用户客户端对Sh中的每个地址计算解盲化因子,并发送给服务器;
服务器对地址进行解盲化,如果结果为NULL,则接着查找下一个地址,否则,服务器比较查询图是否与当前的closure graph相同:
若相同,则加密该图的标识向量得到包含它的数据图,发送给图数据用户客户端;
若不相同,则解密下一个地址,直到找到一个与查询图匹配的图;
如果Sh中所有地址都访问完之后仍然没有找到与查询图同构的图,那么服务器继续查询另一个地址集中的数据图。
7.根据权利要求3所述的具有隐私性保护的大规模图数据匹配方法,其特征在于,图数据用户客户端收到频繁子图和非频繁子图的查询结果之后,对查询图为非频繁子图时收到的每个数据图进行验证,通过调用子图同构算法判断是否与查询图匹配,保留频繁子图以及与查询图匹配的非频繁子图作为匹配的图数据。
CN202210067708.3A 2022-01-20 2022-01-20 一种具有隐私性保护的大规模图数据匹配方法 Active CN114417068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210067708.3A CN114417068B (zh) 2022-01-20 2022-01-20 一种具有隐私性保护的大规模图数据匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210067708.3A CN114417068B (zh) 2022-01-20 2022-01-20 一种具有隐私性保护的大规模图数据匹配方法

Publications (2)

Publication Number Publication Date
CN114417068A CN114417068A (zh) 2022-04-29
CN114417068B true CN114417068B (zh) 2023-06-09

Family

ID=81275379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210067708.3A Active CN114417068B (zh) 2022-01-20 2022-01-20 一种具有隐私性保护的大规模图数据匹配方法

Country Status (1)

Country Link
CN (1) CN114417068B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114969406B (zh) * 2022-05-26 2023-03-14 哈尔滨工业大学(深圳) 一种隐私保护的子图匹配方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966281A (zh) * 2021-03-19 2021-06-15 西安电子科技大学 基于稀疏数据集的隐私保护关联规则挖掘方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657059B (zh) * 2016-12-21 2020-04-21 哈尔滨工业大学深圳研究生院 一种具有访问控制功能的数据库查询方法和系统
CN106980796B (zh) * 2017-03-27 2020-03-06 河南科技大学 云环境下基于mdb+树的多域连接关键词的搜索方法
US10476662B2 (en) * 2017-04-10 2019-11-12 City University Of Hong Kong Method for operating a distributed key-value store
CN110490000B (zh) * 2019-08-23 2022-04-05 广西师范大学 多图数据中频繁子图挖掘的差分隐私保护方法
CN112948848A (zh) * 2021-02-05 2021-06-11 杭州师范大学 一种基于改进knn的时空数据范围查询方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966281A (zh) * 2021-03-19 2021-06-15 西安电子科技大学 基于稀疏数据集的隐私保护关联规则挖掘方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
图数据隐私保护可达性查询算法研究;尹树祥;靳婷;;计算机工程(第02期);全文 *

Also Published As

Publication number Publication date
CN114417068A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN106850221B (zh) 信息加密、解密方法及装置
EP3096245B1 (en) Retrievable cryptograph processing system and retrievable cryptograph processing method
Lu et al. Security analysis for privacy preserving search of multimedia
US8380720B2 (en) Method for data encryption and method for conjunctive keyword search of encrypted data
Li et al. Cryptographic and parallel hash function based on cross coupled map lattices suitable for multimedia communication security
EP3342090A1 (en) Method for providing encrypted data in a database and method for searching on encrypted data
CN107291861B (zh) 一种面向加密图的带约束近似最短距离查询方法
CN113067702B (zh) 支持密文等值测试功能的身份基加密方法
Yang et al. Privacy-preserving k nearest neighbor query with authentication on road networks
CN112115201B (zh) 基于区块链的交易处理方法、交易追踪方法及装置
CN107094075B (zh) 一种基于收敛加密的数据块动态操作方法
CN114417068B (zh) 一种具有隐私性保护的大规模图数据匹配方法
CN106027226A (zh) 一种分组密码相关密钥不可能差分路径的搜索方法
CN109934001A (zh) 一种基于正态云模型的数据加密方法
CN113434739B (zh) 一种云环境下前向安全的多用户动态对称加密检索方法
Khoury et al. Novel order preserving encryption scheme for wireless sensor networks
CN114021006A (zh) 一种多维数据的安全查询方法及装置
Ibrahim et al. Towards efficient yet privacy-preserving approximate search in cloud computing
Strizhov et al. Substring position search over encrypted cloud data using tree-based index
Castiglione et al. On the relations between security notions in hierarchical key assignment schemes for dynamic structures
EP2363974A1 (en) Variable table masking for cryptographic processes
Bao et al. Quantum multi-collision distinguishers
CN113158087A (zh) 一种空间文本的查询方法及装置
CN113452706B (zh) 支持数值型属性比较访问策略的属性加密方法及系统
Zhou et al. PVIDM: Privacy-preserving verifiable shape context based image denoising and matching with efficient outsourcing in the malicious setting

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