基于最小冗余划分和随机数的安全最近邻查询方法及系统技术方案

技术编号:8413186 阅读:147 留言:0更新日期:2013-03-14 02:10
本发明专利技术涉及一种基于最小冗余划分和随机数的安全最近邻查询方法及系统,所述方法包括:数据主将包含外包数据库的voronoi图分割成为k个划分,记录划分的边界,在划分中添加随机字节,并根据预设的哈希函数对每个边界建立对应的索引,并将加密后的所有划分及其对应的索引发送给服务器,将所有划分对应的边界发送给数据用户;数据用户将包含真实查询点的划分对应的索引发送给服务器;服务器向数据用户发送加密后的包含真实查询点的划分;数据用户获取加密后的包含所述真实查询点的划分,并解密后计算出最近邻,在数据用户对服务器上存储的外包数据库中进行最近邻查询时,使服务器无法获知外包数据库中的数据、查询点及查询结果,保证数据安全。

【技术实现步骤摘要】

本专利技术涉及安全查询处理领域,一种基于最小冗余划分和随机数的安全最近邻查询方法及系统
技术介绍
安全查询处理领域的现有研究涉及加密数据库上的基本SQL查询(参见文献3 H. Hacigumusj B. R. Iyer, C. Li,and S. Mehrotra. Executing SQL overencrypted datain the database service provider model. In SIGMOD,2002)、聚合查询(参见文献 4 :H.Hacigumusj B. R. Iyer, and S. Mehrotra. Efficient execution ofaggregation queriesover encrypted relational databases. In DASFAAj pages 125 - 136,2004 和文献 5 E. Mykletun and G.Tsudik. Aggregation queries in thedatabase—as—a—servicemodel. In DBSecj 2006)和范围查询(参见文献 6 :B. Horej S. Mehrotra, M. Canimj andM. Kantarcioglu. Secure multidimensional range queriesover outsourced data.VLDBJ. To Appear.和文献 7 :Ε· Shij J. Bethencourtj H. T. _Η· Chan, D. X. Song, andA. Perrig. Multi-dimensional range query over encrypted data. In IEEE Symposium onSecurity and Privacy, pages 350-364,2007)。正如诸多现有研究(参见文献 I :H. Hu,J.Xuj C. Renj and B. Choi. Processing private queriesover untrusted data cloud throughprivacy homomorphism. In ICDEj pages 601-612,2011 和文献 2 W. K. Wong, D. W. _L.Cheung,B. Kaoj and N. Mamoulis. Secure knn computation on encrypted databases. InSIGMOD, pages 139 - 152,2009和文献6和文献7)所证明的,为满足一定的安全性要求和获得更高的效率,较复杂的查询类型往往需要一些特殊处理。特别的,针对SNN问题现在已有不少前人所做的研究工作(参见文献I和文献2),然而他们所提出的解决方案最后往往被证明是不安全的,可以被轻而易举地攻击成功。Hacigumus 等人首先提出了“外包数据库”(outsourced database,0DB)模型(参见文献 8 H. Hacigumusj B. R. Iyer, and S. Mehrotra. Providing database as aservice.In I⑶E,2002),在这个模型里,数据拥有者(data owner)将“数据管理”及“查询应答”两项服务外包给不可靠的服务提供商(service provider)。关于ODB的安全性研究旨在通过加密及在加密数据上进行查询处理来确保数据安全。例如,使用一种保序加密法(order-preserving encryption scheme, 0PES,参见文献 9 :R. Agrawalj J. Kiernanj R.Srikantj and Y. Xu. Order preserving encryption for numeric data. In SIGMOD, 2002),对一序数域(ordinal domain)应用函数E,使得对任一对满足x < y的值x,y,都有E(x)< E(y) o 另外,Hacigumus 等人还提出了一种加乘同态(additive and multiplicativehomomorphic)加密函数E (E 满足 E (x)+E (y) =E (x+y),E (x) E (y) =E (xy))来支持加密数据上的聚合查询(参见文献 4 :H. Hacigumusj B. R. Iyer, and S. Mehrotra. Efficientexecution of aggregation queries over encrypted relational databases.InDASFAAj pages 125-136,2004)。然而,正如Mykletun等人所证明的那样,实际上同态法连最低级别的安全都不能保证(参见文献5)。概而言之,之前的ODB模型都仅仅考虑了简单的数值域和SQL操作,而没有考虑以kNN (knearest neighbor, k最近邻)查询等更复杂的操作为研究对象;另外,ODB模型研究总是假设单一类型的攻击,而没有综合考虑不同层次的攻击,不具有普适性。除了各种加密技术,还有其他的数据保护方法来保证查询计算的安全性。ODB模型上的SQL语句执行就采用了“粗索引”(coarse index,亦称“基于桶的索引”,bucket-basedindex)技术(参见文献3)。元组通过诸如RSA的普通加密法加密;将各数据库属性域分割,分割后得到的每一部分(即一个“划分”,partition)通过哈希函数赋以一 ID。数据主将加密元组连同其所在分割的ID送至服务器,充当“粗索引”。查询变为获取包含目标元组的分害I]。服务器则返回一个查询结果的超集。继而,拥有密钥的用户便可以将结果解密,再通过一定的后处理筛选掉其中无用信息。高级查询中无用信息的数量可能十分巨大,对用户而言这会成为十分沉重的负担。例如,kNN计算中所需的数据点与查询点间距便难以通过分割的ID轻易获得。因此,直接应用这种“粗索引”技术会导致服务器将整个数据库返回给 用户,让用户独自负担查询结果的计算。显然,当用户处理能力有限(如用户使用的是移动设备)这种方法很不适用。另一种安全查询处理方法利用了特殊的硬件一安全的协处理器(参见文献 10 E.Mykletun and G. Tsudik. Incorporating a secure coprocessor inthedatabase-as-a-service model. In IWIA, 2005 和文献 11 R. Agrawal, D. Asonov,M. Kantarcioglu, and Y. Li. Sovereignjoins. In ICDE, 2006)。它是一种安全的计算单兀,其计算过程及储存的数据对查询中的任一方都是透明的。协处理器的使用很简单,只需要安装上加密和解密密钥,并直接部署应用逻辑即可。然而另一方面,它的速度不如普通处理器,因此不适用于需要大量计算的复杂应用。除此之外,协处理器必须靠用户来本文档来自技高网...

【技术保护点】
一种基于最小冗余划分和随机数的安全最近邻查询方法,其特征在于,包括:数据主生成包含外包数据库的所有真实数据点的voronoi图,其中,每个真实数据点的字节数相同,外包数据库中的真实数据点的个数为N,N为正整数,所述外包数据库为一至三维外包数据库;数据用户或数据主给定参数K,数据主根据所述参数k将所述voronoi图分割成为k个划分,记录每个划分对应的边界,每个划分互不相交,不同划分包含的数据点部分重复或完全不重复,k大于等于1且小于等于N,其中,当所述外包数据库为一维外包数据库时,每个划分的边界为两个相邻真实数据点之间的垂直平分线,当所述外包数据库为二维外包数据库时,每个划分的边界为由与所述voronoi图的X坐标轴和Y坐标轴平行的直线围成的格子,用平行于Y坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行Y坐标轴的直线上的相邻的划分,或用平行X坐标轴的直线不断分割当前的最大的划分和与所述最大的划分在同一条平行X坐标轴的直线上的相邻的划分以生成所述格子,直至voronoi图中的划分的个数大于或等于所述参数,其中,每次分割时,使平行于Y坐标轴的直线或平行X坐标轴的直线穿过voronoi图中的多边形的顶点最多,当划分的个数大于所述参数k时,通过逐步合并最小划分的方式将voronoi图中的划分的个数减至所述参数k;数据主在所述voronoi图中随机添加k’个划分,并在k’个划分中分别添加虚拟数据点,记录每个划分对应的边界,其中,每个划分互不相交,不同划分包含的虚拟数据点部分重复或完全不重复,k’为正整数;数据主获取所有划分中包含最多个真实数据点或虚拟数据点的划分的字节数作为最长字节数,在除包含最多个真实数据点或虚拟数据点的划分之外的每个其它划分中添加随机字节,使除包含最多个真实数据点或虚拟数据点的划分之外的每个其它划分的字节数等于所述最长字节数;数据主根据预设的哈希函数对每个边界建立对应的索引,并根据一预设的加密算法将加密后的所有划分及其所有与相应的边界对应的索引发送给服务器存储;数据主将所有划分对应的边界、与所述加密算法对应的解密算法和所述哈希函数发送给所述数据用户存储;所述数据用户确定真实查询点,根据所述真实查询点确定包含所述真实查询点的划分的对应的边界,根据所述哈希函数获取与包含所述真实查询点的划分的对应的边界的对应的索引,并将包含所述真实查询点的划分的对应的边界的对应的索引发送给服务器;所述服务器根据接收到的包含所述真实查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述真实查询点的划分;所述数据用户根据所述解密算法将接收到的加密后的包含所述真实查询点的划分进行解密,获取包含所述真实查询点的划分,并从包含所述真实查询点的划分中获取所述真实查询点的最近邻的真实数据点;所述数据用户确定伪查询点,根据所述伪查询点确定包含所述虚拟查询点的划分的对应的边界,根据所述哈希函数获取与包含所述伪查询点的划分的对应的边界的对应的索引,并将包含所述虚拟查询点的划分的对应的边界的对应的索引发送给服务器;所述服务器根据接收到的包含所述伪查询点的划分的对应的边界的对应的索引向所述数据用户发送对应的加密后的包含所述伪查询点的划分。...

【技术特征摘要】

【专利技术属性】
技术研发人员:姚斌李飞飞肖小奎
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1