CN110175169B - 一种加密数据去重方法、系统及相关装置 - Google Patents
一种加密数据去重方法、系统及相关装置 Download PDFInfo
- Publication number
- CN110175169B CN110175169B CN201910464659.5A CN201910464659A CN110175169B CN 110175169 B CN110175169 B CN 110175169B CN 201910464659 A CN201910464659 A CN 201910464659A CN 110175169 B CN110175169 B CN 110175169B
- Authority
- CN
- China
- Prior art keywords
- file
- level
- data
- key
- label
- 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
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请所提供的一种加密数据去重方法,包括:基于第一标签生成函数计算目标文件对应的第一标签,并将第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级数据去重操作;若文件级重复性检测结果为云服务器上不存在第一标签,则执行块级数据去重操作。该方法根据文件级重复性检测结果的不同,分别执行对应的文件级数据去重操作和块级数据去重操作,也即该方法结合了文件级数据去重和块级数据去重,对文件和数据块均可以进行去重,故能够提高云服务器上加密数据的去重效率。本申请还提供一种加密数据去重系统、设备及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及加密数据去重领域,特别涉及一种加密数据去重方法、系统、设备及计算机可读存储介质。
背景技术
用户将数据上传到云服务器上保存以节省本地存储空间,后期可随时获取存放在云服务器上的数据,云服务器用于存储用户的加密数据。数据去重使得数据副本在云服务器中只存储一份,云服务器为该数据的所有合法用户创建访问链接,使其可获取数据。数据去重在实际应用中可节省大量的网络带宽和存储空间。
目前,相关技术中的加密数据去重方法是:用户上传数据到云服务器,首先借助可信第三方进行流行度查询,反馈查询结果。对于非流行数据,云服务器保存,对于流行数据,云服务进行文件级数据去重。但是,文件级数据去重只能对文件进行去重,去重效率较低。
因此,如何提高云服务器上加密数据的去重效率是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种加密数据去重方法、系统、设备及计算机可读存储介质,能够提高云服务器上加密数据的去重效率。
为解决上述技术问题,本申请提供一种加密数据去重方法,应用于客户端,包括:
基于第一标签生成函数计算目标文件对应的第一标签,并将所述第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作;
若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作。
优选地,所述若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作,包括:
若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级别的所有权证明协议以验证所有权;
若所述所有权验证通过,则接收并存储所述云服务器发送的所述第一标签对应的数据指针;
基于第二标签生成函数计算所述目标文件对应的第二标签,并将所述第二标签上传至密钥管理服务器以确定所述目标文件的合法用户数量;
将所述合法用户数量与预设流行度阈值进行比较,确定所述目标文件的数据类型;
根据所述数据类型执行对应的文件级数据去重操作。
优选地,所述接收并存储所述云服务器发送的所述第一标签对应的数据指针之后,还包括:
根据所述数据指针,从所述云服务器下载所述目标文件对应的文件密文;
获取所述文件密文的文件加密密钥,并利用所述文件加密密钥对所述文件密文进行解密,得到所述目标文件。
优选地,所述若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作,包括:
若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,将所述目标文件划分为预设数量的数据块,并基于所述第一标签生成函数计算各个所述数据块对应的第三标签;
将所述第三标签上传至所述云服务器进行块级重复性检测,得到块级重复性检测结果;
若所述块级重复性检测结果为所述云服务器上存在所述第三标签,则执行所述块级数据去重操作。
本申请还提供一种加密数据去重系统,应用于客户端,包括:
文件级重复性检测结果获取模块,用于基于第一标签生成函数计算目标文件对应的第一标签,并将所述第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
文件级数据去重操作执行模块,用于若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作;
块级数据去重操作执行模块,用于若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作。
优选地,所述文件级数据去重操作执行模块,包括:
文件级别的所有权证明协议执行单元,用于若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级别的所有权证明协议以验证所有权;
数据指针存储单元,用于若所述所有权验证通过,则接收并存储所述云服务器发送的所述第一标签对应的数据指针;
合法用户数量确定单元,用于基于第二标签生成函数计算所述目标文件对应的第二标签,并将所述第二标签上传至密钥管理服务器以确定所述目标文件的合法用户数量;
数据类型确定单元,用于将所述合法用户数量与预设流行度阈值进行比较,确定所述目标文件的数据类型;
文件级数据去重操作执行单元,用于根据所述数据类型执行对应的文件级数据去重操作。
优选地,该加密数据去重系统还包括:
文件密文下载模块,用于根据所述数据指针,从所述云服务器下载所述目标文件对应的文件密文;
文件密文解密模块,用于获取所述文件密文的文件加密密钥,并利用所述文件加密密钥对所述文件密文进行解密,得到所述目标文件。
优选地,所述块级数据去重操作执行模块,包括:
标签计算单元,用于若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,将所述目标文件划分为预设数量的数据块,并基于所述第一标签生成函数计算各个所述数据块对应的第三标签;
块级重复性检测结果获取单元,用于将所述第三标签上传至所述云服务器进行块级重复性检测,得到块级重复性检测结果;
块级数据去重操作执行单元,用于若所述块级重复性检测结果为所述云服务器上存在所述第三标签,则执行所述块级数据去重操作。
本申请还提供一种设备,包括:
存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述所述的加密数据去重方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的加密数据去重方法的步骤。
本申请所提供的一种加密数据去重方法,应用于客户端,包括:基于第一标签生成函数计算目标文件对应的第一标签,并将所述第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作;若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作。
该方法根据文件级重复性检测结果的不同,分别执行对应的文件级数据去重操作和块级数据去重操作,也即该方法结合了文件级数据去重和块级数据去重,对文件和数据块均可以进行去重,故能够提高云服务器上加密数据的去重效率。本申请还提供一种加密数据去重系统、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种加密数据去重方法的流程图;
图2为本申请实施例所提供的一种加密数据去重系统的结构框图。
具体实施方式
本申请的核心是提供一种加密数据去重方法,能够提高云服务器上加密数据的去重效率。本申请的另一核心是提供一种加密数据去重系统、设备及计算机可读存储介质。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,相关技术中的加密数据去重方法是:用户上传数据到云服务器,首先借助可信第三方进行流行度查询,反馈查询结果。对于非流行数据,云服务器保存,对于流行数据,云服务进行文件级数据去重。但是,文件级数据去重只能对文件进行去重,去重效率较低。本申请提供的一种加密数据去重方法,能够提高云服务器上加密数据的去重效率。具体请参考图1,图1为本申请实施例所提供的一种加密数据去重方法的流程图,该加密数据去重方法具体包括:
S101、基于第一标签生成函数计算目标文件对应的第一标签,并将第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
本申请实施例的应用场景中存在三类实体:用户(也即客户端,通常用U表示),云服务器(CSP),多个密钥管理服务器(KMS[j],表示第j个密钥管理服务器)。其中,密钥管理服务器用于存储加密数据的加密密钥。本申请实施例的执行主体为上述客户端,在进行步骤S101之前,通常还需进行系统初始化,在此先对下文涉及到的相关函数进行说明:
(1)KeyGenSE(1λ)为对称加密算法中的密钥生成函数,输入安全参数λ,输出密钥K。KeyGenCE(M)为收敛加密算法中的密钥生成函数,输入数据M,输出对应的收敛密钥K。
(2)TagGen(M)为第一标签生成函数,TagGen(M,j)为第二标签生成函数,方案中涉及两类标签生成函数:T(M)←TagGen(M),输入数据M,输出M所对应的第一标签T(M),作为数据M的唯一标识;Tj(M)←TagGen(M,j),输入数据M和目标密钥管理服务器的编号j,输出针对编号为j的密钥管理服务器KMS[j]的M所对应的第二标签Tj(M),作为数据M在KMS[j]上的唯一标识。
(3)Encrypt(K,M)为使用对称加密算法的加密函数,输入密钥K和待加密数据M,输出加密后的密文C。Decrypt(K,C)为使用对称加密算法的解密函数,输入密钥K和待解密密文C,输出解密后的数据M。
(4)Share(K)为使用秘密共享算法的密钥共享函数,输入密钥K,输出n个同等长度的密钥共享份额{K1,K2,…,Kn}。Recover({K1,K2,…,Kk})为使用秘密共享算法的密钥恢复函数,以任意的k个密钥共享份额作为输入,输出原始密钥K。
步骤S101中目标文件就是根据需求确定的一种文件,通常用F表示。步骤S101即为用户U选择目标文件F上传到云服务器CSP进行保存的过程,具体如下:用户U计算目标文件F的第一标签T(F)←TagGen(F),并将第一标签T(F)上传到CSP,CSP收到第一标签T(F)之后,CSP进行文件级重复性检测,得到文件级重复性检测结果。
S102、若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级数据去重操作;
在此对于文件级数据去重操作不作具体限定,需根据实际情况而定。进一步地,上述若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级数据去重操作,通常包括:若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级别的所有权证明协议以验证所有权;若所有权验证通过,则接收并存储云服务器发送的第一标签对应的数据指针;基于第二标签生成函数计算目标文件对应的第二标签,并将第二标签上传至密钥管理服务器以确定目标文件的合法用户数量;将合法用户数量与预设流行度阈值进行比较,确定目标文件的数据类型;根据数据类型执行对应的文件级数据去重操作。在此对预设流行度阈值和目标文件的合法用户数量均不做具体限定,需根据实际情况而定,在此将预设流行度阈值设为T,目标文件的合法用户数量设为numF,当numF<T时,定义F为非流行数据;否则,定义F为流行数据。上述过程具体如下:
(1)、用户U与CSP交互获取文件数据指针:
用户U执行文件级别的所有权证明协议PoWF以验证所有权。若验证通过,CSP返回数据指针PF,用户U将PF进行本地存储。用户U不再重复上传目标文件F,即实现了基于客户端的文件级数据去重操作。若所有权验证失败,则返回验证错误信息,终止本次文件上传操作。
(2)、用户U与n个密钥管理服务器交互获取文件加密密钥:
对于1≤j≤n,用户U计算F的第二标签Tj(F)←TagGen(F,j),将第二标签Tj(F)上传到第j个密钥管理服务器KMS[j],服务器返回F的合法用户数量numF,j。
用户U执行文件级的所有权证明协议PoWF,j,向多个密钥管理服务器证明其所有权,KMS[j]将numF,j+=1。
(2.1)、当numF,j<T时,F为非流行数据,具有较高的隐私性。采用对称加密方案,即KMS[j]返回给用户U文件密钥指针该指针指向文件F对应的所有块加密密钥在KMS[j]上的密钥共享份额集合。用户收到后进行本地存储。
(2.2)、当numF,j=T时,该文件的合法用户数量达到流行度阈值。此时,F由非流行数据转变为流行数据,用户U对F进行收敛加密操作。用户U将F划分为一系列数据块{Bi}(i=1,2,…);对于每一个Bi,计算块收敛密钥Ki'←KeyGenCE(Bi),计算块密文Ci'←Encrypt(Ki',Bi)。用户U将{Ci'}(i=1,2,…)发送到CSP,替换F原有的加密数据;对于每一个Ki'(i=1,2,…),采用秘密共享机制,计算密钥共享份额Kij'←Share(Ki'),将Kij'发送到KMS[j],请求KMS[j]替换原有密钥共享份额。KMS[j]完成替换并返回密钥共享份额的指针用户U将其进行本地存储。
(2.3)、当numF,j>T时,文件F为流行数据。不再使用秘密共享机制进行密钥共享,直接采用收敛加密。用户U自行计算F对应块的收敛加密密钥Ki←KeyGenCE(Bi),并将其进行本地存储。
S103、若文件级重复性检测结果为云服务器上不存在第一标签,则执行块级数据去重操作。
进一步地,上述若文件级重复性检测结果为云服务器上不存在第一标签,则执行块级数据去重操作,通常包括:若文件级重复性检测结果为云服务器上不存在第一标签,将目标文件划分为预设数量的数据块,并基于第一标签生成函数计算各个数据块对应的第三标签;将第三标签上传至云服务器进行块级重复性检测,得到块级重复性检测结果;若块级重复性检测结果为云服务器上存在第三标签,则执行块级数据去重操作。具体过程如下:
(1)、用户U将文件F划分为一系列数据块{Bi}(i=1,2,…);对于每一个Bi,用户计算各个数据块的第三标签T(Bi)←TagGen(Bi),发送到CSP进行块级重复性检测。
(2)、CSP检查T(Bi)是否存在:
(2.1)、若T(Bi)存在,则为重复块。用户U执行块级所有权证明协议PoWB,协议通过之后,CSP返回数据指针用户U将进行本地存储,用户U不再上传重复块。用户U计算Tj(Bi)←TagGen(Bi,j)发送到KMS[j],用户执行块级所有权证明协议PoWB,j,协议通过之后,返回该数据块所对应的密钥共享份额的指针用户U将进行本地存储。
(2.2)、若T(Bi)不存在,Bi即为新数据块,CSP保存T(Bi)。用户U计算Ki←KeyGenSE(1λ)为Bi的加密密钥,计算Ci←Encrypt(Ki,Bi),并将Ci上传到CSP存储;用户U计算Tj(Bi)←TagGen(Bi,j),并将其发送到KMS[j]。运行Share(Ki)计算Ki的共享份额Ki1,Ki2,…,Kin,通过一个安全信道将Kij发送到KMS[j]保存,j=1,2,…,n。KMS[j]返回给用户U密钥共享份额的指针U将进行本地存储。
(3)、对于1≤j≤n,用户U计算Tj(F)←TagGen(F,j),并将其发送到KMS[j],此时,用户U为F的初始上传者,初始化numF=1,CSP保存文件标签T(F)。
进一步地,在一些实施例中,上述接收并存储云服务器发送的第一标签对应的数据指针之后,通常还可以包括:根据数据指针,从云服务器下载目标文件对应的文件密文;获取文件密文的文件加密密钥,并利用文件加密密钥对文件密文进行解密,得到目标文件。具体过程如下:
(1)、获取文件密文。用户U根据数据指针PF到云服务器CSP下载F对应密文块{Ci}。
(2)、获取文件加密密钥。用户U获取文件加密密钥分两种情况:若用户U本地保存有密钥共享份额指针,则根据指针到密钥管理服务器上获取密钥共享份额,运行密钥恢复函数得到文件加密密钥K;否则,用户U本地存储的文件收敛密钥即为文件加密密钥K。
(3)、U使用密钥K解密数据块{Ci}(i=1,2,…),恢复原始文件F。
本申请提供的一种加密数据去重方法根据文件级重复性检测结果的不同,分别执行对应的文件级数据去重操作和块级数据去重操作,也即该方法结合了文件级数据去重和块级数据去重,对文件和数据块均可以进行去重,故能够提高云服务器上加密数据的去重效率。而且,该方法引进密钥管理服务器来存储密钥,无需可信第三方,在划分数据流行度的基础上,不仅对流行数据进行去重,还实现了非流行数据的去重,添加了对流行度发生转变之后原有数据的处理。
下面对本申请实施例提供的一种加密数据去重系统、设备及计算机可读存储介质进行介绍,下文描述的加密数据去重系统、设备及计算机可读存储介质与上文描述的加密数据去重方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种加密数据去重系统的结构框图;该加密数据去重系统包括:
文件级重复性检测结果获取模块201,用于基于第一标签生成函数计算目标文件对应的第一标签,并将第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
文件级数据去重操作执行模块202,用于若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级数据去重操作;
块级数据去重操作执行模块203,用于若文件级重复性检测结果为云服务器上不存在第一标签,则执行块级数据去重操作。
基于上述实施例,本实施例中文件级数据去重操作执行模块202,通常包括:
文件级别的所有权证明协议执行单元,用于若文件级重复性检测结果为云服务器上存在第一标签,则执行文件级别的所有权证明协议以验证所有权;
数据指针存储单元,用于若所有权验证通过,则接收并存储云服务器发送的第一标签对应的数据指针;
合法用户数量确定单元,用于基于第二标签生成函数计算目标文件对应的第二标签,并将第二标签上传至密钥管理服务器以确定目标文件的合法用户数量;
数据类型确定单元,用于将合法用户数量与预设流行度阈值进行比较,确定目标文件的数据类型;
文件级数据去重操作执行单元,用于根据数据类型执行对应的文件级数据去重操作。
基于上述实施例,本实施例中该加密数据去重系统还包括:
文件密文下载模块,用于根据数据指针,从云服务器下载目标文件对应的文件密文;
文件密文解密模块,用于获取文件密文的文件加密密钥,并利用文件加密密钥对文件密文进行解密,得到目标文件。
基于上述实施例,本实施例中块级数据去重操作执行模块203,通常包括:
标签计算单元,用于若文件级重复性检测结果为云服务器上不存在第一标签,将目标文件划分为预设数量的数据块,并基于第一标签生成函数计算各个数据块对应的第三标签;
块级重复性检测结果获取单元,用于将第三标签上传至云服务器进行块级重复性检测,得到块级重复性检测结果;
块级数据去重操作执行单元,用于若块级重复性检测结果为云服务器上存在第三标签,则执行块级数据去重操作。
本申请还提供一种设备,包括:存储器和处理器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序时实现上述任意实施例的加密数据去重方法的步骤。
本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的加密数据去重方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种加密数据去重方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (6)
1.一种加密数据去重方法,其特征在于,应用于客户端,包括:
基于第一标签生成函数计算目标文件对应的第一标签,并将所述第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作;
若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作;
其中,所述若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作,包括:
若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级别的所有权证明协议以验证所有权;
若所述所有权验证通过,则接收并存储所述云服务器发送的所述第一标签对应的数据指针;根据所述数据指针,从所述云服务器下载所述目标文件对应的文件密文;获取所述文件密文的文件加密密钥,并利用所述文件加密密钥对所述文件密文进行解密,得到所述目标文件;
基于第二标签生成函数计算所述目标文件对应的第二标签,并将所述第二标签上传至密钥管理服务器以确定所述目标文件的合法用户数量;
将所述合法用户数量与预设流行度阈值进行比较,确定所述目标文件的数据类型;
根据所述数据类型执行对应的文件级数据去重操作;
其中,所述获取所述文件密文的所述文件加密密钥包括:当1≤j≤n,用户U计算文件F的第二标签Tj(F)←TagGen(F,j),将第二标签Tj(F)上传到第j个密钥管理服务器KMS[j],服务器返回F的合法用户数量numF,j;用户U执行文件级的所有权证明协议PoWF,j,向多个密钥管理服务器证明其所有权,KMS[j]将numF,j+=1;TagGen(F,j)为第二标签生成函数,Tj(F)←TagGen(F,j)表征输入数据F和目标密钥管理服务器的编号j至第二标签生成函数TagGen(F,j),输出针对编号为j的密钥管理服务器KMS[j]的输入数据F所对应的第二标签Tj(F),作为数据F在KMS[j]上的唯一标识;
当numF,j=T时,F由非流行数据转变为流行数据;用户U将F划分为数据块{Bi}(i=1,2,…);对于每一个Bi计算块收敛密钥Ki'←KeyGenCE(Bi),KeyGenCE(Bi)为收敛加密算法中的密钥生成函数,Ki'←KeyGenCE(Bi)表征输入数据Bi,输出对应的收敛密钥Ki';计算块密文Ci'←Encrypt(Ki',Bi),Encrypt(Ki',Bi)为使用对称加密算法的加密函数,Ci'←Encrypt(Ki',Bi)表征输入密钥Ki'和待加密数据Bi,输出加密后的密文Ci',Ci'为每一个数据块Bi对应的密文;用户U将{Ci'}(i=1,2,…)发送到CSP,替换F原有的加密数据;对于Ki'(i=1,2,…)计算密钥共享份额Kij'←Share(Ki'),Share(Ki')为使用秘密共享算法的密钥共享函数,Kij'←Share(Ki')表征输入密钥Ki',输出n个同等长度的密钥共享份额{K1,K2,…,Kn};将Kij'发送到KMS[j],请求KMS[j]替换原有密钥共享份额;KMS[j]完成替换并返回密钥共享份额的指针用户U将其进行本地存储;
当numF,j>T时,F为流行数据,用户U自行计算F对应块的收敛加密密钥Ki←KeyGenCE(Bi),并将其进行本地存储。
2.根据权利要求1所述的加密数据去重方法,其特征在于,所述若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作,包括:
若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,将所述目标文件划分为预设数量的数据块,并基于所述第一标签生成函数计算各个所述数据块对应的第三标签;
将所述第三标签上传至所述云服务器进行块级重复性检测,得到块级重复性检测结果;
若所述块级重复性检测结果为所述云服务器上存在所述第三标签,则执行所述块级数据去重操作。
3.一种加密数据去重系统,其特征在于,应用于客户端,包括:
文件级重复性检测结果获取模块,用于基于第一标签生成函数计算目标文件对应的第一标签,并将所述第一标签上传至云服务器进行文件级重复性检测,得到文件级重复性检测结果;
文件级数据去重操作执行模块,用于若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级数据去重操作;
块级数据去重操作执行模块,用于若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,则执行块级数据去重操作;
其中,所述文件级数据去重操作执行模块,包括:
文件级别的所有权证明协议执行单元,用于若所述文件级重复性检测结果为所述云服务器上存在所述第一标签,则执行文件级别的所有权证明协议以验证所有权;
数据指针存储单元,用于若所述所有权验证通过,则接收并存储所述云服务器发送的所述第一标签对应的数据指针;
文件密文下载模块,用于根据所述数据指针,从所述云服务器下载所述目标文件对应的文件密文;
文件密文解密模块,用于获取所述文件密文的文件加密密钥,并利用所述文件加密密钥对所述文件密文进行解密,得到所述目标文件;
合法用户数量确定单元,用于基于第二标签生成函数计算所述目标文件对应的第二标签,并将所述第二标签上传至密钥管理服务器以确定所述目标文件的合法用户数量;
数据类型确定单元,用于将所述合法用户数量与预设流行度阈值进行比较,确定所述目标文件的数据类型;
文件级数据去重操作执行单元,用于根据所述数据类型执行对应的文件级数据去重操作;
其中,所述文件密文解密模块具体用于:当1≤j≤n,用户U计算文件F的第二标签Tj(F)←TagGen(F,j),将第二标签Tj(F)上传到第j个密钥管理服务器KMS[j],服务器返回F的合法用户数量numF,j;用户U执行文件级的所有权证明协议PoWF,j,向多个密钥管理服务器证明其所有权,KMS[j]将numF,j+=1;TagGen(F,j)为第二标签生成函数,Tj(F)←TagGen(F,j)表征输入数据F和目标密钥管理服务器的编号j至第二标签生成函数TagGen(F,j),输出针对编号为j的密钥管理服务器KMS[j]的输入数据F所对应的第二标签Tj(F),作为数据F在KMS[j]上的唯一标识;
当numF,j=T时,F由非流行数据转变为流行数据;用户U将F划分为数据块{Bi}(i=1,2,…);对于每一个Bi计算块收敛密钥Ki'←KeyGenCE(Bi),KeyGenCE(Bi)为收敛加密算法中的密钥生成函数,Ki'←KeyGenCE(Bi)表征输入数据Bi,输出对应的收敛密钥Ki';计算块密文Ci'←Encrypt(Ki',Bi),Encrypt(Ki',Bi)为使用对称加密算法的加密函数,Ci'←Encrypt(Ki',Bi)表征输入密钥Ki'和待加密数据Bi,输出加密后的密文Ci',Ci'为每一个数据块Bi对应的密文;用户U将{Ci'}(i=1,2,…)发送到CSP,替换F原有的加密数据;对于Ki'(i=1,2,…)计算密钥共享份额Kij'←Share(Ki'),Share(Ki')为使用秘密共享算法的密钥共享函数,Kij'←Share(Ki')表征输入密钥Ki',输出n个同等长度的密钥共享份额{K1,K2,…,Kn};将Kij'发送到KMS[j],请求KMS[j]替换原有密钥共享份额;KMS[j]完成替换并返回密钥共享份额的指针用户U将其进行本地存储;
当numF,j>T时,F为流行数据,用户U自行计算F对应块的收敛加密密钥Ki←KeyGenCE(Bi),并将其进行本地存储。
4.根据权利要求3所述的加密数据去重系统,其特征在于,所述块级数据去重操作执行模块,包括:
标签计算单元,用于若所述文件级重复性检测结果为所述云服务器上不存在所述第一标签,将所述目标文件划分为预设数量的数据块,并基于所述第一标签生成函数计算各个所述数据块对应的第三标签;
块级重复性检测结果获取单元,用于将所述第三标签上传至所述云服务器进行块级重复性检测,得到块级重复性检测结果;
块级数据去重操作执行单元,用于若所述块级重复性检测结果为所述云服务器上存在所述第三标签,则执行所述块级数据去重操作。
5.一种设备,其特征在于,包括:
存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1或2所述的加密数据去重方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的加密数据去重方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910464659.5A CN110175169B (zh) | 2019-05-30 | 2019-05-30 | 一种加密数据去重方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910464659.5A CN110175169B (zh) | 2019-05-30 | 2019-05-30 | 一种加密数据去重方法、系统及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175169A CN110175169A (zh) | 2019-08-27 |
CN110175169B true CN110175169B (zh) | 2023-05-09 |
Family
ID=67696783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910464659.5A Active CN110175169B (zh) | 2019-05-30 | 2019-05-30 | 一种加密数据去重方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175169B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749137B (zh) * | 2019-10-31 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备及存储介质 |
CN110909318B (zh) * | 2019-11-22 | 2022-04-08 | 展讯通信(上海)有限公司 | 用于用户设备的操作系统防盗刷方法及装置、终端 |
CN113918544A (zh) * | 2020-07-09 | 2022-01-11 | 华为技术有限公司 | 一种数据缩减方法和装置 |
CN112231309B (zh) * | 2020-10-14 | 2024-05-07 | 深圳前海微众银行股份有限公司 | 纵向联邦数据统计的去重方法、装置、终端设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106100832A (zh) * | 2016-06-12 | 2016-11-09 | 广东工业大学 | 一种云存储数据去重中基于收敛加密的密钥管理方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
CN108377237A (zh) * | 2018-02-05 | 2018-08-07 | 江苏大学 | 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法 |
CN108809996A (zh) * | 2018-06-15 | 2018-11-13 | 青岛大学 | 不同流行度的删重存储数据的完整性审计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2517913A (en) * | 2013-08-30 | 2015-03-11 | Ibm | Remote data storage |
-
2019
- 2019-05-30 CN CN201910464659.5A patent/CN110175169B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106100832A (zh) * | 2016-06-12 | 2016-11-09 | 广东工业大学 | 一种云存储数据去重中基于收敛加密的密钥管理方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
CN108377237A (zh) * | 2018-02-05 | 2018-08-07 | 江苏大学 | 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法 |
CN108809996A (zh) * | 2018-06-15 | 2018-11-13 | 青岛大学 | 不同流行度的删重存储数据的完整性审计方法 |
Non-Patent Citations (1)
Title |
---|
云存储环境中加密数据安全重复删除方法研究;张曙光;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20181215(第12期);第I137-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110175169A (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213042B (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
CN110175169B (zh) | 一种加密数据去重方法、系统及相关装置 | |
CN109379182B (zh) | 支持数据去重的高效数据重加密方法及系统、云存储系统 | |
US9800416B2 (en) | Distributed validation of digitally signed electronic documents | |
Chen | Using algebraic signatures to check data possession in cloud storage | |
US9547774B2 (en) | System and method for distributed deduplication of encrypted chunks | |
Barsoum et al. | Enabling dynamic data and indirect mutual trust for cloud computing storage systems | |
US20140025948A1 (en) | System and method for distributed deduplication of encrypted chunks | |
EP3375129A1 (en) | Method for re-keying an encrypted data file | |
Yi et al. | Efficient integrity verification of replicated data in cloud computing system | |
Yan et al. | A scheme to manage encrypted data storage with deduplication in cloud | |
Mukundan et al. | Efficient integrity verification of replicated data in cloud using homomorphic encryption | |
CN111526197A (zh) | 一种云端数据安全共享方法 | |
JPWO2017033442A1 (ja) | 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム | |
Zhou et al. | A similarity-aware encrypted deduplication scheme with flexible access control in the cloud | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
Yang et al. | Zero knowledge based client side deduplication for encrypted files of secure cloud storage in smart cities | |
TW202025666A (zh) | 用於共享公共秘密之電腦實施系統及方法 | |
Cao et al. | A new quantum proxy multi-signature scheme using maximally entangled seven-qubit states | |
Xu et al. | Secure deduplication for big data with efficient dynamic ownership updates | |
CN113259317B (zh) | 一种基于身份代理重加密的云存储数据去重方法 | |
Tang et al. | Aggregation‐Based Tag Deduplication for Cloud Storage with Resistance against Side Channel Attack | |
CN108494552B (zh) | 支持高效收敛密钥管理的云存储数据去重方法 | |
CN112019335B (zh) | 一种基于sm2算法的多方协同加解密方法及装置、系统、介质 | |
Kamboj et al. | DEDUP: Deduplication system for encrypted data in cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |