一种高维空间数据的安全查询方法、装置及系统的制作方法

文档序号:9547503阅读:386来源:国知局
一种高维空间数据的安全查询方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及安全查询技术领域,特别涉及一种高维空间数据的安全查询方法、装置及系统。
【背景技术】
[0002]随着云计算技术的飞速发展,数据空间的维度越来越高。对于高维数据的存储可以存储在外包数据库中,该外包数据库一般会外包给不完全可靠的服务器。因此,数据用户通过该服务器在外包数据库中进行数据查询时,该服务器会窥探到外包数据库中的数据以及数据用户的查询内容,从而影响数据安全。
[0003]目前,为了防止服务器能够窥探到外包数据库中的数据以及数据用户的查询内容,可以使用如下方式进行数据查询:数据用户向服务器发送查询请求,服务器将该查询请求发送给外包数据库的拥有者,即数据主;数据主将外包数据库中所有数据进行加密,并将加密后的数据以及加密密钥发送给服务器;数据用户从服务器上将加密后的数据下载到本地,并根据加密密钥对下载到本地的加密后的数据进行解密,得到外包数据库中所存储的所有数据,并在本地计算出查询结果。
[0004]然而,数据用户一般是指手机等用户终端,若数据用户获取到了外部数据库中所存储的所有数据,可能会对其所查询数据以外的数据安全造成影响。因此,如何防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探,成为目前急需解决的问题。

【发明内容】

[0005]有鉴于此,本发明提供一种高维空间数据的安全查询方法、装置及系统,以防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探。
[0006]第一方面,本发明提供了一种高维空间数据的安全查询方法,应用于数据主,包括:
[0007]对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
[0008]针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
[0009]利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
[0010]将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取W个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
[0011]其中,K、w、k均为正整数,K不小于w。
[0012]第二方面,本发明提供了一种高维空间数据的安全查询方法,应用于数据用户,包括:
[0013]接收数据主发送的同态加密后的距离表和加密密钥;
[0014]生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
[0015]接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
[0016]根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
[0017]利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密,并根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找η个近似距离的同态密文;
[0018]将该η个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对η个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
[0019]根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
[0020]其中,K、w、k、η均为正整数,Κ不小于w,η不小于k。
[0021]优选地,在所述将该η个近似距离的同态密文发送给服务器之前,进一步包括:
[0022]对η个近似距离的同态密文分别进行相同程度的扰动,以使在将扰动的η个近似距离的同态密文发送给服务器之后,服务器无法获知扰动前的每一个近似距离。
[0023]第三方面,本发明提供了一种高维空间数据的安全查询方法,应用于私有云,包括:
[0024]接收数据主发送的Κ个量化中心集合、每一个粗聚类的随机索引和码本;
[0025]在接收到数据用户发送的查询点时,根据Κ个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
[0026]根据码本计算出所述查询点的量化编码;
[0027]将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
[0028]其中,K、w、k均为正整数,K不小于w。
[0029]第四方面,本发明提供了一种高维空间数据的安全查询方法,应用于服务器,包括:
[0030]接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引1、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
[0031]在接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
[0032]在接收到数据用户发送的η个近似距离的同态密文时,利用同态私钥对η个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
[0033]其中,w、k、η均为正整数,η不小于k。
[0034]第五方面,本发明提供了一种数据主,包括:
[0035]粗量化单元,用于对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
[0036]计算单元,用于针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
[0037]加密单元,用于利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
[0038]发送单元,用于将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
[0039]其中,K、w、k均为正整数,K不小于w。
[0040]第六方面,本发明提供了一种数据用户,包括:
[0041]接收单元,用于接收数据主发送的同态加密后的距离表和加密密钥;
[0042]发送单元,用于生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
[0043]所述接收单元,进一步用于接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
[0044]请求单元,用于根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
[0045]解密单元,用于利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密;
[0046]查找单元,用于根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找η个近似距离的同态密文;
[0047]所述发送单元,进一步用于将该η个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对η个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
[0048]所述解密单元,进一步用于根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
[0049]其中,K、w、k、η均为正整数,Κ不小于w,η不小于k。
[0050]第七方面,本发明提供了一种私有云,包括:
[0051]接收单元,用于接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
[0052]计算单元,用于在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
[0053]所述计算单元,进一步用于根据码本计算出所述查询点的量化编码;
[0054]发送单元,用于将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
[0055]其中,K、w、k均为正整数,K不小于w。
[0056]第八方面,本发明提供了一种服务器,包括:
[0057]接收单元,用于接收数
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1