CN104166821A - 一种数据处理的方法和装置 - Google Patents
一种数据处理的方法和装置 Download PDFInfo
- Publication number
- CN104166821A CN104166821A CN201310186235.XA CN201310186235A CN104166821A CN 104166821 A CN104166821 A CN 104166821A CN 201310186235 A CN201310186235 A CN 201310186235A CN 104166821 A CN104166821 A CN 104166821A
- Authority
- CN
- China
- Prior art keywords
- attribute
- bucket
- data item
- index
- data
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理的方法和装置,涉及信息安全领域,能够提高保存在云服务器中的数据的隐私性。该方法包括:获取原始数据;对原始数据按照n个属性进行分桶;其中每一原始数据项对应的n个属性的桶索引;生成第一拷贝,包括m个第一数据组,第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、原始数据项对应的第一属性的桶索引,且不包括原始数据项对应的第二属性的桶索引;生成第二拷贝,包括m个第二数据组,第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、原始数据项对应的第二属性的桶索引,且不包括原始数据项对应的第一属性的桶索引;将第一拷贝和第二拷贝发送云服务器。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种数据处理的方法和装置。
背景技术
目前云计算中一个亟待解决的问题是用户如何在不暴露自己数据给云服务器的情况下,利用云服务器对数据进行计算并得到相应结果。
为了实现在保护用户数据不暴露给云服务器的前提下对云服务器的有效利用,现有技术使用“分桶”的方法对用户数据进行处理后再保存在云服务器。用户的查询语句转化为对“桶”的查询后发送到云服务器执行,执行结果返回给用户后做进一步的处理,得到最终结果。具体如下:
若用户数据中的每一数据项具有n个属性(A1,A2,...,An),每个属性根据其值域被划分为若干个桶,并给每一个桶赋予一个桶索引(id,index),则每一数据项对应n个属性的桶索引。
任意一个原始数据项ti=(a1i,a2i,...,ani)被加密为eiti,它是使用某种加密方案加密ti=(a1i,a2i,...,ani)的结果,则云服务器中保存的是Di(ti)=(eiti,d1i,d2i,...,dni),其中dji是属性Aj的值对应的桶索引,即云服务器中只保存数据项的加密结果和桶索引。
安全网关(SG,Secure Gateway)维护具体数据到桶索引的对应关系和加密数据的密钥。用户的查询语句首先发送到SG,SG对查询语句进行变换,将对于原始数据的查询变换为对桶索引的查询,变换后的查询发送到云服务器执行,并由云服务器将执行结果返回SG。
由于云服务器返回的查询结果是通过对桶索引的查询得到的,因此用户需要的结果可能只是该结果的一个子集。SG通过将从云端得到的结果解密,剔除用户不需要的数据,并将真正结果以明文形式返回给用户。
采用上述方法,当云服务器可以同时访问加密数据附加的两个属性对应的桶索引(例如:属性A1和A2),且上述两个属性有很大的关联性时,可能会造成隐私的泄漏。如果敌手具有相关的背景知识和数据分布情况,那么敌手就可能推断出被分桶的属性意义以及相关桶索引的意义,造成隐私泄露。
发明内容
本发明的实施例提供的一种数据处理的方法和装置,能够提高保存在云服务器中的数据的隐私性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据处理的方法,包括:
获取原始数据;所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
对于所述原始数据按照所述n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引;
生成所述原始数据的第一拷贝;所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
将所述第一拷贝和所述第二拷贝发送云服务器。
在第一种可能实现的方式中,根据第一方面,所述方法还包括:
根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引;其中,每一第一属性的桶索引对应至少一个第一属性的安全索引,且第一属性的安全索引两两不同;
确定m个第一加密数据项分别对应的第一属性的安全索引;
根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
在第二种可能实现的方式中,根据第一种可能实现的方式,所述根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引包括:
根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数;
根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
在第三种可能实现的方式中,根据第一种可能实现的方式,云服务器中的所述第一拷贝全部或部分损坏时,所述方法还包括:
获知第一拷贝中各个第一属性桶是否损坏;所述第一属性桶为所述原始数据按照所述第一属性分桶得到的;
生成用于恢复所述第一拷贝中损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
将所述用于恢复所述损坏桶的请求信息发送给云服务器;以使得所述云服务器根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,并采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
接收云服务器发送的反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;
采用第二处理方案,对所述反馈信息进行处理,得到反馈信息处理结果;所述反馈信息处理结果包括:与损坏桶对应的第二加密数据项;
采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应;
从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项;
生成损坏桶对应的各个第一数据恢复组;所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引;
将损坏桶对应的各个第一数据恢复组发送给云服务器。
在第四种可能实现的方式中,根据第三种可能实现的方式,所述从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项包括:
确定各个原始数据恢复项所对应的第一属性的桶索引;
若原始数据恢复项所对应的第一属性的桶索引与损坏桶的桶索引一致,则该原始数据恢复项与所述损坏桶对应。
第二方面,提供了一种数据处理的方法,包括:
接收原始数据的第一拷贝和原始数据的第二拷贝;
其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
保存所述第一拷贝和所述第二拷贝。
在第一种可能实现的方式中,根据第二方面,所述保存所述第一拷贝和所述第二拷贝包括:
将所述第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将所述第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
在第二种可能实现的方式中,根据第二方面,所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
在第三种可能实现的方式中,根据第二种可能实现的方式,当所述第一拷贝全部或部分损坏时,所述方法还包括:
接收所述安全网关发送的用于恢复所述损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
向所述安全网关发送反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;以使得安全网关得到损坏桶对应的各个第一数据恢复组;
接收安全网关发送的所述损坏桶对应的各个第一数据恢复组。
第三方面,提供了数据处理的装置,包括:
获取单元:用于获取原始数据;所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
分桶单元:用于对于所述原始数据按照所述n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引;
第一生成单元:用于生成所述原始数据的第一拷贝;所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
第二生成单元:用于生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
发送单元:用于将所述第一生成单元生成的第一拷贝和所述第二生成单元生成的第二拷贝发送云服务器。
在第一种可能实现的方式中,根据第三方面,所述装置还包括:
计算安全索引单元:用于根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引;其中,每一第一属性的桶索引对应至少一个第一属性的安全索引,且第一属性的安全索引两两不同;
确定安全所索引单元:用于确定m个第一加密数据项分别对应的第一属性的安全索引;并根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
在第二种可能实现的方式中,根据第一种可能实现的方式,所述计算安全索引单元具体用于:
根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数;
根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
在第三种可能实现的方式中,根据第一种可能实现的方式,所述装置还包括:
获知单元:获知第一拷贝中各个第一属性桶是否损坏;所述第一属性桶为所述原始数据按照所述第一属性分桶得到的;
生成请求信息单元:用于生成用于恢复所述第一拷贝中损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述发送单元还用于:将所述生成请求信息单元所生成的用于恢复所述损坏桶的请求信息发送给云服务器;以使得所述云服务器根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,并采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
接收单元:用于接收云服务器发送的反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;
处理单元:用于采用第二处理方案,对所述反馈信息进行处理,得到反馈信息处理结果;所述反馈信息处理结果包括:与损坏桶对应的第二加密数据项;采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应;从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项;
生成恢复数据单元:生成损坏桶对应的各个第一数据恢复组;所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引;
所述发送单元还用于:将损坏桶对应的各个第一数据恢复组发送给云服务器。
第四方面,提供了一种数据处理的装置,包括:接收单元:用于接收原始数据的第一拷贝和原始数据的第二拷贝;
其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
保存单元:用于保存所述第一拷贝和所述第二拷贝。
在第一种可能实现的方式中,根据第四方面,所述保存单元具体用于:
将所述第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将所述第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
在第二种可能实现的方式中,根据第一方面,所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
在第三种可能实现的方式中,根据第二种可能实现的方式,所述装置还包括:处理单元、发送单元;
所述接收单元还用于:接收所述安全网关发送的用于恢复所述损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述处理单元:用于根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
所述发送单元用于:向所述安全网关发送反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;以使得安全网关得到损坏桶对应的各个第一数据恢复组;
所述接收单元还用于:接收安全网关发送的所述损坏桶对应的各个第一数据恢复组。
本发明的实施例提供的一种数据处理的方法和装置,能够通过对原始数据按照其包含的n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引,并生成所述原始数据的至少两个拷贝,然后将所述原始数据的至少两个拷贝发送云服务器。由于所述原始数据的任一拷贝中包括原始数据项加密后得到的加密数据项和原始数据按照该属性分桶得到的桶索引,且不同拷贝中,原始数据项对应的加密数据项不相同,使得敌手从云服务器中保存的至少两个拷贝中推断出不同属性分桶的属性意义以及相关桶索引的意义的概率大大降低,从而提高了保存在云服务器中的数据的隐私性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理的方法的流程图;
图2为本发明实施例提供的一种数据处理的方法的流程图;
图3为本发明实施例提供的另一种数据处理的流程图;
图4为本发明实施例提供的一种数据处理的装置SG的示意图;
图5为本发明实施例提供的另一种SG的示意图;
图6为本发明实施例提供的另一种SG的示意图;
图7为本发明实施例提供的一种数据处理的装置云服务器的示意图;
图8为本发明实施例提供的另一种云服务器的示意图;
图9为本发明实施例提供的另一种SG的示意图;
图10为本发明实施例提供的另一种云服务器的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明实施例提供的一种数据处理的方法进行详细描述。
本实施例的执行主体以SG为例,如图1所示,所述方法包括以下步骤:
S101、SG获取原始数据。
上述原始数据包括m个原始数据项,m≥1,每一原始数据项包含有n个属性对应的数据,也就是说,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性。
需要指出的是,上述的第一属性和第二属性,表示的是每一原始数据项含有的n个属性中的任意两个属性,当然,如果n=2,即每一原始数据项只含有两个属性,则第一属性为这两个属性中的一个属性,第二属性为这两个属性中的另一个属性。
S102、SG对所述原始数据按照所述n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引。
假设原始数据中的每一原始数据项都包括n个属性对应的数据,对于上述n个属性中的任意一个属性Aj,其中1≤j≤n,根据其值域可以划分为若干个桶,将这些桶统称为Aj属性桶,上述Aj属性桶中的每个桶都有一个桶索引与之对应,也就是说,原始数据按照Aj属性分桶后,其中的每一个原始数据项都有一个对应的Aj属性的桶索引与之对应,为简单起见,称每一个原始数据项对应的Aj属性的桶索引为Aj属性的桶索引。
示例的,假设属性Aj表示年龄,其值域为[10,100),那么可以将Aj划分为10个桶,其中,第k个桶表示的年龄段为[10k,10k+10),k=0,1,...,9,如果第k个桶对应的桶索引用xk表示,那么若某一原始数据项中年龄属性对应的数据为43,其按照年龄属性分桶对应的桶索引为x4。
S103、生成所述原始数据的第一拷贝。
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引。
具体的,对于第一拷贝中的任意第一数据组,可以通过以下方式得到:
首先,对于原始数据中的任意原始数据项,根据第一加密方案加密,得到对应的第一加密数据项。
其次,由于经过S102,原始数据中的任意一个原始数据项都有与之对应的n个不同属性的桶索引,因此,任意原始数据项加密后对应的加密数据项也有一个第一属性的桶索引与之对应。
最后,得到包括第i个原始数据项(i可以表示任意一个原始数据项,1≤i≤m)经第一加密方案加密后得到的第一加密数据项和该原始数据项对应的所述第一属性的桶索引,将两个相应的保存作为第一数据组。
示例的,假设ti=(a1i,a2i,...,ani)是第i个原始数据项,是使用第一加密方案加密的结果(其中e的右下标i表示对第i个原始数据项加密,右上标1表示采用第一加密方案对原始数据项i加密),则为第一拷贝中保存的该原始数据项对应的第一数据组(其中D的右下标i表示对第i个原始数据项加密,右上标1表示采用第一加密方案对原始数据项i加密),其中d1i表示第i个原始数据项对应的第一属性的桶索引。需要说明的是,该第一数据组中还可以进一步包括:第i个原始数据项对应的除了第二属性之外的任一其他属性的桶索引。
S104、生成所述原始数据的第二拷贝。
生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引。
示例的,假设ti=(a1i,a2i,...,ani)是第i个原始数据项,是使用第二加密方案加密的结果,则为第二拷贝中保存的该原始数据项对应的第二数据组,其中d2i第i个原始数据项对应的第二属性的桶索引。需要说明的是,该第二数据组中还可以进一步包括:第i个原始数据项对应的除了第一属性之外的任一其他属性的桶索引。
S105、将第一拷贝和第二拷贝发送云服务器。
需要注意的是,上述S103和S104中的第一加密方案和第二加密方案,可以分别是随机确定的一种加密方案,这样加密得到的第一加密数据项和第二加密数据项相同的概率就会很小;或者,第一加密方案和第二加密方案也可以是不同的两种加密方案,这样加密得到不同的第一加密数据项和第二加密数据项。所谓不同的两种加密方案可以是使用同一种加密算法方法,只是加密算法中使用两种不同加密秘钥对应的两种加密方案,也可以使用两种不同的加密算法。SG记录原始数据的不同拷贝所采用的加密方案。
通过上述实施例提供的方法,使得原始数据的任一拷贝中包括原始数据项加密后得到的加密数据项和按照该属性分桶的桶索引,且不同拷贝中,原始数据对应的加密数据项不相同,令敌手从云服务器中保存的至少两个拷贝中推断出不同属性分桶的属性意义以及相关桶索引的意义的概率大大降低,从而提高了保存在云服务器中的数据的隐私性。
本发明实施例提供了另一种数据处理的方法,如图2所示,所述方法的执行主体是云服务器,所述方法包括以下步骤:
S201、接收原始数据的第一拷贝和原始数据的第二拷贝。
其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
S202、保存所述第一拷贝和所述第二拷贝。
具体的,云服务器将第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
具体的,云服务器保存接收到的第一拷贝时,可以按照第一拷贝中的每个第一数据组中的第一属性的桶索引顺序保存数据,这样,就使得相同桶索引的第一数据组保存在同一个数据块中或者连续的几个数据块中;
云服务器保存接收到的第二拷贝时,可以按照第二拷贝中的每个第二数据组中的第二属性的桶索引顺序保存数据,这样,就使得相同桶索引的第二数据组保存在同一个数据块中或者连续的几个数据块中;
当对原始数据按照第一属性查询时,云服务器就可以直接在第一拷贝中的一个数据块或连续几个数据块中,获取需要数据,无需遍历整个第一拷贝中的所有第一数据组。
同理,当对原始数据按照第二属性查询时,云服务器就可以直接在第二拷贝中的一个数据块或连续几个数据块中,获取需要数据,无需遍历整个第二拷贝中的所有第二数据组。
通过上述实施例提供的方法,使得原始数据的任一拷贝中只包括原始数据项加密后得到的加密数据项和按照该属性分桶的桶索引,且不同拷贝中,原始数据对应的加密数据项不相同,令敌手从云服务器中保存的至少两个拷贝中推断出不同属性分桶的属性意义以及相关桶索引的意义的概率大大降低,从而提高了保存在云服务器中的数据的隐私性。并且,当按照第一属性或第二属性进行查询时,只需在对应的一个拷贝中查询,且无需遍历整个拷贝中的所有数据,提高了查询效率。
本发明实施例提供了另一种数据处理的方法,如图3所示,该方法包括以下步骤:
S301、SG获取原始数据,根据原始数据生成第一拷贝和第二拷贝。
具体的,此步骤包括上述实施例中的S101、S102、S103、S104、这四个步骤。
但本实施例的方法与上述实施例的方法不同之处在于,本实施例中S104生成所述原始数据的第二拷贝的过程,还包括以下步骤:
首先,SG根据原始数据按照第一属性进行分桶的结果,计算所述第一属性的安全索引。
原始数据按照第一属性的分桶结果是SG在通过S102得到并保存的,其中包括:原始数据按照第一属性分了几个桶,每个桶的桶索引以及每个桶中包含的原始数据项的个数。
并且,根据原始数据按照第一属性进行分桶的结果,计算得到的第一属性的安全索引。所述第一属性的安全索引需满足:对于每一个第一属性的桶索引,都对应至少一个第一属性的安全索引,也就是说,对于每一个第一属性桶都对应至少一个第一属性的安全索引;并且第一属性的安全索引两两不同。
示例的,所述第一属性的安全索引的计算可以采用如下方法:
1)根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数。
由于每一个第一属性桶都对应至少一个第一属性的安全索引,故而可选的,一个第一属性桶中包含几个原始数据项,那么就将该第一属性桶所对应安全索引的个数确定为几;又可选的,每个第一属性桶对应1个第一属性的安全索引。
另外可选的,本发明实施例中提供一种根据各个第一属性桶中原始数据项的个数,计算每个第一属性桶所对应安全索引的个数的算法,具体如下:
首先,计算任一第一属性桶k的中间参数Dk。
Dk的计算方法如下:
假设需要计算p个数n1,n2,...,np的Dk值,使得取得最小值,其中|nrmodDk|取绝对值最小的结果,例如,5mod3等于-1或者2,则|5mod3|最小值为1。如果有两个数Dk1和Dk2,使得 且Dk1>Dk2,则取Dk1作为Dk。
上述表述的含义为:若所述第一属性进行分桶的分桶结果中,各个桶中的原始数据项个数有不为1的最大公约数,则Dk优选为最大公约数,否则,则Dk优选为各个第一属性桶中原始数据项个数的最小值。
当然,Dk还可以取值为大于等于1且小于上述优选值的任意值。
示例的,假设原始数据按照第一属性进行分桶后,共有3个桶第一属性桶,每个第一属性桶中原始数据项个数分别为3、6、9,则此时Dk=3,即3,6,9的最大公约数。
又示例的,假设原始数据按照第一属性进行分桶后,共有3个桶第一属性桶,每个第一属性桶中原始数据项个数分别为3、5、8,则可选的此时Dk=3。
之后,对于每一个第一属性桶k,计算Ctrk=sizek/Dk。
其中sizek是第一属性桶k中所有数据项的个数,如果Ctrk的计算结果不是整数,还需要对其取整进而得到整数结果,示例的,可以采用向上取整的取整方式,得到整数结果。
2)根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
通过此步骤,使得对于第一属性桶k而言,对应Ctrk个第一属性的安全索引,并且每个安全索引均和第一属性桶k的桶索引xk有关。
示例的,对于任一第一属性桶k而言,采用xk和q(1≤q≤Ctrk)作为输入,计算得到Ctrk个不同的安全索引,示例的,可以采用如下函数计算安全索引:
其中(1≤q≤Ctrk),为桶索引为xk的桶对应的第q个安全索引,key由SG持有。
这样,对于桶索引为xk的桶,就生成了Ctrk个不同的安全索引。
其次,确定m个第一加密数据项分别对应的第一属性的安全索引。
具体的,由于第一拷贝中的每一个第一加密数据项都有一个按原始数据照第一属性进行分桶的桶索引与之对应,而每一个原始数据按照第一属性进行分桶得到的桶索引都有一个第一属性的安全索引与之对应,而由此确定了每一个第一加密数据项对应的每一个第一属性的安全索引的对应关系,从而就确定了m个第一加密数据项分别对应的第一属性的安全索引。
示例的,假设第一拷贝中的第i个第一加密数据项为其对应的第一属性的桶索引为d1i,而桶索引为d1i的桶所对应的安全索引为f1i,则f1i就是对应的安全索引。
然后,根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
具体的,由于第一拷贝中的第i个第一加密数据项是原始数据中的对应原始项ti=(a1i,a2i,...,ani)按照第一加密方案加密得到的,而第二拷贝中的第i个第二加密数据项是原始数据ti=(a1i,a2i,...,ani)按照第二加密方案加密得到的,显然,知都对应同一原始数据项ti=(a1i,a2i,...,ani),也就是说,第一加密数据项和第二加密数据项的对应关系为它们对应同一原始数据项。
示例的,假设第一拷贝中的第i个第一加密数据项为其对应的第一属性的桶索引为d1i,而桶索引为d1i的桶所对应的安全索引为f1i,则f1i就是对应的安全索引,而与对应的第二拷贝中的第二加密数据项为也就是说,与f1i也是对应的。
通过上述方式,就能确定m个第二加密数据项分别对应的第一属性的安全索引。
最后,经过以上步骤,第二拷贝中的任意一个第二数据组i还包括:所述第二加密数据项对应的第一属性的安全索引,即此时,其中f1i表示第i个第二加密数据项对应的第一属性的安全索引。
需要注意的是,当桶索引为xk的第一属性桶对应的安全索引数Ctrk等于1时,也就是说这个桶对应的安全索引只有1个,此时SG为这个桶中的sizek个数据项分配这个相同的安全索引;
当桶索引为xk的第一属性桶对应的安全索引数Ctrk大于1时,也就是说这个桶对应的安全索引可以有多个,此时SG为这个桶中的sizek个数据项分配安全索引,可以采用如下方式:
SG从sizek个数据项中随机选择Dk个,然后为这Dk个数据项分配同一个没有被分配过的这个桶的安全索引,然后SG从未分配安全索引的sizek-Dk个数据项中随机选择Dk个,按照上述方式处理,直到所有sizek个数据项被分配了一个第一属性的安全索引。
S302、SG将所述第一拷贝和第二拷贝发送给云服务器。
S303、云服务器保存接收的原始数据的第一拷贝和原始数据的第二拷贝。
具体的,此步骤包括上述实施例中的S201、S202两个步骤,但此时,云服务器接收并保存的第二拷贝中,包括原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引以及该原始数据项对应的所述第一属性的安全索引。
根据上述方法,当云服务器中的第一拷贝全部或部分损坏时,所述方法还包括以下步骤:
S304、云服务器将损坏桶的指示信息发送给SG。
S305、SG根据接收的损坏桶的指示信息进行处理。
首先,SG从接收到的云服务器发送的损坏桶的指示信息中,获知损坏桶所在的拷贝为第一拷贝、第一拷贝中各个第一属性桶是否损坏以及损坏桶的桶索引。
其次,SG根据第一拷贝中各个第一属性桶是否损坏的信息,生成用于恢复所述第一拷贝中损坏桶的请求信息,该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系。
具体的,请求信息中第一属性的安全索引是SG根据自身保存的原始数据按照第一属性分桶的结果计算得到的。
因为对于任意一个第一属性的安全索引f1i,都有一个与之对应的第一属性桶的桶索引d1i,故而,如果其对应的第一属性桶的桶索引d1i与SG获知的损坏桶的桶索引相同,则将该桶索引对应的标识为1按照某种加密方案E(示例的,E可以是Paillar加密方案)加密后得到的密文,记为ci=E(1),如果其对应的第一属性桶的桶索引与SG获知的损坏桶的桶索引不相同,则将该桶索引对应的标识为0按照上述某种加密方案E加密后得到的密文,记为ci=E(0)。这样,就得到各个第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系(f1i,ci)。
S306、SG将用于恢复所述损坏桶的请求信息发送给云服务器。
S307、云服务器根据接收的用于恢复所述损坏桶的请求信息进行处理得到反馈信息。
云服务器接收所述SG发送的用于恢复所述损坏桶的请求信息,并根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
具体的,由于第二拷贝中的任意一个第二数据项都有一个对应的第一属性的安全索引f1i,因此,对于接收的用于恢复所述损坏桶的请求信息中的任意一个第一属性的安全索引,云服务器接都能从第二拷贝中找到相同的第一属性的安全索引(这种关系即为所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性)及其对应的第二数据项则采用第一处理方案对和ci进行处理,示例的,所述处理方式可以为:得到第二加密数据项的处理结果。
采用上述第一处理方案对和ci进行处理,可以减少云服务器发送给SG的反馈信息占用的比特数,从而减轻通讯负担。
可选的,所述反馈信息为各个所述第二加密数据项的处理结果
或者可选的,云服务器先准备好一个缓冲区保存上述反馈SG的信息,并将该缓冲区被初始化为0。然后,对于任意一个处理结果云服务器为其在缓冲区中随机选择γ个位置,如果选中位置的值为0,则直接将保存在该位置,如果被选中的位置的值为v≠0,则将保存在该位置上。通过上述方式,云服务器将各个所述第二加密数据项的处理结果保存在缓存区中,此缓存区中内容即为云服务器要发给SG的反馈信息。
云服务器采用缓存区的方式向SG发送反馈信息,可以进一步减少云服务器发送给SG的反馈信息占用的比特数,从而进一步减轻通讯负担。
S308、云服务器将其处理得到的反馈信息发送给SG。
S309、SG根据其接收的反馈信息做相应处理。
可选的,若SG接收的反馈信息是云服务器保存到缓存区中的内容,则SG从缓存区中获取云服务器想要发送给它的有效信息,所述有效信息为缓存区中不为0且不重复的数据,即SG从缓存区中获取数据,如果该数据为0,则表示云服务器未选择缓存区中该数据所在位置存放任何数据,因此SG无需保存;
如果该数据不为0,则表示云服务器选择了缓存区中该数据所在位置存放数据,进一步的,如果该数据和SG之前从缓存区中取得的数据不重复,则表示该数据不是同一个处理结果在缓存区中多次存放的数据,则SG需保存该数据,经由以上操作,SG获取了云服务器发送给SG的有效信息。
或者可选的,若SG接收的反馈信息为各个所述第二加密数据项的处理结果则各个所述第二加密数据项的处理结果为云服务器发送给SG的有效信息。
SG获取到所述有效信息后,进行以下操作:
a)采用第二处理方案,对所述有效信息进行处理,得到所述有效信息处理结果;所述有效信息的处理结果包括:与损坏桶对应的第二加密数据项。
具体的,所述第二处理方案,为可以从SG接收云服务器发送的反馈信息中,解出每一第二加密数据项和其的对应的ci的处理方案,因此,采用第二处理方案,对所述反馈信息进行处理,就能得到每一个第二加密数据项和其对应第一属性桶是否损坏的标识ci。
b)采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应。
由于第二加密数据项是由原始数据项ti经由第二加密方案加密得到的,因此采用与第二加密方案对应的第二解密方案对每一第二加密数据项进行解密,就能得到其对应的原始数据的恢复项。
c)从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项。
具体的,SG采用S304中加密方案E相应的解密方案对ci解密,如果得到的解密结果为1,则表示其对应的第二加密数据项的第一属性桶索引损坏,如果得到的解密结果为0,则表示其对应的第二加密数据项的第一属性桶索引未损坏,从而得到与损坏桶对应的所有第二加密数据项,而第二加密数据项经第二加密方案解密可以得到对应的原始数据恢复项,所以,就得到了与损坏桶对应的原始数据恢复项。
d)生成损坏桶对应的各个第一数据恢复组,所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引。
具体的,SG将损坏桶对应的每一个原始数据的恢复项根据第一加密方案对其进行加密,得到损坏桶对应的原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项,再根据各个第一加密数据恢复项,计算得到该第一加密数据恢复项对应的原始数据恢复项按照第一属性分桶得到的桶索引,并比较这个桶索引是否是包括在云服务器发送给SG的损坏桶的桶索引中,若是,则保存之,若不是,则丢弃之,经由上述处理,得到各个第一数据恢复组。
上述比较操作起到了进一步验证的作用,如果数据在SG和云服务器中传输过程中引入错误,或者上述任何处理过程中引入错误,将导致计算得到的桶索引不包括在云服务器发送给SG的损坏桶的桶索引中,则可以判断出该第一数据恢复组不是对应的第一数据组,则不能发送给云服务器。
S310、SG将其处理得到的损坏桶对应的各个第一数据恢复组发送给云服务器。
S311、云服务器根据其接收的损坏桶对应的各个第一数据恢复组恢复第一拷贝中损坏桶中的数据。
需要注意的是,上述方法是以n个属性中的两个属性为例进行阐述的。事实上,可以拓展到三个及以上的属性,在云服务器上保存三个及以上个拷贝。
当n≥3时,在云服务器上可以保存(n≥3)个拷贝。其中,第i个拷贝中包括m个数据组,每一数据组包括:原始数据项加密得到的加密数据项、该原始数据项对应的属性Ai的桶索引,且不包括该原始数据项属性Aj(j≠i)的桶索引,当然还可以进一步包括该原始数据项对应的属性Az(z≠j≠i)的桶索引。另外,第j个拷贝中包括m个数据组,每一数据组包括:原始数据项加密得到的加密数据项、该原始数据项对应的属性Aj的桶索引,且不包括该原始数据项对应的属性Ai的桶索引,当然同样可以进一步包括该原始数据项对应的属性Az(z≠j≠i)的桶索引。
进一步的,为了实现利用第j个拷贝对第i个拷贝进行备份,以便在第i个拷贝损坏的时候完成数据恢复。则第j个拷贝的每一数据组中还包括:原始数据项对应的属性Aj的安全索引。
同样的,为了实现利用第i个拷贝对第j个拷贝进行备份,以便在第j个拷贝损坏的时候完成数据恢复。则第i个拷贝的每一数据组中还包括:原始数据项对应的属性Aj的安全索引。
示例的,假设n=4,在云服务器上保存3个拷贝。其中,拷贝1中的任一数据组拷贝2中的任一数据组 拷贝3中的任一数据组
又示例的,假设n=4,在云服务器上保存4个拷贝。其中,拷贝1中的任一数据组拷贝2中的任一数据组 拷贝3中的任一数据组 拷贝4中的任一数据组
本发明的实施例提供的一种数据处理的方法,能够通过对原始数据按照其包含的n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引,并生成所述原始数据的至少两个拷贝,然后将所述原始数据的至少两个拷贝发送云服务器。由于所述原始数据的任一拷贝中包括原始数据项加密后得到的加密数据项和原始数据按照该属性分桶得到的桶索引,且不同拷贝中,原始数据项对应的加密数据项不相同,使得敌手从云服务器中保存的至少两个拷贝中推断出不同属性分桶的属性意义以及相关桶索引的意义的概率大大降低,从而提高了保存在云服务器中的数据的隐私性。
本发明实施例还提供了一种数据处理的装置,该装置可以是SG,其中的各个功能模块可以执行上述SG的相应步骤,对各个功能模块的描述可参考上述的方法实施例,在此不加赘述。
如图4所示,所述装置40包括:
获取单元41:用于获取原始数据;所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
分桶单元42:用于对于所述获取单元41获取的原始数据按照所述n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引;
第一生成单元43:用于生成所述原始数据的第一拷贝;所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
第二生成单元44:用于生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
发送单元45:用于将所述第一生成单元43生成的第一拷贝和所述第二生成单元44生成的第二拷贝发送云服务器。
可选的,如图5所示,所述装置40还可以包括:
计算安全索引单元46:用于根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算所述第一属性的安全索引;其中,每一第一属性的桶索引对应至少一个第一属性的安全索引,且第一属性的安全索引两两不同;
确定安全所索引单元47:用于确定m个第一加密数据项分别对应的第一属性的安全索引;并根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
所述计算安全索引单元46具体用于:
根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数;
根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
进一步可选的,如图6所示,所述装置40还可以包括:获知单元48、生成请求信息单元49、接收单元50、处理单元51、生成恢复数据单元52;
获知单元48:用于获知第一拷贝中各个第一属性桶是否损坏;所述第一属性桶为所述原始数据按照所述第一属性分桶得到的;
生成请求信息单元49:用于生成用于恢复所述第一拷贝中损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述发送单元45还用于将所述生成请求信息单元49所生成的用于恢复所述损坏桶的请求信息发送给云服务器;以使得所述云服务器根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,并采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
接收单元50:用于接收云服务器发送的反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;
处理单元51:用于采用第二处理方案,对所述反馈信息进行处理,得到反馈信息处理结果;所述反馈信息处理结果包括:与损坏桶对应的第二加密数据项;采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应;从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项;
生成恢复数据单元52:用于生成损坏桶对应的各个第一数据恢复组;所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引;
所述发送单元45还用于将损坏桶对应的各个第一数据恢复组发送给云服务器。
本发明实施例还提供了一种数据处理的装置,该装置可以是云服务器,其中的各个功能模块可以执行上述云服务器的相应步骤,对各个功能模块的描述可参考上述的方法实施例,在此不加赘述。
如图7所示,所述装置70包括:
接收单元71:用于接收原始数据的第一拷贝和原始数据的第二拷贝;其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
保存单元72:用于保存所述第一拷贝和所述第二拷贝。
所述保存单元72具体用于:将所述第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将所述第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
可选的,如图8所示,所述装置70还可以包括:处理单元73、发送单元74;
所述接收单元71还用于接收所述安全网关发送的用于恢复所述损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述处理单元73:用于根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
所述发送单元74用于:向所述安全网关发送反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;以使得安全网关得到损坏桶对应的各个第一数据恢复组;
所述接收单元71还用于接收安全网关发送的所述损坏桶对应的各个第一数据恢复组。
本发明的实施例提供的一种数据处理的装置,能够通过对原始数据按照其包含的n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引,并生成所述原始数据的至少两个拷贝,然后将所述原始数据的至少两个拷贝发送云服务器。由于所述原始数据的任一拷贝中包括原始数据项加密后得到的加密数据项和原始数据按照该属性分桶得到的桶索引,且不同拷贝中,原始数据项对应的加密数据项不相同,使得敌手从云服务器中保存的至少两个拷贝中推断出不同属性分桶的属性意义以及相关桶索引的意义的概率大大降低,从而提高了保存在云服务器中的数据的隐私性。
本发明实施例还提供了一种数据处理的装置90,如图9所示,所述装置90包括:
发送器91、存储器92、以及和存储器相连的处理器93;
其中,所述存储器92中存储一组程序代码,且处理器93用于调用所述存储器中存储的程序代码,执行上述实施例中一种数据处理的装置所采用的方法中除了发送以外的操作,发送器91用于将处理器93的处理结果发送出去。
可选的,所述装置还可以包括:接收器94,用于接收其他装置发送给所述装置的信息,所述处理器93用于调用所述存储器中存储的程序代码,执行上述实施例中一种数据处理的装置所采用的方法中除了发送和接收以外的操作。
本发明实施例还提供了一种数据处理的装置100,如图10所示,所述装置100包括:
接收器101、存储器102、以及和存储器相连的处理器103;
其中,所述存储器102中存储一组程序代码,且处理器103用于调用所述存储器中存储的程序代码,执行上述实施例中一种数据处理的装置所采用的方法中除了接收以外的操作,接收器101用于接收其他装置发送给所述装置的信息。
可选的,所述装置还包括:发送器104,用于将处理器103的处理结果发送出去;所述处理器103用于调用所述存储器中存储的程序代码,执行上述实施例中一种数据处理的装置所采用的方法中除了接收和发送以外的操作。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (17)
1.一种数据处理的方法,其特征在于,包括:
获取原始数据;所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性;n≥2,所述n个属性中包括:第一属性和第二属性;
对于所述原始数据按照所述n个属性进行分桶;其中每一原始数据项对应的n个属性的桶索引;
生成所述原始数据的第一拷贝;所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
将所述第一拷贝和所述第二拷贝发送云服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引;其中,每一第一属性的桶索引对应至少一个第一属性的安全索引,且第一属性的安全索引两两不同;
确定m个第一加密数据项分别对应的第一属性的安全索引;
根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
3.根据权利要求2所述的方法,其特征在于,所述根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引包括:
根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数;
根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
4.根据权利要求2所述的方法,其特征在于,当云服务器中的所述第一拷贝全部或部分损坏时,所述方法还包括:
获知第一拷贝中各个第一属性桶是否损坏;所述第一属性桶为所述原始数据按照所述第一属性分桶得到的;
生成用于恢复所述第一拷贝中损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
将所述用于恢复所述损坏桶的请求信息发送给云服务器;以使得所述云服务器根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,并采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
接收云服务器发送的反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;
采用第二处理方案,对所述反馈信息进行处理,得到反馈信息处理结果;所述反馈信息处理结果包括:与损坏桶对应的第二加密数据项;
采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应;
从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项;
生成损坏桶对应的各个第一数据恢复组;所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引;
将损坏桶对应的各个第一数据恢复组发送给云服务器。
5.根据权利要求4所述的方法,其特征在于,所述从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项包括:
确定各个原始数据恢复项所对应的第一属性的桶索引;
若原始数据恢复项所对应的第一属性的桶索引与损坏桶的桶索引一致,则该原始数据恢复项与所述损坏桶对应。
6.一种数据处理的方法,其特征在于,包括:
接收原始数据的第一拷贝和原始数据的第二拷贝;
其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项包具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
保存所述第一拷贝和所述第二拷贝。
7.根据权利要求6所述的方法,其特征在于,所述保存所述第一拷贝和所述第二拷贝包括:
将所述第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将所述第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
8.根据权利要求6所述的方法,其特征在于,所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
9.根据权利要求8所述的方法,其特征在于,当所述第一拷贝全部或部分损坏时,所述方法还包括:
接收所述安全网关发送的用于恢复所述损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案,对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
向所述安全网关发送反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;以使得安全网关得到损坏桶对应的各个第一数据恢复组;
接收安全网关发送的所述损坏桶对应的各个第一数据恢复组。
10.一种数据处理的装置,其特征在于,包括:
获取单元:用于获取原始数据;所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
分桶单元:用于对于所述原始数据按照所述n个属性进行分桶,其中每一原始数据项对应的n个属性的桶索引;
第一生成单元:用于生成所述原始数据的第一拷贝;所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
第二生成单元:用于生成所述原始数据的第二拷贝;所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
发送单元:用于将所述第一生成单元生成的第一拷贝和所述第二生成单元生成的第二拷贝发送云服务器。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
计算安全索引单元:用于根据所述原始数据按照所述第一属性进行分桶的分桶结果,计算第一属性的安全索引;其中,每一第一属性的桶索引对应至少一个第一属性的安全索引,且第一属性的安全索引两两不同;
确定安全所索引单元:用于确定m个第一加密数据项分别对应的第一属性的安全索引;并根据所述第一加密数据项和所述第二加密数据项的对应关系,确定m个第二加密数据项分别对应的第一属性的安全索引;
所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
12.根据权利要求11所述的装置,其特征在于,所述计算安全索引单元具体用于:
根据各个第一属性桶中原始数据项的个数,确定每个第一属性桶所对应安全索引的个数;
根据每个第一属性桶的桶索引、以及每个第一属性桶所对应安全索引的个数,得到每一属性桶所对应的第一属性的安全索引。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
获知单元、生成请求信息单元、接收单元、处理单元、生成恢复数据单元;
获知单元:用于获知第一拷贝中各个第一属性桶是否损坏;所述第一属性桶为所述原始数据按照所述第一属性分桶得到的;
生成请求信息单元:用于生成用于恢复所述第一拷贝中损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述发送单元还用于将所述生成请求信息单元所生成的用于恢复所述损坏桶的请求信息发送给云服务器;以使得所述云服务器根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,并采用第一处理方案对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
接收单元:用于接收云服务器发送的反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;
处理单元:用于采用第二处理方案,对所述反馈信息进行处理,得到反馈信息处理结果;所述反馈信息处理结果包括:与损坏桶对应的第二加密数据项;采用第二解密方案对所述反馈信息处理结果进行解密,得到原始数据恢复项;所述第二解密方案与所述第二加密方案对应;从所有原始数据恢复项中确定损坏桶对应的原始数据恢复项;
生成恢复数据单元:用于生成损坏桶对应的各个第一数据恢复组;所述第一数据恢复组包括:损坏桶对应的一个原始数据恢复项经所述第一加密方案加密后得到的第一加密数据恢复项、该原始数据恢复项对应的第一属性的桶索引;
所述发送单元还用于将损坏桶对应的各个第一数据恢复组发送给云服务器。
14.一种数据处理的装置,其特征在于,包括:
接收单元:用于接收原始数据的第一拷贝和原始数据的第二拷贝;
其中,所述原始数据包括m个原始数据项,m≥1,每一原始数据项具有n个属性,n≥2,所述n个属性中包括:第一属性和第二属性;
所述第一拷贝包括m个第一数据组,所述第一数据组包括:原始数据项经第一加密方案加密后得到的第一加密数据项、该原始数据项对应的所述第一属性的桶索引,且不包括该原始数据项对应的第二属性的桶索引;
所述第二拷贝包括m个第二数据组,所述第二数据组包括:原始数据项经第二加密方案加密后得到的第二加密数据项、该原始数据项对应的所述第二属性的桶索引,且不包括该原始数据项对应的第一属性的桶索引;
保存单元:用于保存所述第一拷贝和所述第二拷贝。
15.根据权利要求14所述的方法,其特征在于,所述保存单元具体用于:
将所述第一拷贝中包含相同第一属性的桶索引的各个第一数据组连续存储;将所述第二拷贝中包含相同第二属性的桶索引的各个第二数据组连续存储。
16.根据权利要求14所述的方法,其特征在于,所述第二数据组还包括:所述第二加密数据项对应的第一属性的安全索引。
17.根据权利要求16所述的方法,其特征在于,所述装置还包括:处理单元、发送单元;
所述接收单元还用于:接收所述安全网关发送的用于恢复所述损坏桶的请求信息;该请求信息包括:第一属性的安全索引与第一属性桶是否损坏的标识间的对应关系;
所述处理单元:用于根据所述请求信息中的第一属性的安全索引和所述第二拷贝中的第一属性的安全索引的一致性,确定第一属性桶是否损坏的标识和第二加密数据项的对应关系,采用第一处理方案,对第一属性桶是否损坏的标识和所述第一属性桶是否损坏的标识对应的第二加密数据项进行处理,得到第二加密数据项的处理结果;
所述发送单元用于:向所述安全网关发送反馈信息;所述反馈信息包括:各个所述第二加密数据项的处理结果;以使得安全网关得到损坏桶对应的各个第一数据恢复组;
所述接收单元还用于:接收安全网关发送的所述损坏桶对应的各个第一数据恢复组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310186235.XA CN104166821B (zh) | 2013-05-17 | 2013-05-17 | 一种数据处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310186235.XA CN104166821B (zh) | 2013-05-17 | 2013-05-17 | 一种数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166821A true CN104166821A (zh) | 2014-11-26 |
CN104166821B CN104166821B (zh) | 2017-07-21 |
Family
ID=51910630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310186235.XA Active CN104166821B (zh) | 2013-05-17 | 2013-05-17 | 一种数据处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166821B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470497A (zh) * | 2015-08-17 | 2017-03-01 | 中国移动通信集团公司 | 一种数据传输方法、无线链路控制发送及接收实体 |
CN106504183A (zh) * | 2015-09-08 | 2017-03-15 | 龙芯中科技术有限公司 | 顶点属性存储的方法及装置 |
CN107423630A (zh) * | 2017-07-31 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN110046638A (zh) * | 2018-12-29 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 多平台间数据的融合方法、装置及设备 |
CN111523569A (zh) * | 2018-09-04 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 一种用户身份确定方法、装置及电子设备 |
CN114021198A (zh) * | 2021-12-29 | 2022-02-08 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的确定共有数据的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255974A (zh) * | 2011-08-24 | 2011-11-23 | 无锡中科方德软件有限公司 | 一种云计算服务器的云存储方法 |
US20120158734A1 (en) * | 2010-12-17 | 2012-06-21 | Electronics And Telecommunications Research Institute | Data management system and method |
CN102523246A (zh) * | 2011-11-23 | 2012-06-27 | 陈刚 | 一种云计算处理系统及方法 |
CN102916954A (zh) * | 2012-10-15 | 2013-02-06 | 南京邮电大学 | 一种基于属性加密的云计算安全访问控制方法 |
CN103002040A (zh) * | 2012-12-14 | 2013-03-27 | 南京邮电大学 | 一种云计算用户数据检查的方法 |
-
2013
- 2013-05-17 CN CN201310186235.XA patent/CN104166821B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120158734A1 (en) * | 2010-12-17 | 2012-06-21 | Electronics And Telecommunications Research Institute | Data management system and method |
CN102255974A (zh) * | 2011-08-24 | 2011-11-23 | 无锡中科方德软件有限公司 | 一种云计算服务器的云存储方法 |
CN102523246A (zh) * | 2011-11-23 | 2012-06-27 | 陈刚 | 一种云计算处理系统及方法 |
CN102916954A (zh) * | 2012-10-15 | 2013-02-06 | 南京邮电大学 | 一种基于属性加密的云计算安全访问控制方法 |
CN103002040A (zh) * | 2012-12-14 | 2013-03-27 | 南京邮电大学 | 一种云计算用户数据检查的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470497A (zh) * | 2015-08-17 | 2017-03-01 | 中国移动通信集团公司 | 一种数据传输方法、无线链路控制发送及接收实体 |
CN106470497B (zh) * | 2015-08-17 | 2019-10-29 | 中国移动通信集团公司 | 一种数据传输方法、无线链路控制发送及接收实体 |
CN106504183A (zh) * | 2015-09-08 | 2017-03-15 | 龙芯中科技术有限公司 | 顶点属性存储的方法及装置 |
CN106504183B (zh) * | 2015-09-08 | 2019-09-10 | 龙芯中科技术有限公司 | 顶点属性存储的方法及装置 |
CN107423630A (zh) * | 2017-07-31 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN111523569A (zh) * | 2018-09-04 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 一种用户身份确定方法、装置及电子设备 |
CN111523569B (zh) * | 2018-09-04 | 2023-08-04 | 创新先进技术有限公司 | 一种用户身份确定方法、装置及电子设备 |
CN110046638A (zh) * | 2018-12-29 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 多平台间数据的融合方法、装置及设备 |
CN114021198A (zh) * | 2021-12-29 | 2022-02-08 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的确定共有数据的方法及装置 |
CN114021198B (zh) * | 2021-12-29 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的确定共有数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104166821B (zh) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210051007A1 (en) | Secure multi-party computation method and apparatus, and electronic device | |
CN105260668B (zh) | 一种文件加密方法及电子设备 | |
CN110337649B (zh) | 用于搜索模式未察觉的动态对称可搜索加密的方法和系统 | |
CN102006300B (zh) | 一种云存储数据加密方法、装置及系统 | |
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
CN104166821A (zh) | 一种数据处理的方法和装置 | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
JP2020513183A (ja) | データのトークン化 | |
CN106209739A (zh) | 云存储方法及系统 | |
CN106470102A (zh) | 密码装置、具有密码装置的存储装置、其加密和解密方法 | |
CN102693398A (zh) | 一种数据加密方法及系统 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN113254955A (zh) | 前向安全的连接关键词对称可搜索加密方法、系统及应用 | |
CN114491613B (zh) | 高效可搜索的代理隐私集合求交方法及装置 | |
CN104636462A (zh) | 一种能抵抗统计分析攻击的快速密文检索方法和系统 | |
CN103248476A (zh) | 数据加密密钥的管理方法、系统及终端 | |
CN108595554B (zh) | 一种基于云环境的多属性范围查询方法 | |
JP2010165275A (ja) | データ格納システム及び情報送信装置及びサーバ装置 | |
Hoang et al. | A multi-server oblivious dynamic searchable encryption framework | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
CN116248359A (zh) | 一种基于不经意传输协议的数据传输系统、方法及装置 | |
CN104318168A (zh) | 一种虚拟机镜像文件的加密、解密方法和系统 | |
CN111130788B (zh) | 数据处理方法和系统、数据读取方法和iSCSI服务器 | |
KR101264286B1 (ko) | 데이터베이스 암호화 시스템 및 방법 |
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 |