CN105303121B - 一种高维空间数据的安全查询方法、装置及系统 - Google Patents
一种高维空间数据的安全查询方法、装置及系统 Download PDFInfo
- Publication number
- CN105303121B CN105303121B CN201510641362.3A CN201510641362A CN105303121B CN 105303121 B CN105303121 B CN 105303121B CN 201510641362 A CN201510641362 A CN 201510641362A CN 105303121 B CN105303121 B CN 105303121B
- Authority
- CN
- China
- Prior art keywords
- data
- thick
- point
- clusters
- server
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种高维空间数据的安全查询方法、装置及系统,该方法包括:数据主将K个量化中心集合、每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、每一个粗聚类的随机索引、加密后的每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,数据用户从私有云处获取w个粗聚类分别对应的随机索引和查询点的量化编码,从服务器处获取w个粗聚类中每一个数据点的量化编码和k个加密数据点,并解密得到k个查询结果。根据本方案,可以有效防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探。
Description
技术领域
本发明涉及安全查询技术领域,特别涉及一种高维空间数据的安全查询方法、装置及系统。
背景技术
随着云计算技术的飞速发展,数据空间的维度越来越高。对于高维数据的存储可以存储在外包数据库中,该外包数据库一般会外包给不完全可靠的服务器。因此,数据用户通过该服务器在外包数据库中进行数据查询时,该服务器会窥探到外包数据库中的数据以及数据用户的查询内容,从而影响数据安全。
目前,为了防止服务器能够窥探到外包数据库中的数据以及数据用户的查询内容,可以使用如下方式进行数据查询:数据用户向服务器发送查询请求,服务器将该查询请求发送给外包数据库的拥有者,即数据主;数据主将外包数据库中所有数据进行加密,并将加密后的数据以及加密密钥发送给服务器;数据用户从服务器上将加密后的数据下载到本地,并根据加密密钥对下载到本地的加密后的数据进行解密,得到外包数据库中所存储的所有数据,并在本地计算出查询结果。
然而,数据用户一般是指手机等用户终端,若数据用户获取到了外部数据库中所存储的所有数据,可能会对其所查询数据以外的数据安全造成影响。因此,如何防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探,成为目前急需解决的问题。
发明内容
有鉴于此,本发明提供一种高维空间数据的安全查询方法、装置及系统,以防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探。
第一方面,本发明提供了一种高维空间数据的安全查询方法,应用于数据主,包括:
对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
第二方面,本发明提供了一种高维空间数据的安全查询方法,应用于数据用户,包括:
接收数据主发送的同态加密后的距离表和加密密钥;
生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密,并根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
优选地,在所述将该n个近似距离的同态密文发送给服务器之前,进一步包括:
对n个近似距离的同态密文分别进行相同程度的扰动,以使在将扰动的n个近似距离的同态密文发送给服务器之后,服务器无法获知扰动前的每一个近似距离。
第三方面,本发明提供了一种高维空间数据的安全查询方法,应用于私有云,包括:
接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
根据码本计算出所述查询点的量化编码;
将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
第四方面,本发明提供了一种高维空间数据的安全查询方法,应用于服务器,包括:
接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
在接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
在接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
第五方面,本发明提供了一种数据主,包括:
粗量化单元,用于对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
计算单元,用于针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
加密单元,用于利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
发送单元,用于将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
第六方面,本发明提供了一种数据用户,包括:
接收单元,用于接收数据主发送的同态加密后的距离表和加密密钥;
发送单元,用于生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
所述接收单元,进一步用于接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
请求单元,用于根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
解密单元,用于利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密;
查找单元,用于根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
所述发送单元,进一步用于将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
所述解密单元,进一步用于根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
第七方面,本发明提供了一种私有云,包括:
接收单元,用于接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
计算单元,用于在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
所述计算单元,进一步用于根据码本计算出所述查询点的量化编码;
发送单元,用于将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
第八方面,本发明提供了一种服务器,包括:
接收单元,用于接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
确定单元,用于在所述接收单元接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
解密单元,用于在所述接收单元接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密;
获取单元,用于根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
第九方面,本发明提供了一种高维空间数据的安全查询系统,包括上述数据主、上述数据用户、上述私有云和上述服务器。
本发明实施例提供了一种高维空间数据的安全查询方法、装置及系统,本发明实施例的有益效果可以包括:
1、本发明实施例中,由于私有云是数据主所搭建的可信服务器,因此,数据主可以将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,以由该私有云为数据用户提供w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,从而防止数据用户获取到除查询点以外的数据点的量化编码,以及防止数据用户获取到除w个粗聚类以外的粗聚类对应的随机索引;
2、本发明实施例中,由于服务器是不完全可靠的外包服务器,因此,数据主通过将加密后的外包数据库、加密后的每一个数据点的量化编码、同态私钥发送给服务器,可以防止服务器与数据用户在交互过程中获知到数据用户的查询点所对应的量化编码,以及防止服务器获知到外包数据库中的数据、每一个数据点的量化编码;
3、本发明实施例中,数据主通过将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户只能够获取到查询点的量化编码和w个粗聚类中每一个数据点分别对应的量化编码。
附图说明
图1是本发明实施例提供的一种安全查询方法示意图;
图2是本发明实施例提供的另一种安全查询方法示意图;
图3是本发明实施例提供的再一种安全查询方法示意图;
图4是本发明实施例提供的又一种安全查询方法示意图;
图5是本发明实施例提供的又一种安全查询方法示意图;
图6是本发明实施例提供的数据主结构示意图;
图7是本发明实施例提供的数据用户结构示意图;
图8是本发明实施例提供的私有云结构示意图;
图9是本发明实施例提供的服务器结构示意图;
图10是本发明实施例提供的安全查询系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在面向高维空间数据的安全查询时,可以涉及到以下三个设备:
1、数据主(Data Owner):外包数据库D的拥有者,可以是企业实体,也可以是个人工作站,其中,该外包数据库D为高维空间的数据集,其维数较大;通常情况下,数据主将该外包数据库D外包给一个不完全可靠的服务器。
2、数据用户(Client):可以生成一个查询点q,通过服务器查询外包数据库D中的数据,其安全性不完全可靠,可能会窥探到除查询结果以外的其他数据。
3、服务器(Server):用于存储数据主的外包数据库D的服务器,是一个第三方的服务器,例如,百度云,其安全性不完全可靠,可能会窥探到外包数据库D中的数据。
为了防止服务器对外包数据库中数据以及数据用户查询内容的窥探,以及防止数据用户对除其查询内容以外的数据的窥探,数据主可以搭建一个可信服务器,该可信服务器如下:
4、私有云(Private Cloud):是数据主搭建的一个可信服务器,完全可靠,由于一般的服务器相对于能够提供大量数据存储的第三方服务器的计算性能较差,但该私有云也可以完成一些较小规模的计算。
下面可以针对上述四个设备分别进行阐述,以对本发明实施例提供的高维空间数据的安全查询方法进行说明。
首先,针对数据主,本发明实施例提供了一种高维空间数据的安全查询方法,请参考图1,该方法可以包括以下步骤:
步骤101:对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
步骤102:针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
步骤103:利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
步骤104:将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
根据本实施例提供的方案,可以具有如下有益效果:1、由于私有云是数据主所搭建的可信服务器,因此,数据主可以将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,以由该私有云为数据用户提供w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,从而防止数据用户获取到除查询点以外的数据点的量化编码,以及防止数据用户获取到除w个粗聚类以外的粗聚类对应的随机索引;2、由于服务器是不完全可靠的外包服务器,因此,数据主通过将加密后的外包数据库、加密后的每一个数据点的量化编码、同态私钥发送给服务器,可以防止服务器与数据用户在交互过程中获知到数据用户的查询点所对应的量化编码,以及防止服务器获知到外包数据库中的数据、每一个数据点的量化编码;3、数据主通过将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户只能够获取到查询点的量化编码和w个粗聚类中每一个数据点分别对应的量化编码。
在本发明一个优选实施例中,由于在得到的K个粗聚类中可能存在不同粗聚类中所包括的数据点不一致的情况,攻击者可能会通过数据统计,获取到一些粗聚类的信息,从而影响数据安全,因此,可以随机生成多个无效数据点,并将随机生成的多个无效数据点分别填充至每一个粗聚类中,以使每一个粗聚类中所包括的数据点个数相等,从而可以进一步保证数据的安全性。
其次,针对数据用户,本发明实施例提供了一种高维空间数据的安全查询方法,请参考图2,该方法可以包括以下步骤:
步骤201:接收数据主发送的同态加密后的距离表和加密密钥;
步骤202:生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
步骤203:接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
步骤204:根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
步骤205:利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密,并根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
步骤206:将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
步骤207:根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
根据本发明实施例提供的方案,可以具有如下有益效果:1、数据用户接收到数据主发送的同态加密后的距离表和加密密钥,可以无法获知到具体的距离表内容,从而可以保证数据安全。2、可以从私有云处获取到w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码,而无法获知到除w个粗聚类以外的粗聚类对应的随机索引,从而可以进一步保证数据安全。3、可以从服务器处获知到w个粗聚类中每一个数据点分别对应的加密后的量化编码,进而进行解密,只能够获知到w个粗聚类中每一个数据点分别对应的量化编码,而无法获知到除w个粗聚类以外的数据点的量化编码。4、可以从服务器处获知到加密后的k个加密数据点,进而进行解密,可以只获知到k个数据点内容,而无法获知到除k个数据点以外的其他数据。5、可以防止服务器与数据用户在交互过程中获知到数据用户的查询点所对应的量化编码,以及防止服务器获知到外包数据库中的数据、每一个数据点的量化编码。
在本发明一个优选实施例中,若直接将n个近似距离的同态密文发送给服务器,服务器可以根据同态私钥解密出该真实的n个近似距离,可能会对数据安全造成影响,因此,可以对n个近似距离的同态密文分别进行相同程度的扰动,以使在将扰动的n个近似距离的同态密文发送给服务器之后,服务器无法获知扰动前真实的每一个近似距离,从而可以进一步保证数据安全。
再次,针对私有云,本发明实施例提供了一种高维空间数据的安全查询方法,请参考图3,该方法可以包括以下步骤:
步骤301:接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
步骤302:在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
步骤303:根据码本计算出所述查询点的量化编码;
步骤304:将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
根据本发明实施例提供的方案,可以具有如下有益效果:私有云为数据用户提供w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码,从而可以防止数据用户获知到除w个粗聚类以外的粗聚类对应的随机索引,从而可以保证数据安全。
最后,针对服务器,本发明实施例提供了一种高维空间数据的安全查询方法,请参考图4,该方法可以包括以下步骤:
步骤401:接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
步骤402:在接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
步骤403:在接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
根据本发明实施例提供的方案,可以具有如下有益效果:1、从数据主处获取到加密后的外包数据库、加密后的每一个数据点的量化编码和同态私钥,从而可以防止服务器获知到外包数据库中的数据、每一个数据点的量化编码。2、即使接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求,也只能够向数据用户返回w个粗聚类中每一个数据点对应的加密后的量化编码,而无法获知到数据用户具体的查询内容。3、即使接收到数据用户发送的n个近似距离的同态密文,也只能够向数据用户返回k个加密数据点,而无法获知到数据该k个数据点的具体内容。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及数据主、数据用户、服务器和私有云之间交互的具体实施例对本发明作进一步地详细描述。
本发明实施例提供了一种高维空间数据的安全查询方法,请参考图5,该方法可以包括以下步骤:
步骤501:数据主对外包数据库D进行粗量化,得到K个量化中心集合Q和K个粗聚类S(D),为K个粗聚类S(D)中的每一个粗聚类S(D)生成相应的随机索引I。
在本实施例中,由于外包数据库D是一个高维空间的数据集合,且该数据集合所包括的数据量较大,因此为了将降低后续过程的计算量,可以将该高维空间的数据集合进行分类,其中,数据主可以采用K均值聚类方式对外包数据D进行粗量化。
其中,对外包数据库D进行粗量化之后可以得到K个粗聚类S(D),每一个粗聚类S(D)中包括多个数据点,其中,K个粗聚类S(D)中所包括数据点的集合即是外包数据库D所包括的数据点的集合。
由于每一个粗聚类S(D)中所包括的多个数据点都是以该粗聚类S(D)内的一个中心点进行粗聚类的,其粗聚类的原则是与该中心点之间的距离在设定距离范围内的数据点对应一个粗聚类S(D),其中,每一个粗聚类S(D)所对应的中心点可以是粗聚类中所包括实际的一个数据点,也可以是一个虚拟的点。而K个粗聚类S(D),就包括K个中心点,那么K个中心点的集合即为K个量化中心集合。
在本实施例中,为了便于后续过程中对粗聚类的查找,可以为每一个粗聚类S(D)生成相应的随机索引I,其中,该随机索引I可以是随机生成的任意标识。
其中,K为正整数。
步骤502:数据主随机生成多个无效数据点,并将随机生成的多个无效数据点分别填充至每一个粗聚类S(D)中,以使每一个粗聚类S(D)中所包括的数据点个数相等,填充后的每一个粗聚类可以表示为S(D+)。
在本实施例中,由于在得到的K个粗聚类S(D)中可能存在不同粗聚类S(D)中所包括的数据点不一致的情况,攻击者可能会通过数据统计,获取到一些粗聚类S(D)的信息,从而影响数据安全,因此,可以随机生成多个无效数据点,并将随机生成的多个无效数据点分别填充至每一个粗聚类S(D)中,以使填充后的每一个粗聚类S(D+)中所包括的数据点个数相等,从而可以进一步保证数据的安全性。
步骤503:数据主针对K个粗聚类S(D+)中每一个粗聚类S(D+)分别计算相应的码本C、距离表T和K个粗聚类S(D+)中每一个粗聚类S(D+)中各个数据点的量化编码C(D+)。
在本实施例中,可以使用乘积量化方式对K个粗聚类S(D+)中每一个粗聚类S(D+)进行计算。
其中,该乘积量化方式可以包括:将粗聚类S(D+)中所对应的高维向量划分为等长子向量,分别在子向量空间中进行K均值聚类,生成码本C;根据子向量所属粗聚类S(D+)的随机索引I,将高维向量编码成整数序列,从而实现高维向量空间的压缩和高效表达;根据码本C计算出距离表T;以及针对粗聚类S(D+)中的每一个数据点计算相应的量化编码C(D+)。
其中,码本C是子向量空间中计算得到的聚类中心集合;距离表T是子向量空间中任意两个数据点之间距离的集合。
步骤504:数据主利用加密密钥KEYs对每一个粗聚类S(D+)中每一个数据点的量化编码C(D+)进行加密得到Es(C(D+)),以及利用加密密钥KEYs对外包数据库D进行加密得到Es(D),利用同态公钥KEYpub对距离表T进行加密得到EH(T)。
在本实施例中,为了防止服务器获知到外包数据库D中的数据以及每一个数据点的量化编码,可以利用加密密钥KEYs对每一个粗聚类S(D+)中每一个数据点的量化编码C(D+)进行加密,以及利用加密密钥KEYs对外包数据库D进行加密。
其中,生成该加密密钥KEYs的加密算法可以是一般的加密算法,例如,对称加密算法Es。
在本实施例中,为了防止数据用户获取到距离表T中的内容,而数据用户又需要查询距离表T,因此,可以利用同态加密算法EH分别生成同态公钥KEYpub和同态私钥KEYpri,并利用同态公钥KEYpub对距离表T进行加密。
步骤505:数据主将K个量化中心集合Q、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I和码本C发送给私有云,将加密后的外包数据库Es(D)、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类S(D+)中每一个数据点的量化编码Es(C(D+))和同态私钥KEYpri发送给服务器,将同态加密后的距离表EH(T)和加密密钥KEYs发送给数据用户。
步骤506:数据用户生成查询点q,并将生成的查询点发送给私有云。
其中,数据用户即是需要进行数据查询的客户端。
其中,该查询点q可以是数据用户所需查询的信息,例如,指纹信息、图片信息等。当查询点q对应的是指纹信息时,那么外包数据库D中存储的所有数据点,每一个数据点都是一个指纹特征;当查询点q对应的图片信息时,那么外包数据库D中存储的所有数据点,每一个数据点都是一个图片特征。
步骤507:私有云根据K个量化中心集合Q计算出与查询点q最接近的w个粗聚类,并得到该w个粗聚类中每一个粗聚类分别对应的随机索引Iw,以及根据码本C计算出查询点q的量化编码Cq,并将Iw和Cq发送给数据用户。
其中,私有云计算出与查询点q最接近的w个粗聚类,是为了后续过程降低查询量。
在本实施例中,w是一个不大于K的正整数,对于w值的确定取决于最终的查询质量和安全要求。其中,w取值越大,最后数据用户得到的查询结果的准确率越高,但是向数据用户泄露的信息也越多;w取值越小,数据用户得到的量化编码的信息越少,即安全性越高,但是数据用户得到的查询结果的准确率较低。根据大量的实验表明,该w值的设置可以设置为粗聚类个数K的百分之一,如此,既可以保证向数据用户泄露较少的信息,又可以得到较好的查询质量。
步骤508:数据用户根据w个粗聚类中每一个粗聚类分别对应的随机索引Iw向服务器发送请求,该请求用于获取w个粗聚类中每一个数据点分别对应的量化编码。
步骤509:服务器根据w个粗聚类中每一个粗聚类分别对应的随机索引Iw在加密后的每一个数据点的量化编码中查找出w个粗聚类中每一个数据点分别对应的加密后的量化编码,并将查找到的w个粗聚类中每一个数据点分别对应的加密后的量化编码发送给数据用户。
步骤510:数据用户利用加密密钥KEYs和解密算法Es -1对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密,得到w个粗聚类中每一个数据点分别对应的量化编码;并根据查询点q的量化编码Cq和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表EH(T)中查找n个近似距离的同态密文EH(dis)n。
在本实施例中,n是正整数,n值即是w个粗聚类中总共包括的数据点个数减去n个粗聚类中总共包括的无效点个数。
其中,n个近似距离的同态密文EH(dis)n即是w个粗聚类中任意一个数据点与查询点q之间的近似距离。
步骤511:数据用户对n个近似距离的同态密文EH(dis)n分别进行相同程度的扰动。
其中,可以通过如下扰动公式分别对每一个近似距离的同态密文EH(dis)n进行扰动:
EH(dis)n=EH(dis*b+s) (1)
其中,EH(dis)n为扰动后的近似距离的同态密文,b和s均为随机生成的正整数,该数据用户对n个近似距离的同态密文EH(dis)n分别进行相同程度的扰动的目的在于将扰动的n个近似距离的同态密文发送给服务器之后,服务器无法获知扰动前的每一个近似距离,从而可以保证数据的安全。
需要说明的是,由于本实施例是对每一个近似距离的同态密文EH(dis)n进行的是相同程度的扰动,因此,即使近似距离发生变化,在服务器对扰动后的近似距离进行排序时,与服务器对扰动前的近似距离排序的结果相同,因此,不会对最终的查询结果造成影响。
步骤512:服务器利用同态私钥KEYpri对n个近似距离的同态密文进行解密,并对解密后n个同态密文的近似距离进行排序,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并将该k个加密数据点发送给数据用户。
其中,k是不大于n的正整数。
步骤513:数据用户根据加密密钥KEYs和解密算法Es -1对该k个加密数据点进行解密得到k个查询结果。
其中,该k个查询结果即是与查询点q最相似的k个指纹特征,或,是与查询点q最相似的k个图片特征。
在本实施例中,该k个查询结果为近似结果。
根据本实施例提供的方案,由于外包数据库无需下载到数据用户中,而是下载到服务器中,而服务器计算能力远远大于数据用户的计算能力,从而可以快速的实现高维空间数据的安全查询。
本发明实施例提供了一种数据主,请参考图6,该数据主60可以包括:
粗量化单元601,用于对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
计算单元602,用于针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和K个粗聚类中每一个粗聚类中各个数据点的量化编码;
加密单元603,用于利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
发送单元604,用于将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
在本发明一个优选实施例中,该数据主60可以进一步包括:
填充单元605,用于随机生成多个无效数据点,并将随机生成的多个无效数据点分别填充至每一个粗聚类中,以使每一个粗聚类中所包括的数据点个数相等。
本发明实施例还提供了一种数据用户,请参考图7,该数据用户70可以包括:
接收单元701,用于接收数据主发送的同态加密后的距离表和加密密钥;
发送单元702,用于生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
所述接收单元701,进一步用于接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
请求单元703,用于根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
解密单元704,用于利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密;
查找单元705,用于根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
所述发送单元702,进一步用于将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
所述解密单元704,进一步用于根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
在本发明一个优选实施例中,该数据用户70可以进一步包括:
扰动单元706,用于对n个近似距离的同态密文分别进行相同程度的扰动。
本发明实施例还提供了一种私有云,请参考图8,该私有云80可以包括:
接收单元801,用于接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
计算单元802,用于在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
所述计算单元802,进一步用于根据码本计算出所述查询点的量化编码;
发送单元803,用于将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
本发明实施例还提供了一种服务器,请参考图9,该服务器90可以包括:
接收单元901,用于接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
确定单元902,用于在所述接收单元接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
解密单元903,用于在所述接收单元接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密;
获取单元904,用于根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
本发明实施例还提供了一种高维空间数据的安全查询系统,请参考图10,包括上述实施例中任一所述的数据主60、上述实施例中任一所述的数据用户70、上述实施例中所述的私有云80和上述实施例中所述的服务器90。
综上,本发明实施例至少可以实现如下有益效果:
1、本发明实施例中,由于私有云是数据主所搭建的可信服务器,因此,数据主可以将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,以由该私有云为数据用户提供w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,从而防止数据用户获取到除查询点以外的数据点的量化编码,以及防止数据用户获取到除w个粗聚类以外的粗聚类对应的随机索引,从而可以保证数据安全。
本发明实施例中,由于服务器是不完全可靠的外包服务器,因此,数据主通过将加密后的外包数据库、加密后的每一个数据点的量化编码、同态私钥发送给服务器,可以防止服务器与数据用户在交互过程中获知到数据用户的查询点所对应的量化编码,以及防止服务器获知到外包数据库中的数据、每一个数据点的量化编码,从而可以保证数据安全。
本发明实施例中,数据主通过将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户只能够获取到查询点的量化编码和w个粗聚类中每一个数据点分别对应的量化编码,而无法获知到具体的距离表内容,从而可以保证数据安全。
2、本发明实施例中,可以从私有云处获取到w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,而无法获知到除w个粗聚类以外的粗聚类对应的随机索引,从而可以进一步保证数据安全。
本发明实施例中,可以从服务器处获知到w个粗聚类中每一个数据点分别对应的加密后的量化编码,进而进行解密,只能够获知到w个粗聚类中每一个数据点分别对应的量化编码,而无法获知到除w个粗聚类以外的数据点的量化编码。
本发明实施例中,可以从服务器处获知到加密后的k个加密数据点,进而进行解密,可以只获知到k个数据点内容,而无法获知到除k个数据点以外的其他数据。
本发明实施例中,可以防止服务器与数据用户在交互过程中获知到数据用户的查询点所对应的量化编码,以及防止服务器获知到外包数据库中的数据、每一个数据点的量化编码。
3、本发明实施例中,由于外包数据库无需下载到数据用户中,而是下载到服务器中,而服务器计算能力远远大于数据用户的计算能力,从而可以快速的实现高维空间数据的安全查询。
上述设备内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种高维空间数据的安全查询方法,应用于数据主,其特征在于,包括:
对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和该粗聚类中各个数据点的量化编码;
利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
2.一种高维空间数据的安全查询方法,应用于数据用户,其特征在于,包括:
接收数据主发送的同态加密后的距离表和加密密钥;
生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密,并根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
3.根据权利要求2所述的方法,其特征在于,在所述将该n个近似距离的同态密文发送给服务器之前,进一步包括:
对n个近似距离的同态密文分别进行相同程度的扰动,以使在将扰动的n个近似距离的同态密文发送给服务器之后,服务器无法获知扰动前的每一个近似距离。
4.一种高维空间数据的安全查询方法,应用于私有云,其特征在于,包括:
接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
根据码本计算出所述查询点的量化编码;
将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
5.一种高维空间数据的安全查询方法,应用于服务器,其特征在于,包括:
接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
在接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
在接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
6.一种数据主,其特征在于,包括:
粗量化单元,用于对外包数据库进行粗量化,得到K个量化中心集合和K个粗聚类,为每一个粗聚类生成相应的随机索引;
计算单元,用于针对K个粗聚类中每一个粗聚类分别计算相应的码本、距离表和该粗聚类中各个数据点的量化编码;
加密单元,用于利用加密密钥对每一个粗聚类中每一个数据点的量化编码进行加密,以及利用所述加密密钥对外包数据库进行加密,利用同态公钥对距离表进行加密;
发送单元,用于将K个量化中心集合、K个粗聚类中每一个粗聚类的随机索引和码本发送给私有云,将加密后的外包数据库、K个粗聚类中每一个粗聚类的随机索引、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥发送给服务器,将同态加密后的距离表和加密密钥发送给数据用户,以使数据用户从私有云处获取w个粗聚类中每一个粗聚类分别对应的随机索引和查询点的量化编码,以及从服务器处获取w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
7.一种数据用户,其特征在于,包括:
接收单元,用于接收数据主发送的同态加密后的距离表和加密密钥;
发送单元,用于生成查询点,并将生成的所述查询点发送给私有云,以使私有云根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,以及根据码本计算出所述查询点的量化编码;
所述接收单元,进一步用于接收私有云发送的w个粗聚类中每一个粗聚类分别对应的随机索引和所述查询点的量化编码;
请求单元,用于根据w个粗聚类中每一个粗聚类分别对应的随机索引向服务器请求w个粗聚类中每一个数据点分别对应的量化编码,以使服务器返回w个粗聚类中每一个数据点分别对应的加密后的量化编码;
解密单元,用于利用所述加密密钥对服务器发送的w个粗聚类中每一个数据点分别对应的加密后的量化编码进行解密;
查找单元,用于根据所述查询点的量化编码和w个粗聚类中每一个数据点的量化编码,在同态加密后的距离表中查找n个近似距离的同态密文;
所述发送单元,进一步用于将该n个近似距离的同态密文发送给服务器,以使服务器利用同态私钥对n个近似距离的同态密文进行解密,并根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点;
所述解密单元,进一步用于根据所述加密密钥对服务器返回的k个加密数据点进行解密得到k个查询结果;
其中,K、w、k、n均为正整数,K不小于w,n不小于k。
8.一种私有云,其特征在于,包括:
接收单元,用于接收数据主发送的K个量化中心集合、每一个粗聚类的随机索引和码本;
计算单元,用于在接收到数据用户发送的查询点时,根据K个量化中心集合计算出与所述查询点最接近的w个粗聚类,并确定w个粗聚类中每一个粗聚类分别对应的随机索引;
所述计算单元,进一步用于根据码本计算出所述查询点的量化编码;
发送单元,用于将w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码发送给数据用户,以使数据用户根据w个粗聚类中每一个粗聚类对应的随机索引和所述查询点的量化编码与服务器之间进行交互,从服务器处获取到w个粗聚类中每一个数据点分别对应的加密后的量化编码和k个加密数据点,并对k个加密数据点进行解密得到k个查询结果;
其中,K、w、k均为正整数,K不小于w。
9.一种服务器,其特征在于,包括:
接收单元,用于接收数据主发送的加密后的外包数据库、K个粗聚类S(D+)中每一个粗聚类S(D+)的随机索引I、加密后的每一个粗聚类中每一个数据点的量化编码和同态私钥;
确定单元,用于在所述接收单元接收到数据用户发送的w个粗聚类中每一个数据点分别对应的量化编码的请求时,根据该请求中携带的w个粗聚类中每一个粗聚类分别对应的随机索引,确定并返回w个粗聚类中每一个数据点对应的加密后的量化编码;
解密单元,用于在所述接收单元接收到数据用户发送的n个近似距离的同态密文时,利用同态私钥对n个近似距离的同态密文进行解密;
获取单元,用于根据近似距离最小的k个同态密文在加密后的外包数据库中获取分别对应的加密数据点,并返回该k个加密数据点,以使数据用户对该k个加密数据点进行解密得到k个查询结果;
其中,w、k、n均为正整数,n不小于k。
10.一种高维空间数据的安全查询系统,其特征在于,包括上述权利要求6所述的数据主、上述权利要求7所述的数据用户、上述权利要求8所述的私有云和上述权利要求9所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641362.3A CN105303121B (zh) | 2015-09-30 | 2015-09-30 | 一种高维空间数据的安全查询方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641362.3A CN105303121B (zh) | 2015-09-30 | 2015-09-30 | 一种高维空间数据的安全查询方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105303121A CN105303121A (zh) | 2016-02-03 |
CN105303121B true CN105303121B (zh) | 2018-05-25 |
Family
ID=55200375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510641362.3A Active CN105303121B (zh) | 2015-09-30 | 2015-09-30 | 一种高维空间数据的安全查询方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105303121B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858251B (zh) * | 2018-08-22 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据查询方法和装置 |
CN109688143B (zh) * | 2018-12-28 | 2021-01-22 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
CN104765848A (zh) * | 2015-04-17 | 2015-07-08 | 中国人民解放军空军航空大学 | 混合云存储中支持结果高效排序的对称可搜索加密方法 |
-
2015
- 2015-09-30 CN CN201510641362.3A patent/CN105303121B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
CN104765848A (zh) * | 2015-04-17 | 2015-07-08 | 中国人民解放军空军航空大学 | 混合云存储中支持结果高效排序的对称可搜索加密方法 |
Non-Patent Citations (4)
Title |
---|
Product Quantization for Nearest Neighbor Search;Herve Jegou etc;《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》;20110131;第33卷(第1期);第117-128页 * |
Prometheus: Privacy-aware data retrieval on hybrid cloud;Zhigang Zhou etc;《2013 Proceedings IEEE INFOCOM》;20130725;第2643-2651页 * |
Video Google: a text retrieval approach to object matching in videos;J. Sivic etc;《Proceedings Ninth IEEE International Conference on Computer Vision》;20031231;第1470-1477页 * |
高维数据集合的空间区域描述与快速匹配;崔江涛 等;《计算机研究与发展》;20111231;第124-131页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105303121A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Castiglione et al. | Cloud-based adaptive compression and secure management services for 3D healthcare data | |
CN108701198B (zh) | 安全控制系统和方法 | |
CN106127075B (zh) | 一种云存储环境下基于隐私保护的可搜索加密方法 | |
CN105871543B (zh) | 多数据拥有者背景下基于属性的多关键字密文检索方法 | |
US10476662B2 (en) | Method for operating a distributed key-value store | |
CN106708921A (zh) | 对加密数据的多对数范围查询 | |
CN109687952A (zh) | 数据处理方法及其装置、电子装置及存储介质 | |
CN109615021B (zh) | 一种基于k均值聚类的隐私信息保护方法 | |
CN110659379B (zh) | 一种基于深度卷积网络特征的可搜索加密图像检索方法 | |
CN104657673A (zh) | 平均复杂度理想安全的保序加密 | |
Ribeiro et al. | XDS-I outsourcing proxy: ensuring confidentiality while preserving interoperability | |
CN108156138A (zh) | 一种用于雾计算的细粒度可搜索加密方法 | |
CN111340247A (zh) | 纵向联邦学习系统优化方法、设备及可读存储介质 | |
CN107995299A (zh) | 一种云环境下抗访问模式泄露的盲存储方法 | |
CN108182220A (zh) | 云服务器中基于用户隐私保护的图像检索方法 | |
CN110175169A (zh) | 一种加密数据去重方法、系统及相关装置 | |
CN111191255B (zh) | 信息加密处理的方法、服务器、终端、设备以及存储介质 | |
CN105303121B (zh) | 一种高维空间数据的安全查询方法、装置及系统 | |
CN115664629A (zh) | 一种基于同态加密的智慧物联平台数据隐私保护方法 | |
CN109495266A (zh) | 基于随机数的数据加密方法及装置 | |
Tallapally et al. | Competent multi-level encryption methods for implementing cloud security | |
CN113630250B (zh) | 基于数据加密的模型训练方法及系统 | |
CN110536118A (zh) | 一种数据获取方法、装置、以及计算机存储介质 | |
Liu et al. | EncSIM: An encrypted similarity search service for distributed high-dimensional datasets | |
CN112468521B (zh) | 基于隐私保护的数据处理方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |