加密重复数据删除场景下的密钥分发方法

文档序号:7794916阅读:184来源:国知局
加密重复数据删除场景下的密钥分发方法
【专利摘要】本发明公开了一种加密重复数据删除场景下的密钥分发方法,主要解决现有技术安全性低与运算量大的问题。其实现步骤是:(1)利用基于Schnorr体制的零知识认证实现文件所有权认证,每次抽取多份明文文件块生成所有权证据;(2)服务器根据预先获取的中间证据与客户端提交的所有权证据,判断客户端是否通过文件所有权认证;(3)通过文件所有权认证后,密钥分发辅助者生成重加密密钥,服务器使用重加密密钥对文件密钥进行代理重加密,生成重加密密文并将其发送至客户端,完成对文件密钥的分发。本发明能在加密重复数据删除场景下提高客户端数据的安全性,减少客户端与服务器在交互过程中的运算量,可用于配备重复数据删除技术的云存储服务中。
【专利说明】加密重复数据删除场景下的密钥分发方法
【技术领域】
[0001]本发明属于信息安全【技术领域】,特别涉及一种密钥分发方法,可用于云存储服务中,多客户端交叉的加密重复数据删除场景下,客户端对原始数据的密钥分发。
【背景技术】
[0002]随着云计算技术日益发展,越来越多的个人与企业开始使用廉价、便捷的云服务以转移运算与存储。在这种模式下,势必会产生大量的冗余数据。为了节省用户的上传带宽和云服务提供商的存储资源,“重复数据删除”技术被提出。该技术可以保证服务器内存储的数据在块级或文件级上的唯一性,以降低数据冗余。
[0003]“重复数据删除”技术的分类有:按照重复数据删除应用的时机不同,有客户端重复数据删除和服务器端重复数据删除;按照数据粒度大小有块级重复数据删除和文件级重复数据删除。其中,在文件级的客户端重复数据删除过程中,服务器首先根据文件标识判断该文件是否已经存在,如果已存在,则该客户端无需上传文件,服务器只需将该客户端标记文件拥有者即可。无疑,该技术不仅可以节省服务器的存储资源,而且还能够节省用户的网络带宽。目前,有很多知名的云存储服务,如Dropbox与Memopal,使用该项技术。据称,商业应用所达到的重复数据删除率从1:10至1:500,使得存储和带宽节省达90%。
[0004]在已有的客户端重复数据删除系统中,服务器通过客户端提交的文件哈希值来判断文件是否已存在。这样的机制会给用户带来潜在的伤害,如攻击者可以通过服务器端是否需要上传的回复来猜测其他客户端是否拥有该文件,可以通过该类试探来猜测用户的身份信息,该攻击已被应用至一些知名的存储服务提供商,如MozyHome与Dropbox。还有一类攻击是,攻击者根据某种方式获得了文件的哈希值,但是不拥有实际文件,通过现有的机制,他可以非法访问实际文件,因为服务器认为“拥有文件哈希值则代表拥有完整的文件”。同时,这也会使得攻击者将数据存储服务滥用为内容分发网络(CDN),即公布文件哈希值,以在群体中共享文件,这将极大地加重云服务提供商的负载。
[0005]随着用户的个人数据隐私保护意识不断提高,越来越多的云服务提供商声称提供加密存储,但是有报道称,社交网络Twitter的客户端软件存在安全漏洞,使得攻击者可以访问用户的隐私数据。但服务提供的存储加密也不能避免“诚实而好奇”的服务器获得用户数据。因此,出现了另一种结合“端到端”加密的客户端重复数据删除方案。在这种方案里,文件由用户随机选择的密钥进行加密,文件密文上传至服务器。但是这又引入一个新问题,除了密钥的拥有者,谁都不能确定两份密文是否对应于同一份明文,服务器只能针对某一用户使用重复数据删除技术,这将大大降低重复数据的删除效率。
[0006]为了解决上述问题,业界提出了以下解决方案:
[0007]一.Harnik et al.提出了 P0W(Proofs of Ownership)策略来验证用户是否真正拥有文件:服务器和客户端都对文件进行预处理后,建立Merkle树,服务器随机选择一个叶子节点的集合,向客户端发出挑战,要求客户端返回从Merkle树根节点到该叶子节点集的路径集合。但是该文件所有权认证方案具有两个缺点:其一,该方案需要客户端频繁执行极为耗时的I/O请求且大量消耗计算资源;其二,方案的安全性基于难以证明的假设。
[0008]二.收敛加密是由Douceur et al.提出的密码学原语,试图在重复数据删除中保证数据的机密性。数据的收敛加密是指以确定的对称加密方案对明文进行加密,加密密钥通过在明文上应用确定的方法来获取。显然,相同的明文将产生相同的密钥和相同的密文,使得跨用户的重复数据删除得以实现。但收敛加密不能提供语义安全,因为它容易受到内容猜测攻击。由Bellare et al.的研究结果表明,收敛加密只能为不可预测的数据提供保密性。
[0009]三.在所知的方案中,还未有专门的密钥分发方案。文件密钥被加密后,直接传输给客户端,且密钥加密密钥一般使用类似收敛加密方案中的密钥生成方法来获得,即其以确定的方法由明文生成。因此,密钥加密密钥会面临与收敛加密方案相同的攻击:其一,内容猜测攻击;其二,无语义安全保证。

【发明内容】

[0010]本发明的目的在于针对上述已有技术的不足,提出一种加密重复数据删除场景下的密钥分发方法,以在重复数据删除的云存储服务中提高用户数据的安全性,减少客户端与服务器在交互过程中的运算量。
[0011]本发明的技术方案是这样实现的:
[0012]一.技术原理:
[0013]为了解决“用户数据隐私保护条件下的重复数据删除”场景中的安全问题,本发明提出一个密码学安全的、高效的证明方案。在该方案包括两个部分,分别是基于Schnorr体制零知识证明协议的文件所有权证明和利用代理重加密实现的密钥分发。
[0014]利用基于Schnorr体制的零知识证明协议实现文件所有权的证明。零知识证明,即在不泄露知识的前提下,受验者向验证者证明某一论断的正确性。由于其固有的“零知识”属性,基于原始明文文件的所有权证据不会泄露原始明文文件信息,用此保证交互过程中数据的机密性。文件的首位上传者根据原始文件,计算中间证据并上传至服务器;在后续上传者与服务器进行的文件所有权证明交互中,服务器比对中间证据与后续上传者的所有权证据,以确定是否承认后续上传者的文件所有权。服务器根据随机采样和动态系数技术,让后续上传者生成新鲜的所有权证据,以抵挡重放攻击。
[0015]同时,利用代理重加密技术实现密钥分发。代理重加密,即以授权者公钥加密的密文可被转化为被授权者私钥可解密的密文。当有后续上传者通过文件所有权认证后,辅助密钥分发的文件所有者生成重加密密钥rk,并以公钥加密文件密钥k得文件密钥密文V,服务器使用重加密密钥rk对文件密钥密文V进行重加密运算后,得重加密密文V ,。后续上传者获得文件密钥k的重加密密文V ,后,用其私钥解密重加密密文V '便可获得文件密钥k,以此实现对原始文件的授权访问。
[0016]二.实现步骤:
[0017]对于同一文件的首位上传者与后续上传者,本发明的实现具体步骤包括:
[0018](1)文件首位上传者FU上传中间证据和原始文件密文:
[0019]la)文件的首位上传者FU按照基于Schnorr体制的零知识证明协议的要求,对原始文件m进行分块后,利用同余运算生成中间证据IPs ;[0020]lb)文件的首位上传者FU随机选择文件密钥k,对原始文件m进行对称加密得原始文件密文V,并用文件首位上传者FU的公钥pkFU加密文件密钥k,得到文件密钥密文
"k,.A FU ,
[0021]lc)上传中间证据IPs、原始文件密文V和文件密钥密文V FU至服务器;
[0022](2)后续上传者SU与服务器进行文件所有权证明交互:
[0023]2a)后续上传者SU选择随机数r,生成相关系数X并发送至服务器:χ=β%0(1 d,其中,1≤β≤d-1, β是阶为q的元,即mod d, d与q均为素数,且满足d为1能被q整除;
[0024]2b)服务器随机选择文件块数c与两个随机数s' ,s'',组成认证挑战集合:
[0025]Chal=(c,s/ ’ s''),并发送至后续上传者SU ;
[0026]2c)后续上传者SU根据所拥有的原始文件m和认证挑战集合Chal,生成文件所有权证据FPs并发送至服务器;
[0027]2d)服务器根据中间证据IPs和从后续上传者SU接收到的文件所有权证据FPs,生成两组证据间距离DPs,以确定是否承认后续上传者SU的文件所有权,承认后续上传者SU的文件所有权,则服务器将后续上传者SU标记为文件的所有者,执行步骤⑶;否则,后续上传者su本次文件所有权认证失败;
[0028](3)服务器分发密钥至后续上传者SU:
[0029]3a)后续上传者SU上传自己的公钥pksu至服务器;
[0030]3b)服务器将后续上传者SU的公钥pksu发送至密钥分发辅助者AU ;
[0031]3c)密钥分发辅助者AU用自己的私钥skAU和从服务器接收的公钥pksu,生成重加密密钥rkAU —su;
[0032]3d)密钥分发辅助者AU用公钥pkAU加密文件密钥k,得到文件密钥密文k' AU;
[0033]3e)密钥分发辅助者AU将自己的文件密钥密文k' Au、公钥pkAU及重加密密钥rkAU _ su同时返回至服务器;
[0034]3f)服务器用重加密密钥rkAU —su对密钥分发辅助者AU的文件密钥密文k' Au进行代理重加密,得到重加密密文V ' su并将其发送至后续上传者SU ;
[0035]3g)后续上传者SU用其私钥skslJ?密重加密密文k',su,得到文件密钥k。
[0036]本发明与现有技术相比具有以下优点:
[0037]第一,机密性强。
[0038]本发明利用基于Schnorr体制的零知识认证实现文件所有权认证,使得服务器无法根据客户端提交的所有权证据获得与原始明文文件相关的任何信息,保证了认证过程中数据的高机密性。
[0039]第二,安全性高。
[0040]本发明利用代理重加密技术进行密钥分发,使得服务器无法获取文件密钥的任何信息,保证了文件密钥的高安全性。
[0041]第三,运算量少。
[0042]本发明利用随机采样技术抽取一定数量的文件块进行所有权认证,减少了服务器与客户端的运算量;基于原始明文文件的所有权证据生成方法,节省了客户端对原始明文文件的加密运算。【专利附图】

【附图说明】
[0043]图1为本发明的总流程图;
[0044]图2为本发明中文件所有权认证准备的子流程图;
[0045]图3为本发明中文件所有权认证阶段交互的子流程图;
[0046]图4为本发明中密钥分发阶段交互的子流程图。
【具体实施方式】
[0047]符号和缩写
[0048]m为原始文件;
[0049]k为文件首位上传者随机选择的原始文件的文件密钥;
[0050]m/为原始文件密文,即原始文件m经文件密钥k加密后所得的密文形式;
[0051]η为原始文件的分块数目;
[0052]{b1, b2,…,BI,…,bn}为原始文件分块的集合;
[0053]pkFU, skFU为首位上传者FU的公私钥对;
[0054]pksu, sksu为后续上传者SU的公私钥对;
[0055]pkAU, skAU为密钥分发辅助者AU的公私钥对;
[0056]k' AU为文件密钥k经密钥分发辅助者AU的公钥pkAU加密后的密文形式;
[0057]'⑶为文件密钥密文V AU经重加密后的密文形式;
[0058]c为单次挑战证明过程中,请求的文件块数目;
[0059]d, q为素数,且两者关系满足d | p_l ;
[0060]β 是阶为 q 的元,即 1=β ^ mod d,1 ≤ β ≤ d-1 ;
[0061]6是阶为(1生成元为8的循环群,6={g0,g1...gd-1};
[0062]H()为随机哈希函数;
[0063]gJ, gh, gu,gv,gw为从循环群G中选择的四个不同的数值,j,h, u, v, w的取值范围均从0到d-1 ;
[0064]1,s为从整数集合Zd中选择两个不同的数值;
[0065]mod为求余运算;
[0066]TCR0为无碰撞哈希函数,该函数有两个输入参数,此二参数均属于循环群G ;
[0067]TCR'()为无碰撞哈希函数,该函数有一个输入参数,该参数属于循环群G ;
[0068]SYM.Enc ()为对称加密方案;
[0069]SYM.Dec ()为对称解密方案。
[0070]下面通过附图和【具体实施方式】进一步说明本发明的实施方案。
[0071]参照图1,本发明的实现步骤如下:
[0072]步骤1,首位上传者FU对文件所有权进行认证准备。
[0073]参照图2,本步骤的具体实现如下:
[0074]la)将原始文件m分为大小相等的n块,得到m= b1,b2,…,bi,…,bn};
[0075]lb)按照基于Schnorr体制的零知识证明协议的要求,针对原始文件m的每一分块,利用同余运算生成中间证据IPs:[0076]IPs={IPsJ,
[0077]其中,IPSi是中间证据IPs中的元素,IPs, = β_~ mod d , h是原始文件
m= {b^ b2,...,...,bj 的每一分块,i 从 1 到 η, 1 ≤ β ≤ d-1, β 是阶为 q 的元,即 1=β qmodd,d与q均为素数,且满足d-1能被q整除,mod为求余运算;中间证据IPs中的每一元素与原始文件m的分块具有一一对应关系;
[0078]lc)随机选择文件密钥k ;
[0079]Id)用文件密钥k对原始文件m进行对称加密,得到原始文件密文11^:
[0080]m/ =SYM.Enc (k, m),
[0081]其中,SYM.Enc()为对称加密方案;
[0082]le)上传中间证据IPs与原始文件密文m'至服务器。
[0083]步骤2,服务器与后续上传者SU进行文件所有权认证交互。
[0084]参照图3,本步骤的具体实现如下:
[0085]2a)后续上传者SU选择随机数r,生成相关系数x并发送至服务器,其相关系数x按如下公式生成:
[0086]χ= β rmod d,
[0087]其中,1≤β <d_l,β是阶为q的元,即l=3qmod d,d与q均为素数,且满足d_l能被q整除,mod为求余运算;
[0088]2b)服务器收到相关系数X后,选择认证文件块数c和两个随机数s',s''组成认证挑战集合Chal= (c, s' , s''),将认证挑战集合Chal发送至后续上传者SU ;
[0089]2c)后续上传者SU根据认证挑战集合Chal,首先生成文件所有权证据FPs,并上传至服务器,所有权证据FPs,按如下公式生成:
[0090]FPs= {FPsJ ,
[0091]其中,FPSi是文件所有权证据FPs中的元素,i = (PS'(P),FPsi=bi*s/ ' +r, φ3?
是伪随机置换函数,h是原始文件b2,…,,…,bn}的每一分块,r为随机数,P从1到c,c是认证挑战集合Chal中的文件块数,s' , s''是认证挑战集合Chal中的两个随机数;
[0092]2d)服务器根据中间证据IPs和文件所有权证据FPs,生成两组证据间距离DPs:
[0093]DPs={DPsJ,
[0094]DPsj = IPSiS〃 * pFPsi mod d,
[0095]其中,DPSi是证据间距离DPs的元素,IPs,是中间证据IPs的元素,FPSi是文件所有权证据FPs的元素;
[0096]2e)服务器根据两证据间距离DPS={DPSi}来判断是否承认后续上传者SU的文件所有权:如果DPs={DPsJ中的每一元素均与相关系数X相等,则承认后续上传者SU的文件所有权,执行步骤3 ;否则,后续上传者SU的文件所有权认证失败。
[0097]步骤3,服务器对后续上传者SU进行密钥分发。
[0098]参照图4,本步骤的具体实现如下:
[0099]3a)后续上传者SU上传自己的公钥pksu至服务器;
[0100]3b)服务器将后续上传者SU的公钥pksu发送至密钥分发辅助者AU ;[0101]3c)密钥分发辅助者AU根据重加密密钥生成规则,用自己的私钥skAU和从服务器接收的公钥pksu,生成重加密密钥rkAU —su:
[0102]3cl)从整数集合Zd中随机选择两个整数xAU,yAU,组成密钥分发辅助者AU的私钥skAU:
[0103]
【权利要求】
1.一种加密重复数据删除场景下的密钥分发方法,包括如下步骤:(1)文件首位上传者FU上传中间证据和原始文件密文:la)文件的首位上传者FU按照基于Schnorr体制的零知识证明协议的要求,对原始文件m进行分块后,利用同余运算生成中间证据IPs ;lb)文件的首位上传者FU随机选择文件密钥,对原始文件m进行对称加密得原始文件密文V ;lc)上传中间证据IPs与原始文件密文m'至服务器;(2)后续上传者SU与服务器进行文件所有权证明交互:2a)后续上传者SU选择随机数r,生成相关系数X并发送至服务器d,其中,1≤β≤d-1,β是阶为q的元,即1=β5 mod d,d与q均为素数,且满足d_l能被q整除;2b)服务器随机选择文件块数c与两个随机数s' ,s'',组成认证挑战集合:Chal=(c,s/,s''),并发送至后续上传者SU;2c)后续上传者SU根据所拥有的原始文件m和认证挑战集合Chal,生成文件所有权证据FPs并发送至服务器;2d)服务器根据中间证据IPs和从后续上传者SU接收到的文件所有权证据FPs,生成两组证据间距离DPs,以确定是否承认后续上传者SU的文件所有权,承认后续上传者SU的文件所有权,则服务器将后续上传者SU标记为文件的所有者,执行步骤(3);否则,后续上传者SU本次文件所有权认证失败;(3)服务器分发密钥至后续上传者SU:3a)后续上传者SU上传自己的公钥pksu至服务器;3b)服务器将后续上传者SU的公钥pksu发送至密钥分发辅助者AU ;3c)密钥分发辅助者AU用自己的私钥skAU和从服务器接收的公钥pksu,生成重加密密钥 r^AU — SU ;3d)密钥分发辅助者AU用公钥pkAU加密文件密钥,得到文件密钥密文k' AU;3e)密钥分发辅助者AU将自己的文件密钥密文k' AU、公钥pkAU及重加密密钥rkAU — slI同时返回至服务器;3f)服务器用重加密密钥rkAU —su对密钥分发辅助者AU的文件密钥密文k' AU进行代理重加密,得到重加密密文V ' su并将其发送至后续上传者SU ;3g)后续上传者SU用其私钥sksu解密重加密密文k' / su,得到文件密钥。
2.根据权利要求1所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤la)所述的利用同余运算生成中间证据IPs,通过如下公式生成:IPS={IPSi},其中,IPSi是中间证据IPs中的元素,丨Ps = β-15 modd,匕是原始文件,…,bi,…,bn}的每一分块,i从1到η, η是原始文件m的分块数,1≤β≤d_l, β是阶为q的元,即l=i3q mod d,d与q均为素数,且满足d-1能被q整除,mod为求余运算。
3.根据权利要求1所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤2c)所述的根据所拥有的原始文件m和认证挑战集合Chal,生成文件所有权证据FPs,按如下步骤进行:FPs={FPsJ ,其中,FPSi是文件所有权证据FPs中的元素
4.根据权利要求1所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤2d)所述的根据中间证据IPs和从后续上传者SU接收到的文件所有权证据FPs,生成两组证据间距离DPs,按如下公式进行:DPs={DPsJ,
5.根据权利要求1所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤3c)所述的密钥分发辅助者AU用自己的私钥skAU和从服务器接收的公钥pksu,生成重加密密钥rkAU —su,按如下步骤进行:3cl)从整数集合Zd中随机选择两个整数xAU,AU,组成密钥分发辅助者AU的私钥skAU:S^AU- (XAU,AU),其中,整数集合zd={, 1,…,d-1}, d为素数;3c2)从整数集合Zd中随机选择两个整数xsu,su,组成后续上传者SU的私钥sksu:sksu- (xsu,su);3c3)根据素数(1,确定阶为(1生成元为8的循环群6,6={#41,...^^1};3c4)从循环群G中随机选择数值j的取值范围从0到d-Ι ;3c5)根据后续上传者SU的私钥sksu、循环群G的生成元g和数值计算其对应公钥Pksu:
6.根据权利要求1所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤3d)所述的密钥分发辅助者AU用公钥pkAU加密文件密钥,得到文件密钥密文k' AU,按如下步骤进行:3dl)根据密钥分发辅助者AU的私钥skAU,计算其对应公钥pkAU:
7.根据权利要求1或步骤5所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤3f)所述的用重加密密钥rkAU —su对密钥分发辅助者AU的文件密钥密文k'矹进行代理重加密,得到重加密密文V ' su,按如下步骤进行:3Π)从整数集合Zd={0,1,一,(1-1}中随机选择两个整数r'与r' / ;3f2)根据整数r'与r' /、文件密钥密文k' Au、密钥分发辅助者AU的公钥pkAU和重加密密钥为rkAU —su,计算中间变量C6,C7, C8:
8.根据权利要求1或步骤5所述的加密重复数据删除场景下的密钥分发方法,其特征在于,步骤3g)所述的后续上传者SU用其私钥skslJ?密重加密密文k,,su,得到文件密钥k,按如下步骤进行:3gl)根据后续上传者SU的私钥sksu和重加密密文k,,su,计算中间变量kt:kt = SYM.Dec(H(AysiJ),C),其中,变量A与C是重加密密文k' ' SU=(A,B,C)组成部分,SYM.Dec()为对称解密算法。3g2)解析中间变量kt:
【文档编号】H04L9/08GK103731261SQ201410010603
【公开日】2014年4月16日 申请日期:2014年1月9日 优先权日:2014年1月9日
【发明者】张明月, 杨超, 马建峰, 董超, 周洪丞, 张坤, 姚亮, 张鹏 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1