《基于最小化冗余数据划分的安全最近邻查询的方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于最小化冗余数据划分的安全最近邻查询的方法及系统.pdf(29页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102968475 A(43)申请公布日 2013.03.13CN102968475A*CN102968475A*(21)申请号 201210466318.X(22)申请日 2012.11.16G06F 17/30(2006.01)G06F 21/62(2013.01)(71)申请人上海交通大学地址 200240 上海市闵行区东川路800号(72)发明人姚斌 李飞飞 肖小奎(74)专利代理机构上海思微知识产权代理事务所(普通合伙) 31237代理人郑玮(54) 发明名称基于最小化冗余数据划分的安全最近邻查询的方法及系统(57) 摘要本发明涉及一种基于最小化冗余数据划分。
2、的安全最近邻查询的方法及系统,所述方法包括:数据主将包含外包数据库的voronoi图分割成为k个划分,记录划分的边界,在划分中添加随机字节,并根据预设的哈希函数对每个边界建立对应的索引,并将加密后的所有划分及其对应的索引发送给服务器,将所有划分对应的边界发送给数据用户;数据用户确定将包含真实查询点的划分对应的索引发送给服务器;服务器向数据用户发送加密后的包含真实查询点的划分;数据用户获取加密后的包含所述真实查询点的划分,并解密后计算出最近邻,在数据用户对服务器上存储的外包数据库中进行最近邻查询时,使服务器无法获知外包数据库中的数据、查询点及查询结果,保证数据安全。(51)Int.Cl.权利要求。
3、书2页 说明书17页 附图9页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 页 说明书 17 页 附图 9 页1/2页21.一种基于最小化冗余数据划分的安全最近邻查询的方法,其特征在于,包括:数据主生成包含外包数据库的所有数据点的voronoi图,其中,每个数据点的字节数相同,外包数据库中的数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库;数据用户或数据主给定参数K,数据主根据所述参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,每个划分互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,其中,当所述外包数。
4、据库为一维外包数据库时,每个划分的边界为两个相邻数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,用平行于Y坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行Y坐标轴的直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成所述格子,直至voronoi图中的划分的个数大于或等于所述参数,其中,每次分割时,使平行于Y坐标轴的直线或平行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时。
5、,通过逐步合并最小划分的方式将voronoi图中的划分的个数减至所述参数k;数据主获取所有划分中包含最多个数据点的划分的字节数作为最长字节数,在除包含最多个数据点的划分之外的每个其它划分中添加随机字节,使除包含最多个数据点的划分之外的每个其它划分的字节数等于所述最长字节数;数据主根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储;数据主将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存储;所述数据用户确定真实查询点,根据所述真实查询点确定包含所述真实查询点的划分的对应的边界,根据所。
6、述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器;所述服务器根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述真实查询点的划分;所述数据用户根据所述解密算法将接收到的加密后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分中获取所述真实查询点的最近邻的数据点。2.一种基于最小化冗余数据划分的安全最近邻查询的系统,其特征在于,包括:数据主,用于给定所述参数k,生成包含外包数据库的所有数据点的voronoi图,其中,每个数据。
7、点的字节数相同,外包数据库中的数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库;根据参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,其中,每个划分互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,当所述外包数据库为一维外包数据库时,每个划分的边界为两个相邻数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,所述数据主用平行于Y坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行Y坐标轴的权 利 要 求 书CN 10296847。
8、5 A2/2页3直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成所述格子,直至voronoi图中的划分的个数大于或等于所述参数k,其中,每次分割时,使平行于Y坐标轴的直线或平行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时,通过逐步合并最小划分的方式将voronoi图中的划分的个数减至所述参数k;获取所有划分中包含最多个数据点的划分的字节数作为最长字节数,在除包含最多个数据点的划分之外的每个其它划分中添加随机字节,使除包含最多个数据点的划分之外的每个其它划分的字节数等于所述最。
9、长字节数;根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储;将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存储;数据用户,用于给定所述参数k,确定真实查询点,根据所述真实查询点确定包含所述真实查询点的划分的对应的边界,根据所述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器;根据所述解密算法将接收到的加密后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分。
10、中获取所述真实查询点的最近邻的数据点;服务器,用于根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述真实查询点的划分。权 利 要 求 书CN 102968475 A1/17页4基于最小化冗余数据划分的安全最近邻查询的方法及系统 技术领域0001 本发明涉及安全查询处理领域,一种基于最小化冗余数据划分的安全最近邻查询的方法及系统。 背景技术0002 安全查询处理领域的现有研究涉及加密数据库上的基本SQL查询(参见文献3:H.Hacigumus,B.R.Iyer,C.Li,and S.Mehrotra.Executing SQL over encr。
11、ypted data in the database service provider model.In SIGMOD,2002)、聚合查询(参见文献4:H.Hacigumus,B.R.Iyer,and S.Mehrotra.Eficient execution of aggregation queries over encrypted relational databases.In DASFAA,pages 125136,2004和文献5:E.Mykletun and G.Tsudik.Aggregation queries in the database-as-a-service mode。
12、l.In DBSec,2006)和范围查询(参见文献6:B.Hore,S.Mehrotra,M.Canim,and M.Kantarcioglu.Secure multidimensional range queries over outsourced data.VLDBJ.To Appear.和文献7:E.Shi,J.Bethencourt,H.T.-H.Chan,D.X.Song,and A.Perrig.Multi-dimensional range query over encrypted data.In IEEE Symposium on Security and Privacy,p。
13、ages 350-364,2007)。正如诸多现有研究(参见文献1:H.Hu,J.Xu,C.Ren,and B.Choi.Processing private queries over untrusted data cloud through privacy homomorphism.In ICDE,pages 601612,2011和文献2:W.K.Wong,D.W.-L.Cheung,B.Kao,and N.Mamoulis.Secure knn computation on encrypted databases.In SIGMOD,pages 139152,2009和文献6和文献7)所。
14、证明的,为满足一定的安全性要求和获得更高的效率,较复杂的查询类型往往需要一些特殊处理。特别的,针对SNN问题现在已有不少前人所做的研究工作(参见文献1和文献2),然而他们所提出的解决方案最后往往被证明是不安全的,可以被轻而易举地攻击成功。 0003 Hacigumus等人首先提出了“外包数据库”(outsourced database,ODB)模型(参见文献8:H.Hacigumus,B.R.Iyer,and S.Mehrotra.Providing database as a service.In ICDE,2002),在这个模型里,数据拥有者(data owner)将“数据管理”及“查询应。
15、答”两项服务外包给不可靠的服务提供商(service provider)。关于ODB的安全性研究旨在通过加密及在加密数据上进行查询处理来确保数据安全。例如,使用一种保序加密法(order-preserving encryption scheme,OPES,参见文献9:R.Agrawal,J.Kiernan,R.Srikant,and Y.Xu.Order preserving encryption for numeric data.In SIGMOD,2002),对一序数域(ordinal domain)应用函数E,使得对任一对满足xy的值x,y,都有E(x)E(y)。另外,Hacigumus。
16、等人还提出了一种加乘同态(additive and multiplicative homomorphic)加密函数E(E满足E(x)+E(y)=E(x+y),E(x)E(y)=E(xy))来支持加密数据上的聚合查询(参见文献4:H.Hacigumus,B.R.Iyer,and S.Mehrotra.Efficient execution of aggregation queries over encrypted relational databases.In DASFAA,pages125-136,2004)。然而,正如Mykletun等人所证明的那样,实际上同态法连最说 明 书CN 1029。
17、68475 A2/17页5低级别的安全都不能保证(参见文献5)。概而言之,之前的ODB模型都仅仅考虑了简单的数值域和SQL操作,而没有考虑以kNN(k nearest neighbor,k最近邻)查询等更复杂的操作为研究对象;另外,ODB模型研究总是假设单一类型的攻击, 而没有综合考虑不同层次的攻击,不具有普适性。 0004 除了各种加密技术,还有其他的数据保护方法来保证查询计算的安全性。ODB模型上的SQL语句执行就采用了“粗索引”(coarse index,亦称“基于桶的索引”,bucket-based index)技术(参见文献3)。元组通过诸如RSA的普通加密法加密;将各数据库属性域分。
18、割,分割后得到的每一部分(即一个“划分”,partition)通过哈希函数赋以一ID。数据主将加密元组连同其所在分割的ID送至服务器,充当“粗索引”。查询变为获取包含目标元组的分割。服务器则返回一个查询结果的超集。继而,拥有密钥的用户便可以将结果解密,再通过一定的后处理筛选掉其中无用信息。高级查询中无用信息的数量可能十分巨大,对用户而言这会成为十分沉重的负担。例如,kNN计算中所需的数据点与查询点间距便难以通过分割的ID轻易获得。因此,直接应用这种“粗索引”技术会导致服务器将整个数据库返回给用户,让用户独自负担查询结果的计算。显然,当用户处理能力有限(如用户使用的是移动设备)这种方法很不适用。。
19、 0005 另一种安全查询处理方法利用了特殊的硬件安全的协处理器(参见文献10:E.Mykletun and G.Tsudik.Incorporating a secure coprocessor in the database-as-a-service model.In IWIA,2005和文献11:R.Agrawal,D.Asonov,M.Kantarcioglu,and Y.Li.Sovereignjoins.In ICDE,2006)。它是一种安全的计算单元,其计算过程及储存的数据对查询中的任一方都是透明的。协处理器的使用很简单,只需要安装上加密和解密密钥,并直接部署应用逻辑即可。然而。
20、另一方面,它的速度不如普通处理器,因此不适用于需要大量计算的复杂应用。除此之外,协处理器必须靠用户来维护。例如,如果处理器意外停机,用户必须重新对其进行部署。这显然与云计算中用户本无需亲自维护原始数据是矛盾的。 0006 另外,Sweeney,Li,Machanavajjhala等人提出了各种各样的数据匿名模型,如k匿名(k-anonymity),用于数据发布时的隐私保护(参见文献12:L.Sweeney.k-anonymity:A model for protecting privacy.In IJUFKS,2002)。他们的基本思想都是使数据库中各元组与另外至少k-1个元组的“准”标示符(。
21、quasi-identifiers)是不可辨(indistinguishable)的。“k匿名”可以通过“准”标示符一般化(generalizing)、元组抑制(suppressing tuples)、元组扰乱(perturbing tuples)等方法实现。但是,“k匿名”模型在查询过程中会有信息丢失,并且模型本身还有特定的缺陷。如Machanavajjhala等人所指出的,匿名化的不可辨的“准”标示符组也含有不少敏感值,因此攻击者通过有限的背景知识就可以引起信息泄露(参见文献13:A.Machanavajjhala,J.Gehrke,D.Kifer,and M.Venkitasubrama。
22、niam.l-diversity:Privacy beyond k-anonymity.In ICDE,2006)。另外,一般化后的值域也会方便潜在攻击者对原始数据或一些宝贵的统计信息做出准确估计。特别需要注意的是,数据发布时的隐私保护与ODB模型中的数据安全两者的目标是不同的:前者力图避免发布的信息暴露特定个体,后者注重针对非授权用户保护信息。 0007 为更好地解决安全查询处理问题,W.K.Wong等重点研究了SCONEDB模型中的kNN查询(参见文献2)。Oliveira等曾提出“等距转换”(distance-preserving 说 明 书CN 102968475 A3/17页6tra。
23、nsformation,DPT)作为其加密方法(参见文献14:S.R.M.Oliveira and O.R.Zaiane.Privacy preserving clustering by data transformation.In SBBD,Manaus,Amazonas,Brazil,2003)。DPT将给定点x转换为Nx+t,其中,N是一个dd的正交矩阵,t是一个d维向量。DPT的主要特性是转换前后点间距不变,即,d(x,y)=d(E(x),E(y),其中,d表示欧几里得距离,E是加密(转换)函数。由 于距离没有改变,kNN查询能够得到正确的计算。然而,Liu等人证得DPT关于2级攻击和。
24、3级攻击是不安全的8。对于一3级攻击,W.K.Wong等审查了DB中的一组点x1,x2,.,xm及其相应的加密值y1,y2,.,ym,然后建立出一组等式yi=Nxi+t,形成线性等式组,其中,N的d2和t的d未知。如此,如果m=d+1,则此等式组可解。对于一2级攻击,攻击者可见DB中的一组点P。由于DPT保留了各维间的相关性,Liu等使用PCA确定点集P中和转换后所得数据库中的主成分。通过匹配主成分,攻击者可以对N和t做出准确估计(参见文献8)。 0008 不可靠平台上的kNN计算也是“适地性服务”(LBS)系统需要考虑的问题。在LBS模型中,服务器拥有一个元组集(也即“兴趣点” point 。
25、of interest,POI)。用户向服务器提交查询(范围查询或kNN查询),获取想要的兴趣点。其中主要的安全目标即为保护查询点的位置信息,另外一些模型也会考虑POI的隐私问题。“k匿名”模型是常被使用,以将查询点的位置转换为一个空间范围,如此这一范围中至少包含了其他k-1的点,服务器则难以在其中确定出用户(查询点)的位置。尽管这一模型可以用来解决我们的问题,但它也有一定缺陷。首先,匿名后的数据会近似地暴露出原始数据值;其次,在特定模型中(参见文献15:G.Ghinita,P.Kalnis,A.Khoshgozaran,C.Shahabi,and K.L.Tan.Private querie。
26、s in location based services:Anonymizers are not necessary.In SIGMOD,2008),数据库被假定为服务器所有,因此服务器能看到原始数据;再次,在一些系统(诸如“粗索引”系统)中,服务器通常返回查询结果的超集以供用户进行后处理,这增添了用户负担,对于一些“轻量级”(light-weight)用户端,这甚至是不可承受的。Khoshgozaran等人提出了一个可以为kNN查询进行加密 的LBS模型(参见文献16:A.Khoshgozaran and C.Shahabi.Blind evaluation of nearest neigh。
27、bor queries using space transformation to preserve location privacy.InSSTD,2007)。其主要思想是使用Hilbert曲线来对数据点和查询进行“加密”。各点的Hilbert值被送往服务器。然后在Hilbert转换后所得的空间中计算kNN得出近似结果。这种方法除了返回的是近似结果,还存在DPT类似的问题,容易被攻击成功。 发明内容0009 本发明的目的在于提供一种基于最小化冗余数据划分的安全最近邻查询的方法及系统,能够在数据用户对服务器上存储的外包数据库中进行最近邻查询时,使服务器无法获知外包数据库中的数据、数据用户的查询。
28、点及最近邻的查询结果,保证数据安全。 0010 为解决上述问题,本发明提供一种基于最小化冗余数据划分的安全最近邻查询的方法,包括: 0011 数据主生成包含外包数据库的所有数据点的voronoi图,其中,每个数据点的字节数相同,外包数据库中的数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库; 说 明 书CN 102968475 A4/17页70012 数据用户或数据主给定参数K,数据主根据所述参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,每个划分互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,其中,当所述外包数据库为一维外包。
29、数据库时,每个划分的边界为两个相邻数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所 述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,用平行于Y坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行Y坐标轴的直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成所述格子,直至voronoi图中的划分的个数大于或等于所述参数,其中,每次分割时,使平行于Y坐标轴的直线或平行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时,通过逐步合。
30、并最小划分的方式将voronoi图中的划分的个数减至所述参数k; 0013 数据主获取所有划分中包含最多个数据点的划分的字节数作为最长字节数,在除包含最多个数据点的划分之外的每个其它划分中添加随机字节,使除包含最多个数据点的划分之外的每个其它划分的字节数等于所述最长字节数; 0014 数据主根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储; 0015 数据主将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存储; 0016 所述数据用户确定真实查询点,根据所述真实查询点确定包含所述。
31、真实查询点的划分的对应的边界,根据所述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器; 0017 所述服务器根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述真实查询点的划分; 0018 所述数据用户根据所述解密算法将接收到的加密后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分中获取所述真实查询点的最近邻的数据点。 0019 根据本发明的另一面,提供一种基于最小化冗余数据划分的安全最近邻查询的系统,包括: 0020 。
32、数据主,用于给定所述参数k,生成包含外包数据库的所有数据点的voronoi图,其中,每个数据点的字节数相同,外包数据库中的数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库;根据参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,其中,每个划分互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,当所述外包数据库为一维外包数据库时,每个划分的边界为两个相邻数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,所述数据主用平行于Y坐标轴的直线不断分割当前。
33、的最大的划分和与所述最大的划分在同一条平行Y坐标轴的直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成格子,直至voronoi图中的划分的个数大于或等于所述参数k,其中,每次分割时,使平行于Y坐标轴的直线或平说 明 书CN 102968475 A5/17页8行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时,通过逐步合并最小划分的方式将voronoi图中的划分的个数减至所述参数k;获取所有划分中包含最多个数据点的划分的字节数作为最长字节数,在除包含最多个数据点的划分 之外的每个其。
34、它划分中添加随机字节,使除包含最多个数据点的划分之外的每个其它划分的字节数等于所述最长字节数;根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储;将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存储; 0021 数据用户,用于给定所述参数k,确定真实查询点,根据所述真实查询点确定包含所述真实查询点的划分的对应的边界,根据所述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器;根据所述解密算法将接收到的加密。
35、后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分中获取所述真实查询点的最近邻的数据点; 0022 服务器,用于根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述真实查询点的划分。 0023 与现有技术相比,本发明通过数据主生成包含外包数据库的所有数据点的voronoi图,其中,每个数据点的字节数相同,外包数据库中的数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库;数据用户或数据主给定参数K,数据主根据所述参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,每个划分。
36、互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,其中,当所述外包数据库为一维外包数据库时,每个划分的边界为两个相邻数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,用平行于Y坐标轴的直线不断分割当前的最 大的划分和与所述最大的划分在同一条平行Y坐标轴的直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成所述格子,直至voronoi图中的划分的个数大于或等于所述参数,其中,每次分割时,使平行于Y坐标。
37、轴的直线或平行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时,通过逐步合并最小划分的方式将voronoi图中的划分的个数减至所述参数k;数据主获取所有划分中包含最多个数据点的划分的字节数作为最长字节数,在除包含最多个数据点的划分之外的每个其它划分中添加随机字节,使除包含最多个数据点的划分之外的每个其它划分的字节数等于所述最长字节数;数据主根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储;数据主将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存。
38、储;所述数据用户确定真实查询点,根据所述真实查询点确定包含所述真实查询点的划分的对应的边界,根据所述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器;所述服务器根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数说 明 书CN 102968475 A6/17页9据用户发送对应的加密后的包含所述真实查询点的划分;所述数据用户根据所述解密算法将接收到的加密后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分中获取所述真实查询点的最近邻的数据点,能够在数据用户对。
39、服务器上存储的外包数据库中进行最近邻查询时,使服务器无法获知外包数据库中的数据、数据用户的查询点及 最近邻的查询结果,保证数据安全。 附图说明0024 图1是本发明一实施例的基于最小化冗余数据划分的安全最近邻查询的方法的流程图; 0025 图2是本发明一实施例的基于最小化冗余数据划分的安全最近邻查询的方法的划分示意图; 0026 图3是本发明一实施例的一维空间下划分示意图; 0027 图4是本发明一实施例的MinDp方法的划分示意图; 0028 图5a是本发明一实施例的MinDp划分方法下k对划分时间代价的影响图; 0029 图5b是本发明一实施例的MinDp划分方法下|D|对划分时间代价的影。
40、响图; 0030 图6a是本发明一实施例的划分大小的平均值、最大值和最小值随参数k变化情况图; 0031 图6b是本发明一实施例的划分大小的平均值、最大值和最小值随|D|变化情况图 0032 图7a是本发明一实施例的MinDp划分方法的总运行时间随参数k变化情况图; 0033 图7b是本发明一实施例的MinDp划分方法的总运行时间随|D|变化情况图; 0034 图8a是本发明一实施例的MinDp划分方法下|E(D)|随k变化情况图; 0035 图8b是本发明一实施例的MinDp划分方法下|E(D)|随|D|变化情况图; 0036 图9a是本发明一实施例的MinDp划分方法下查询通信代价随k变化。
41、情况图; 0037 图9b是本发明一实施例的MinDp划分方法下查询通信代价随|D|变化情况 图; 0038 图10a是本发明一实施例的MinDp划分方法下查询时间随|D|变化情况图; 0039 图10b是本发明一实施例的MinDp划分方法下查询时间随k变化情况图; 0040 图11是本发明一实施例的基于最小化冗余数据划分的安全最近邻查询的系统的功能模块示意图。 具体实施方式0041 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。 0042 随着“云计算”概念及其应用的日益普及,针对“云”上的加密数据集E(D)的“安全查询问题”得到了越。
42、来越多的关注。本发明即对其中的“安全最近邻”(secure nearest neighbor,SNN)问题进行了较为深入的研究;该问题涉及数据主(data owner)、数据用户(client)和服务器(server)三方,数据用户会向服务器发送查询密文(encrypt ed query,E(q))来获取查询点在E(D)中的最近数据点(即“最近邻”)的密文,但要保证不能让服务器获知数据和查询的具体内容。具体说,SNN问题涉及数据主、数据用户和服务器三方及所述三方其相应的动作: 说 明 书CN 102968475 A7/17页100043 (1)数据主:拥有由d维欧式点或对象构成的外包数据库D,。
43、并会将D外包给不完全可靠的服务器。 0044 (2)数据用户:需要对所述外包数据库D进行查询。 0045 (3)服务器:不完全可靠,会因为自身原因或第三方原因而窥探来自数据主的数据内容和来自数据用户的查询内容。 0046 为了让数据用户能在外包数据库D上进行最近邻(NN,nearest neighbor),查询,却不会让服务器获知数据主的外包数据库D中的数据、数据用户的真实查询及查询结果的具体信息,数据主须对外包数据库D应用某种加密算法E进行加密,可以用E(D)代表D的密文,用E-1代表相应的解密算法。相似的,数据用户应将其查询点q(具体代表一个查询点)加密得到E(q)发送给服务器,这里需要力。
44、图保证SNN方法在安全性上同数据主使用的加密算法E是一样的,也就是说,所有E在SNN方法中被证明是安全(在选择明文攻击下是不可分辨的,或在选择密文攻击下是不可分辨的)的攻击模型。 0047 事实上可以证明,在只给定E(q)和E(D)的条件下,服务器不可能查找到精准的查询点最近邻。但若不要求服务器给出SNN查询结果的精准定位,而只需给出查询结果的一个“大致定位”呢?不妨设想一个非常简单直接的查询处理方法:数据主将外包数据库D看做一个整体进行加密得到E(D)后,传送给服务器;而服务器可以将整个E(D)作为查询结果返回给数据用户;数据用户再用E-1对E(D)进行解密(假定数据主与数据用户共享E-1)。
45、得到D,从而可以在本地计算出SNN查询的结果可将这一“朴素”的方法称为“(直接)传送D”(Send-D方法)算法。显然,这种算法具有与E相同的安全性,但却十分低效。于是在此基础上,如图1所示,进一步提出了更为高效的SNN处理方法,即本发明提供的一种基于最小化冗余数据划分的安全最近邻查询的方法(s ecure voronoi diagram,SVD),包括预处理阶段步骤S1S5,查询阶段包括步骤S6S8,步骤S6S8可以根据实际需要不断重复其中, 0048 步骤S1,数据主生成包含外包数据库D的所有数据点pi的voronoi图,其中,每数据点pi的字节数相同,外包数据库中的数据点的个数为N,N为。
46、正整数, 所述外包数据库为一至三维外包数据库。由于在后续步骤S2中要产生外包数据库D的k个划分,这里一个关键问题就是如何产生外包数据库D的(可能存在重叠的)“划分”G(D)=G1,.,Gk,考虑到的目标是有两个:(1)SNN查询结果(查询点的最近邻)至少应被包含于某一划分中,且(2)数据用户能够用尽可能小的信息量确定出Gi以降低查询代价,因此一个自然的选择就是用基于外包数据库D的voronoi图来构建G(D),其中每个数据点pi用一个voronoi cell表示。 0049 本发明需要针对以下四个问题: 0050 问题一:边界P(D)用voronoi cell来描述空间代价太大。例如,当所述外包数据库D为二维即d=2时,每个voronoi cell是一个任意形状的凸多边形,并且这些多边形平均会有6个顶点。因此,如此表示边界P(D)所占的存储空间将比存储外包数据库D本身的大得多。 0051 问题二:如何给边界P(D)建立索引以使数据用户能够迅速地确定所需要的原始索引值i。这一问题在边界P(D)中元素具有不规则边界时会显得尤为突出,例如:当BjP(D)为一voronoi cell时(此时Bj即是任意形状的的凸多边形)。 说 明 书CN 102968475 A10。