一种文件所有权证明的方法及装置制造方法

文档序号:7982042
一种文件所有权证明的方法及装置制造方法
【专利摘要】本发明提供一种文件所有权证明的方法及装置,该方法包括:云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。根据本发明可以提高文件所有权证明的安全性。
【专利说明】—种文件所有权证明的方法及装置
【技术领域】
[0001]本发明涉及一种数据所有权的证明方法,尤其涉及的是一种在云存储服务中,客户端重复数据删除场景下的客户端对原始数据所有权的证明方法及装置。
【背景技术】
[0002]随着云存储服务的广泛应用,越来越多的商业与个人数据被存储在远程的云存储服务器端。数据量的不断增多便需要相关的技术来节省磁盘空间和网络带宽,在此情况下,一个新兴的技术应运而生:“重复数据删除技术”。在该技术中,云存储服务器端仅仅存储一个文件的一份拷贝,无论有多少个客户端想存储该文件或拥有该文件;同时,所有拥有该文件的客户端不存储该数据,而仅仅存储一个链接到云存储服务器端该文件唯一拷贝的链接。而且,如果云存储服务器端已经拥有该文件的拷贝,则声称拥有该文件的客户端不必再次上传该文件到服务器端,从而大量节省客户端的存储空间和网络带宽,该技术被称为“客户端重复数据删除技术”。据报道,商业应用中的数据重复删除比例可以达到1: 10甚至I: 500,从而能节省近乎90%的磁盘空间和网络带宽。
[0003]然而,最近发现,该新兴的“客户端重复数据删除技术”面临并遭受了一些新型的安全威胁与攻击。Harniketal等人发现,当云存储服务器端告知一个客户端不必上传某个文件,这意味着其他客户端拥有同样的文件,这可能是个敏感的隐私信息;更严重的是,Halevietal等人最近发现一类新型的、针对客户端重复数据删除技术的攻击。在这些攻击中,攻击者仅仅通过获取一段很小的原始文件的摘要值,便可从云存储服务器端非授权的获得整个原始文件的拥有权,并可以对该文件实施各种操作,包括下载、更改、删除等。而且,这些攻击不仅仅在理论上进行了分析,并在实际中得到了证实。同样在最近,Mulazzanietal等人就对知名的云存储服务商Dropbox的重复数据删除技术成功的实施了类似的攻击,Dropbox在几个月后承认存在漏洞,并给出了暂时的补救措施。虽然他们给出了一些补救措施,但均没有根除该问题的核心原因:客户端重复数据删除技术使用一小片摘要信息来代表整个原始文件,攻击者只需获取该摘要信息,变可获得整个文件所有权。
[0004]关于现有的解决方案,主要分为两大类:
[0005]一方面,如何保证远程云存储服务器端所存储的数据的完整性问题,得到了广泛的关注,例如远程数据可恢复证明方案(POR)和远程数据拥有证明方案(rop)。在此类方案中,是云存储服务器端要向客户端证明,它正确并完整的保存着全部的原始文件。而在客户端重复数据删除的场景中,是客户端向服务器端证明它拥有原始文件,即在云存储服务器端与客户端之间,存在一个完全的角色翻转。但该角色翻转的影响却是非常大的,因为在客户端重复数据删除的场景中,验证方(云存储服务器端)不能提前在证明方(客户端)嵌入机密数据以满足证明需要,这将导致POR和PDP方案在新场景下,均不可用。
[0006]另外一方面,由于利用摘要值,非授权获得原始文件拥有权的新型攻击刚刚出现不久,所以当前仅有几个初步方案来解决该类攻击,但这些方案是个较初步的临时方案,没有达到可证明的安全级别;有的方案需要在原始数据建立整棵Merkle(哈希树),其效率问题非常突出,而且该方案也未能满足下面的安全需求:每次证明过程中要求抽样的数据内容都是随机选择的,并且要求在任何情况下,所生成的证明数据必须与之前任何一次生成的证明数据均不相同。这将导致攻击者有可能伪造证明数据。

【发明内容】

[0007]本发明要解决的技术问题是提供一种文件所有权证明的方法及装置,以提高文件所有权证明的安全性。
[0008]为了解决上述技术问题,本发明提供了一种文件所有权证明的方法,包括:
[0009]云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
[0010]所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
[0011]进一步地,上述方法还具有下面特点:所述云存储服务器向所述客户端发送验证请求之前,还包括:
[0012]所述云存储服务器选取第一随机数,利用该第一随机数生成一会话密钥;
[0013]所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
[0014]进一步地,上述方法还具有下面特点:所述云存储服务器生成会话密钥之后还包括:
[0015]所述云存储服务器通过所述会话密钥来验证所述客户端的合法性。
[0016]进一步地,上述方法还具有下面特点:所述云存储服务器检测所述验证证据的有效性包括:
[0017]所述云存储服务器根据所述会话密钥和第三随机数生成的动态系数;
[0018]利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
[0019]通过所述验证信息来检测所述验证证据的有效性。
[0020]进一步地,上述方法还具有下面特点:所述云存储服务器检测所述验证证据的有效性包括:
[0021]所述云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数;
[0022]利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
[0023]将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
[0024]通过所述总验证信息来检测所述验证证据的有效性。
[0025]进一步地,上述方法还具有下面特点:所述指定算法包括:
[0026]密码学哈希函数算法。
[0027]为了解决上述问题,本发明还提供了一种云存储服务器,包括:
[0028]第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;[0029]第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
[0030]进一步地,上述云存储服务器还具有下面特点:
[0031]所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
[0032]进一步地,上述云存储服务器还具有下面特点:
[0033]所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
[0034]进一步地,上述云存储服务器还具有下面特点:所述第二模块包括:
[0035]第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成的动态系数;
[0036]第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
[0037]第三单元,用于通过所述验证信息来检测所述验证证据的有效性。
[0038]进一步地,上述云存储服务器还具有下面特点:所述第二模块包括:
[0039]第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数;
[0040]第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
[0041]第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
[0042]第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
[0043]进一步地,上述云存储服务器还具有下面特点:
[0044]所述指定算法包括:密码学哈希函数算法。
[0045]为了解决上述问题,本发明还提供了一种文件所有权证明的方法,包括:
[0046]客户端设备向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
[0047]所述客户端设备根据所述验证请求对所述指定文件进行分块,并根据随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
[0048]进一步地,上述方法还具有下面特点:所述客户端设备接收所述验证请求之前,还包括:
[0049]所述客户端设备通过所述云存储服务器提供的第一随机数生成一会话密钥,
[0050]所述随机指定的文件块数据是通过以下方式获取的:
[0051]所述客户端设备根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
[0052]进一步地,上述方法还具有下面特点:所述客户端设备生成会话密钥之后,还包括:
[0053]所述客户端设备通过所述会话密钥与所述云存储服务器进行合法性验证。[0054]进一步地,上述方法还具有下面特点:所述客户端设备根据随机指定的文件块数据生成验证证据包括:
[0055]所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
[0056]利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
[0057]进一步地,上述方法还具有下面特点:所述客户端设备根据随机指定的文件块数据生成验证证据包括:
[0058]所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
[0059]利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息;
[0060]将所有计算出来的验证信息通过一指定算法生成验证证据。
[0061]进一步地,上述方法还具有下面特点:所述指定算法包括:
[0062]密码学哈希函数算法。
[0063]为了解决上述问题,本发明还提供了一种客户端设备,包括:
[0064]第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
[0065]第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
[0066]进一步地,上述客户端设备还具有下面特点:
[0067]所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥;
[0068]所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
[0069]进一步地,上述客户端设备还具有下面特点:
[0070]所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
[0071]进一步地,上述客户端设备还具有下面特点:所述第二模块包括:
[0072]第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
[0073]第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
[0074]进一步地,上述客户端设备还具有下面特点:所述第二模块包括:
[0075]第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
[0076]第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证
信息
[0077]第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
[0078]进一步地,上述客户端设备还具有下面特点:所述指定算法包括:[0079]密码学哈希函数算法。
[0080]综上,本发明提供一种文件所有权证明的方法及装置,在该方案中,客户端要向云存储服务器端证明它真实拥有整个原始文件而不是其摘要信息。本发明实施例的方案通过抽样检查技术(spotchecking),让客户端仅仅访问一小部分的原始文件,便能生成原始文件拥有权的证明。这样在保证高检测率的同时,保证了方案的高效性;同时,通过利用动态系数和原始数据块随机索引技术,不仅能抵御新型的攻击,满足关键的安全性需求,而且还达到了密码学可证明的安全级别。最后,对新方案进行了全面的安全性分析和性能分析,验证了新方案不仅可证明安全,而且执行效率高的结论。
【专利附图】

【附图说明】
[0081]图1为一典型的云存储环境下的网络结构图;
[0082]图2为本发明实施例的云存储服务器的示意图;
[0083]图3为本发明实施例的客户端设备的示意图;
[0084]图4为本发明实施例的文件所有权证明的方法的流程图;
[0085]图5为本发明实施例中,挑战文件块数与客户端欺骗行为检测概率的关系图(文件块总数=1000);
[0086]图6为本发明实施例中,挑战文件块数与客户端欺骗行为检测概率的关系图(文件块总数=30000);
[0087]图7为本发明实施例中,当客户端丢失原始文件5%和15%两种情况下,挑战文件块数和客户文件丢失行为的检测率(文件块总数分别为1000,3000,5000,和30000)。
【具体实施方式】
[0088]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0089]图1显示了一个典型的云存储环境下的网络结构,其中有2个主体设备:
[0090]云存储服务器:存储服务器将给用户提供数据存储服务,其计算和存储能力强于普通的单个用户,它将维护用户数据的完整性和云存储服务的可用性。
[0091]客户端用户:云存储网络结构中将有很多客户端用户,他们将创建自己的账户和密码;在随后的交互过程中,他们用各自的账户和密码登陆到云存储服务器,上传或下载数据。
[0092]在重复数据删除的场景下,云存储服务器对一个原始文件,无论有多少个客户端请求存储该原始文件仅保存一份拷贝。所有拥有该原始文件的客户端用户仅仅通过一个简单的链接来访问存储在服务器端的原始文件拷贝。具体来说,一个客户端用户请求处理文件时首先发送原始文件的哈希值给服务器端,云存储服务器检查是否有同样的哈希值已经存在服务器端数据库;如果服务器端有一个一模一样的哈希值,则云存储服务器将对客户端用户发起挑战,询问客户端关于拥有该原始文件的所有权证据。(如果没有一样的哈希值,则把客户的文件全部上传,也不需要询问原始文件的所有权证据)如果客户通过验证,则不用再上传拥有的原始文件,同时,服务器端也将此用户标记为该原始文件的拥有者,即从此刻起,服务器端将认为该用户与原先上传原始文件的用户同时具有该原始文件的所有权。这样,重复数据删除过程将大大节省计算、存储和带宽资源。
[0093]图2为本发明实施例的云存储服务器的示意图,如图2所示,本实施例的云存储服务器包括:
[0094]第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
[0095]第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
[0096]其中,所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
[0097]其中,所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
[0098]其中,在一优选实施例中,所述第二模块可以包括:
[0099]第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成的动态系数;
[0100]第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
[0101]第三单元,用于通过所述验证信息来检测所述验证证据的有效性。
[0102]其中,在另一优选实施例中,所述第二模块可以包括:
[0103]第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数;
[0104]第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
[0105]第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
[0106]第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
[0107]所述指定算法包括:密码学哈希函数算法。
[0108]图3为本发明实施例的客户端设备的示意图,如图3所示,本实施例的客户端设备包括:
[0109]第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
[0110]第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
[0111]其中,所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥;
[0112]所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
[0113]在一优选实施例中,所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
[0114]其中,在一优选实施例中,所述第二模块可以包括:
[0115]第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
[0116]第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
[0117]其中,在另一优选实施例中,所述第二模块可以包括:
[0118]第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
[0119]第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证
信息
[0120]第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
[0121]所述指定算法包括:密码学哈希函数算法。
[0122]图4为本发明实施例的文件所有权证明的方法的流程图,如图4所示,本实施例的方法包括:
[0123]S11、客户端设备向云存储服务器发送针对指定文件的处理请求;
[0124]例如,客户端设备向云存储服务器发送验证指定文件所有权的请求或存储指定文件的请求;
[0125]S12、云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
[0126]S13、所述客户端设备接收所述验证请求后,根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器;
[0127]S14、所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
[0128]其中,步骤S13中客户端设备根据随机指定的文件块数据生成验证证据可以采用两种方案,如下:
[0129]方案一,客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
[0130]方案二,客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息;将所有计算出来的验证信息通过一指定算法生成验证证据。
[0131]其中,步骤S14中云存储服务器检测所述验证证据的有效性对应地也可以有两种方案,如下:[0132]方案一,云存储服务器根据所述会话密钥和第三随机数生成的动态系数;利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;通过所述验证信息来检测所述验证证据的有效性。
[0133]方案二,云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数;利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;将所有计算出来的验证信息通过一指定算法计算出一总验证信息;通过所述总验证信息来检测所述验证证据的有效性。
[0134]以下以具体实施例对本发明的方法进行详细说明。
[0135]本实施例中用到的符号与缩写如下:
[0136]F为原始文件;
[0137]f为原始文件的分块数目;
[0138](b1;..., bf)原始文件所有文件块的集合;
[0139]a key (*)为伪随机函数(PRF),定义为α: {O, l}*Xkey ^ {0,1}U,其中μ是安全参数;{0,I表示由O、I组成的任意长度的串;
[0140]β key(*)为伪随机置换函数(PRP),定义P: [0,1}?052⑴ X key {0,1]卿2⑴,
其中I是安全参数;
[0141]HashkW为密码学哈希函数,密钥k作为输入的一部分;
[0142]c为单次挑战请求的文件块的`数目;
[0143]sk为客户端和服务器端共享的对称密钥;
[0144]Rseedl&Rseed2为单次挑战中生成的随机种子,定义为Rseedl — (random) {0,1}k,Rseed2 — (random) {O, l}k ;
[0145]Rc为随机数,用于生成每次挑战的会话密钥,定义为R。一 (random) {O, l}k ;
[0146]TimeStamp为当前时间戳。
[0147]首先给出可证明文件所有权方案的定义:
[0148]Def initionl (可证明文件所有权(Provable Ownership of File 简称 PWoF),一个可证明文件所有权方案(PWoF)是三个多项式算法KeyDeriving(密钥生成算法)、ProofGen (证据生成算法)和ProofCheck (证据验证算法)的集合,具体定义如下:
[0149]KeyDeriving(sk,Rc) — (Keysession,Rseedl,Rseed21:该算法是一个密钥生成算法,在方案的初始化阶段由服务器运行。该算法将客户端和服务器端之间的共享密钥sk和一个随机数R。作为输入,返回一个新的回话密钥和两个随机数=Keysessim, Rseedl, Rseed2 ;
[0150]ProofGen (Ks, F,Chal) — V:该算法由客户端运行,目的是生成原始文件所有权的证据。该算法的输入包括一个秘密的会话密钥Ks,原始文件块的集合和一个挑战集合(Chal),该挑战集合决定了原始文件F中的哪些数据块作为挑战将被询问;算法运行结束后,输出一个原始文件所有权的证据V,该证据对应于这个挑战集合Chal ;
[0151]ProofCheck(Ks,Chal,F,V) — {' True' , ' False' }:该算法由服务器端运行,目的是验证客户端发送过来的原始文件证据。该算法的输入包括一个秘密的会话密钥Ks,一个挑战集合Chal,原始文件块的集合和客户端生成的文件所有权证据V;如果证据V是一个正确的原始文件所有权证据,该算法将返回“真”;如果证据V无效,将返回“假”。
[0152]接下来利用从上述可证明文件所有权的算法来构建文件所有权的证明协议,该协议过程包括初始化和挑战应答两个阶段。
[0153]实施例1
[0154]阶段1:初始化:云存储服务器拥有原始文件F,并将文件分为很多大小相同的块来存储。
[0155]步骤101、云存储服务器接收到客户端用户发送的存储指定文件的请求后,如检测到本地已存储有该文件,则选取一个随机数R。,并运行算法KeyDeriving(sk,Rc) — iKeysessi()n,Rseedl, Rseed2},生成会话? 钥(Keysession)和种子随机数(Rseedi 和 Rseed2);
[0156]KeyDeriving(sk, Rc)用于选择两个种子随机数 Rseedl — (random) {O, l}k 和Rseed2 — (random) {O, l}k,并生成会话密钥 Keysession = Hashsk(Rc),其中,sk 是云存储服务器端与客户端共享的对称密钥,Rc- (random) {0,l}k ;输出会话密钥和种子随机数:output (Keysession, Rseedl? Rseed2);
[0157](random) {O, l}k表示随机产生k长度的O、I串。
[0158]步骤102、云存储服务器将选取的随机数R。和算法输出的种子随机数Rseedl和Rseed2一并发给客户端;
[0159]步骤103、客户端将运行同样的密钥生成算法KeyDeriving(sk, R。)生成同样的会话密钥Keysessim,并忽略生成的种子随机数;
[0160]客户端和云存储服务器端将秘密存储会话密钥Keysessim和两个种子随机数(Rseedl和Rsrad2),为下一步算法做准备,并删除随机数R。。
[0161]阶段2:挑战响应:
[0162]步骤104、云存储服务器生成一个挑战集合Chal,将挑战集合Chal发送给客户端;
[0163]这个挑战集合指明了云存储服务器想要采样询问的原始文件块,换句话说,该挑战集合包括文件块的索引信息,指明了需要根据哪些文件块来生成文件拥有证据。
[0164]步骤105、客户端运行算法ProofGen (Ks,F,Chal) — V生成一个对应于该挑战集合Chal的原始文件所有权的证据V,然后将生成的证据V发送回云存储服务器;
[0165]其中,ProofGen (Ks, F, Chal)算法的具体实现如下:
[0166]1:使得 F = Cb1, b2...,bf),Ks = Keysession,并且(c,Rseedl,Rseed2) = Chal,其中I ^ c ^ f ;
[0167]该式表示从服务器端收到的挑战集合,里面包括了挑战文件块数目c和两个随机种子。客户端用该集合计算证据。
[0168]2:计算临时密钥:&1 —,k.2 = X^seedl) *
[0169]3:For I ^ τ ^ c:
[0170]计算挑战中将要采样询问的原始数据块的索引值-A = βΙ(ι{τ)ι
[0171]计算一次性系数A = αΙ(2(τ);
[0172]4:计算H = [^s^1) 1111...Ν/?/?.(^τ,<5τ)],其中 I I 表示
连接运算;
[0173]5:输出 V =(H),
[0174]步骤106、云存储服务器运行算法ProofCheck (Ks,Chal,F,V)来检查证据V的有效性,并输出“真”或“假”的结果。
[0175]其中,
【权利要求】
1.一种文件所有权证明的方法,包括: 云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证; 所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
2.如权利要求1所述的方法,其特征在于:所述云存储服务器向所述客户端发送验证请求之前,还包括: 所述云存储服务器选取第一随机数,利用该第一随机数生成一会话密钥; 所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
3.如权利要求2所述的方法,其特征在于:所述云存储服务器生成会话密钥之后还包括: 所述云存储服务器通过所述会话密钥来验证所述客户端的合法性。
4.如权利要求2所述的方法,其特征在于:所述云存储服务器检测所述验证证据的有效性包括: 所述云存储服务器根据所述会话密钥和第三随机数生成的动态系数; 利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息; 通过所述验证信息来检测所述验证证据的有效性。
5.如权利要求2所述的方法,其特征在于:所述云存储服务器检测所述验证证据的有效性包括: 所述云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数; 利用所述动态系数与对应随机指定的文件块数据分别计算验证信息; 将所有计算出来的验证信息通过一指定算法计算出一总验证信息; 通过所述总验证信息来检测所述验证证据的有效性。
6.如权利要求4或5所述的方法,其特征在于:所述指定算法包括: 密码学哈希函数算法。
7.—种云存储服务器,包括: 第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证; 第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
8.如权利要求7所述的云存储服务器,其特征在于: 所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
9.如权利要求8所述的云存储服务器,其特征在于: 所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
10.如权利要求8或9所述的云存储服务器,其特征在于:所述第二模块包括: 第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成的动态系数; 第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息; 第三单元,用于通过所述验证信息来检测所述验证证据的有效性。
11.如权利要求8或9所述的云存储服务器,其特征在于:所述第二模块包括: 第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数; 第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息; 第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息; 第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
12.如权利要求10或11所述的云存储服务器,其特征在于: 所述指定算法包括:密码学哈希函数算法。
13.一种文件所有权证明的方法,包括: 客户端设备向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求; 所述客户端设备根据所述验证请求对所述指定文件进行分块,并根据随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
14.如权利要求13所述的方法,其特征在于:所述客户端设备接收所述验证请求之前,还包括: 所述客户端设备通过所述云存储服务器提供的第一随机数生成一会话密钥, 所述随机指定的文件块数据是通过以下方式获取的: 所述客户端设备根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
15.如权利要求 14所述的方法,其特征在于:所述客户端设备生成会话密钥之后,还包括: 所述客户端设备通过所述会话密钥与所述云存储服务器进行合法性验证。
16.如权利要求14所述的方法,其特征在于:所述客户端设备根据随机指定的文件块数据生成验证证据包括: 所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数; 利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
17.如权利要求14所述的方法,其特征在于:所述客户端设备根据随机指定的文件块数据生成验证证据包括: 所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数; 利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息; 将所有计算出来的验证信息通过一指定算法生成验证证据。
18.如权利要求16或17所述的方法,其特征在于:所述指定算法包括: 密码学哈希函数算法。
19.一种客户端设备,包括: 第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求; 第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
20.如权利要求19所述的客户端设备,其特征在于: 所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥; 所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
21.如权利要求20所述的客户端设备,其特征在于: 所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
22.如权利要求20所述·的客户端设备,其特征在于:所述第二模块包括: 第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数; 第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
23.如权利要求20所述的客户端设备,其特征在于:所述第二模块包括: 第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数; 第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息 第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
24.如权利要求22或23所述的客户端设备,其特征在于:所述指定算法包括: 密码学哈希函数算法。
【文档编号】H04L29/08GK103595696SQ201210290632
【公开日】2014年2月19日 申请日期:2012年8月15日 优先权日:2012年8月15日
【发明者】杨超, 陈小华, 马建峰, 李金库 申请人:中兴通讯股份有限公司, 西安电子科技大学
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1