CN103595696B - 一种文件所有权证明的方法及装置 - Google Patents
一种文件所有权证明的方法及装置 Download PDFInfo
- Publication number
- CN103595696B CN103595696B CN201210290632.7A CN201210290632A CN103595696B CN 103595696 B CN103595696 B CN 103595696B CN 201210290632 A CN201210290632 A CN 201210290632A CN 103595696 B CN103595696 B CN 103595696B
- Authority
- CN
- China
- Prior art keywords
- client
- cloud storage
- storage service
- file
- service device
- 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
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件所有权证明的方法及装置,该方法包括:云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。根据本发明可以提高文件所有权证明的安全性。
Description
技术领域
本发明涉及一种数据所有权的证明方法,尤其涉及的是一种在云存储服务中,客户端重复数据删除场景下的客户端对原始数据所有权的证明方法及装置。
背景技术
随着云存储服务的广泛应用,越来越多的商业与个人数据被存储在远程的云存储服务器端。数据量的不断增多便需要相关的技术来节省磁盘空间和网络带宽,在此情况下,一个新兴的技术应运而生:“重复数据删除技术”。在该技术中,云存储服务器端仅仅存储一个文件的一份拷贝,无论有多少个客户端想存储该文件或拥有该文件;同时,所有拥有该文件的客户端不存储该数据,而仅仅存储一个链接到云存储服务器端该文件唯一拷贝的链接。而且,如果云存储服务器端已经拥有该文件的拷贝,则声称拥有该文件的客户端不必再次上传该文件到服务器端,从而大量节省客户端的存储空间和网络带宽,该技术被称为“客户端重复数据删除技术”。据报道,商业应用中的数据重复删除比例可以达到1∶10甚至1∶500,从而能节省近乎90%的磁盘空间和网络带宽。
然而,最近发现,该新兴的“客户端重复数据删除技术”面临并遭受了一些新型的安全威胁与攻击。Harniketal等人发现,当云存储服务器端告知一个客户端不必上传某个文件,这意味着其他客户端拥有同样的文件,这可能是个敏感的隐私信息;更严重的是,Halevietal等人最近发现一类新型的、针对客户端重复数据删除技术的攻击。在这些攻击中,攻击者仅仅通过获取一段很小的原始文件的摘要值,便可从云存储服务器端非授权的获得整个原始文件的拥有权,并可以对该文件实施各种操作,包括下载、更改、删除等。而且,这些攻击不仅仅在理论上进行了分析,并在实际中得到了证实。同样在最近,Mulazzanietal等人就对知名的云存储服务商Dropbox的重复数据删除技术成功的实施了类似的攻击,Dropbox在几个月后承认存在漏洞,并给出了暂时的补救措施。虽然他们给出了一些补救措施,但均没有根除该问题的核心原因:客户端重复数据删除技术使用一小片摘要信息来代表整个原始文件,攻击者只需获取该摘要信息,变可获得整个文件所有权。
关于现有的解决方案,主要分为两大类:
一方面,如何保证远程云存储服务器端所存储的数据的完整性问题,得到了广泛的关注,例如远程数据可恢复证明方案(POR)和远程数据拥有证明方案(PDP)。在此类方案中,是云存储服务器端要向客户端证明,它正确并完整的保存着全部的原始文件。而在客户端重复数据删除的场景中,是客户端向服务器端证明它拥有原始文件,即在云存储服务器端与客户端之间,存在一个完全的角色翻转。但该角色翻转的影响却是非常大的,因为在客户端重复数据删除的场景中,验证方(云存储服务器端)不能提前在证明方(客户端)嵌入机密数据以满足证明需要,这将导致POR和PDP方案在新场景下,均不可用。
另外一方面,由于利用摘要值,非授权获得原始文件拥有权的新型攻击刚刚出现不久,所以当前仅有几个初步方案来解决该类攻击,但这些方案是个较初步的临时方案,没有达到可证明的安全级别;有的方案需要在原始数据建立整棵Merkle(哈希树),其效率问题非常突出,而且该方案也未能满足下面的安全需求:每次证明过程中要求抽样的数据内容都是随机选择的,并且要求在任何情况下,所生成的证明数据必须与之前任何一次生成的证明数据均不相同。这将导致攻击者有可能伪造证明数据。
发明内容
本发明要解决的技术问题是提供一种文件所有权证明的方法及装置,以提高文件所有权证明的安全性。
为了解决上述技术问题,本发明提供了一种文件所有权证明的方法,包括:
云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
进一步地,上述方法还具有下面特点:所述云存储服务器向所述客户端发送验证请求之前,还包括:
所述云存储服务器选取第一随机数,利用该第一随机数生成一会话密钥;
所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
进一步地,上述方法还具有下面特点:所述云存储服务器生成会话密钥之后还包括:
所述云存储服务器通过所述会话密钥来验证所述客户端的合法性。
进一步地,上述方法还具有下面特点:所述云存储服务器检测所述验证证据的有效性包括:
所述云存储服务器根据所述会话密钥和第三随机数生成的动态系数;
利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
通过所述验证信息来检测所述验证证据的有效性。
进一步地,上述方法还具有下面特点:所述云存储服务器检测所述验证证据的有效性包括:
所述云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数;
利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
通过所述总验证信息来检测所述验证证据的有效性。
进一步地,上述方法还具有下面特点:所述指定算法包括:
密码学哈希函数算法。
为了解决上述问题,本发明还提供了一种云存储服务器,包括:
第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
进一步地,上述云存储服务器还具有下面特点:
所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
进一步地,上述云存储服务器还具有下面特点:
所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
进一步地,上述云存储服务器还具有下面特点:所述第二模块包括:
第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成的动态系数;
第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
第三单元,用于通过所述验证信息来检测所述验证证据的有效性。
进一步地,上述云存储服务器还具有下面特点:所述第二模块包括:
第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
进一步地,上述云存储服务器还具有下面特点:
所述指定算法包括:密码学哈希函数算法。
为了解决上述问题,本发明还提供了一种文件所有权证明的方法,包括:
客户端设备向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
所述客户端设备根据所述验证请求对所述指定文件进行分块,并根据随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
进一步地,上述方法还具有下面特点:所述客户端设备接收所述验证请求之前,还包括:
所述客户端设备通过所述云存储服务器提供的第一随机数生成一会话密钥,
所述随机指定的文件块数据是通过以下方式获取的:
所述客户端设备根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
进一步地,上述方法还具有下面特点:所述客户端设备生成会话密钥之后,还包括:
所述客户端设备通过所述会话密钥与所述云存储服务器进行合法性验证。
进一步地,上述方法还具有下面特点:所述客户端设备根据随机指定的文件块数据生成验证证据包括:
所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
进一步地,上述方法还具有下面特点:所述客户端设备根据随机指定的文件块数据生成验证证据包括:
所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息;
将所有计算出来的验证信息通过一指定算法生成验证证据。
进一步地,上述方法还具有下面特点:所述指定算法包括:
密码学哈希函数算法。
为了解决上述问题,本发明还提供了一种客户端设备,包括:
第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
进一步地,上述客户端设备还具有下面特点:
所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥;
所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
进一步地,上述客户端设备还具有下面特点:
所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
进一步地,上述客户端设备还具有下面特点:所述第二模块包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
进一步地,上述客户端设备还具有下面特点:所述第二模块包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息
第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
进一步地,上述客户端设备还具有下面特点:所述指定算法包括:
密码学哈希函数算法。
综上,本发明提供一种文件所有权证明的方法及装置,在该方案中,客户端要向云存储服务器端证明它真实拥有整个原始文件而不是其摘要信息。本发明实施例的方案通过抽样检查技术(spotchecking),让客户端仅仅访问一小部分的原始文件,便能生成原始文件拥有权的证明。这样在保证高检测率的同时,保证了方案的高效性;同时,通过利用动态系数和原始数据块随机索引技术,不仅能抵御新型的攻击,满足关键的安全性需求,而且还达到了密码学可证明的安全级别。最后,对新方案进行了全面的安全性分析和性能分析,验证了新方案不仅可证明安全,而且执行效率高的结论。
附图说明
图1为一典型的云存储环境下的网络结构图;
图2为本发明实施例的云存储服务器的示意图;
图3为本发明实施例的客户端设备的示意图;
图4为本发明实施例的文件所有权证明的方法的流程图;
图5为本发明实施例中,挑战文件块数与客户端欺骗行为检测概率的关系图(文件块总数=1000);
图6为本发明实施例中,挑战文件块数与客户端欺骗行为检测概率的关系图(文件块总数=30000);
图7为本发明实施例中,当客户端丢失原始文件5%和15%两种情况下,挑战文件块数和客户文件丢失行为的检测率(文件块总数分别为1000,3000,5000,和30000)。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1显示了一个典型的云存储环境下的网络结构,其中有2个主体设备:
云存储服务器:存储服务器将给用户提供数据存储服务,其计算和存储能力强于普通的单个用户,它将维护用户数据的完整性和云存储服务的可用性。
客户端用户:云存储网络结构中将有很多客户端用户,他们将创建自己的账户和密码;在随后的交互过程中,他们用各自的账户和密码登陆到云存储服务器,上传或下载数据。
在重复数据删除的场景下,云存储服务器对一个原始文件,无论有多少个客户端请求存储该原始文件仅保存一份拷贝。所有拥有该原始文件的客户端用户仅仅通过一个简单的链接来访问存储在服务器端的原始文件拷贝。具体来说,一个客户端用户请求处理文件时首先发送原始文件的哈希值给服务器端,云存储服务器检查是否有同样的哈希值已经存在服务器端数据库;如果服务器端有一个一模一样的哈希值,则云存储服务器将对客户端用户发起挑战,询问客户端关于拥有该原始文件的所有权证据。(如果没有一样的哈希值,则把客户的文件全部上传,也不需要询问原始文件的所有权证据)如果客户通过验证,则不用再上传拥有的原始文件,同时,服务器端也将此用户标记为该原始文件的拥有者,即从此刻起,服务器端将认为该用户与原先上传原始文件的用户同时具有该原始文件的所有权。这样,重复数据删除过程将大大节省计算、存储和带宽资源。
图2为本发明实施例的云存储服务器的示意图,如图2所示,本实施例的云存储服务器包括:
第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
其中,所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的。
其中,所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
其中,在一优选实施例中,所述第二模块可以包括:
第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成的动态系数;
第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
第三单元,用于通过所述验证信息来检测所述验证证据的有效性。
其中,在另一优选实施例中,所述第二模块可以包括:
第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
所述指定算法包括:密码学哈希函数算法。
图3为本发明实施例的客户端设备的示意图,如图3所示,本实施例的客户端设备包括:
第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器。
其中,所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥;
所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据。
在一优选实施例中,所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
其中,在一优选实施例中,所述第二模块可以包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;
第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
其中,在另一优选实施例中,所述第二模块可以包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息
第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
所述指定算法包括:密码学哈希函数算法。
图4为本发明实施例的文件所有权证明的方法的流程图,如图4所示,本实施例的方法包括:
S11、客户端设备向云存储服务器发送针对指定文件的处理请求;
例如,客户端设备向云存储服务器发送验证指定文件所有权的请求或存储指定文件的请求;
S12、云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
S13、所述客户端设备接收所述验证请求后,根据所述验证请求对所述指定文件进行分块,并根据所述随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器;
S14、所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性。
其中,步骤S13中客户端设备根据随机指定的文件块数据生成验证证据可以采用两种方案,如下:
方案一,客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成的动态系数;利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据。
方案二,客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息;将所有计算出来的验证信息通过一指定算法生成验证证据。
其中,步骤S14中云存储服务器检测所述验证证据的有效性对应地也可以有两种方案,如下:
方案一,云存储服务器根据所述会话密钥和第三随机数生成的动态系数;利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;通过所述验证信息来检测所述验证证据的有效性。
方案二,云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数;利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;将所有计算出来的验证信息通过一指定算法计算出一总验证信息;通过所述总验证信息来检测所述验证证据的有效性。
以下以具体实施例对本发明的方法进行详细说明。
本实施例中用到的符号与缩写如下:
F为原始文件;
f为原始文件的分块数目;
(b1,...,bf)原始文件所有文件块的集合;
αkey(*)为伪随机函数(PRF),定义为α:{0,1}*×key→{0,1}μ,其中μ是安全参数;{0,1}*表示由0、1组成的任意长度的串;
βkey(*)为伪随机置换函数(PRP),定义其中l是安全参数;
Hashk(*)为密码学哈希函数,密钥k作为输入的一部分;
c为单次挑战请求的文件块的数目;
sk为客户端和服务器端共享的对称密钥;
Rseed1&Rseed2为单次挑战中生成的随机种子,定义为Rseed1←(random){0,1}k,Rseed2←(random){0,1}k;
Rc为随机数,用于生成每次挑战的会话密钥,定义为Rc←(random){0,1}k;
TimeStamp为当前时间戳。
首先给出可证明文件所有权方案的定义:
Definition1(可证明文件所有权(Provable Ownership of File简称PWoF),一个可证明文件所有权方案(PWoF)是三个多项式算法KeyDeriving(密钥生成算法)、ProofGen(证据生成算法)和ProofCheck(证据验证算法)的集合,具体定义如下:
KeyDeriving(sk,Rc)→{Keysession,Rseed1,Rseed2}:该算法是一个密钥生成算法,在方案的初始化阶段由服务器运行。该算法将客户端和服务器端之间的共享密钥sk和一个随机数Rc作为输入,返回一个新的回话密钥和两个随机数:Keysession,Rseed1,Rseed2;
ProofGen(Ks,F,Chal)→V:该算法由客户端运行,目的是生成原始文件所有权的证据。该算法的输入包括一个秘密的会话密钥Ks,原始文件块的集合和一个挑战集合(Chal),该挑战集合决定了原始文件F中的哪些数据块作为挑战将被询问;算法运行结束后,输出一个原始文件所有权的证据V,该证据对应于这个挑战集合Chal;
ProofCheck(Ks,Chal,F,V)→{′True′,′False′}:该算法由服务器端运行,目的是验证客户端发送过来的原始文件证据。该算法的输入包括一个秘密的会话密钥Ks,一个挑战集合Chal,原始文件块的集合和客户端生成的文件所有权证据V;如果证据V是一个正确的原始文件所有权证据,该算法将返回“真”;如果证据V无效,将返回“假”。
接下来利用从上述可证明文件所有权的算法来构建文件所有权的证明协议,该协议过程包括初始化和挑战应答两个阶段。
实施例1
阶段1:初始化:云存储服务器拥有原始文件F,并将文件分为很多大小相同的块来存储。
步骤101、云存储服务器接收到客户端用户发送的存储指定文件的请求后,如检测到本地已存储有该文件,则选取一个随机数Rc,并运行算法KeyDeriving(sk,Rc)→{Keysession,Rseed1,Rseed2},生成会话密钥(Keysession)和种子随机数(Rseed1和Rseed2);
KeyDeriving(sk,Rc)用于选择两个种子随机数Rseed1←(random){0,1}k和Rseed2←(random){0,1}k,并生成会话密钥Keysession=Hashsk(Rc),其中,sk是云存储服务器端与客户端共享的对称密钥,Rc←(random){0,1}k;输出会话密钥和种子随机数:output(Keysession,Rseed1,Rseed2);
(random){0,1}k表示随机产生k长度的0、1串。
步骤102、云存储服务器将选取的随机数Rc和算法输出的种子随机数Rseed1和Rseed2一并发给客户端;
步骤103、客户端将运行同样的密钥生成算法KeyDeriving(sk,Rc)生成同样的会话密钥Keysession,并忽略生成的种子随机数;
客户端和云存储服务器端将秘密存储会话密钥Keysession和两个种子随机数(Rseed1和Rseed2),为下一步算法做准备,并删除随机数Rc。
阶段2:挑战响应:
步骤104、云存储服务器生成一个挑战集合Chal,将挑战集合Chal发送给客户端;
这个挑战集合指明了云存储服务器想要采样询问的原始文件块,换句话说,该挑战集合包括文件块的索引信息,指明了需要根据哪些文件块来生成文件拥有证据。
步骤105、客户端运行算法ProofGen(Ks,F,Chal)→V生成一个对应于该挑战集合Chal的原始文件所有权的证据V,然后将生成的证据V发送回云存储服务器;
其中,ProofGen(Ks,F,Chal)算法的具体实现如下:
1:使得F=(b1,b2...,bf),Ks=Keysession,并且(c,Rseed1,Rseed2)=Chal,其中1≤c≤f;
该式表示从服务器端收到的挑战集合,里面包括了挑战文件块数目c和两个随机种子。客户端用该集合计算证据。
2:计算临时密钥:
3:For 1≤τ≤c:
计算挑战中将要采样询问的原始数据块的索引值:
计算一次性系数:
4:计算其中||表示连接运算;
5:输出V=(H),
步骤106、云存储服务器运行算法ProofCheck(Ks,Chal,F,V)来检查证据V的有效性,并输出“真”或“假”的结果。
其中,ProofCheck(Ks,Chal,F′,V)算法的具体实现如下:
1:使得F’=(b′1,b′2...,b′f),Ks=Keysession,V=(H),并(c,Rseed1,Rseed2)=Chal,其中1≤c≤f;
2:计算临时密钥:
3:For 1≤τ≤c:
计算挑战中将要被询问的原始数据块索引值:
计算一次性系数:
4:计算其中||表示连接运算;
5:输出H’=V,那么输出‘真’,否则‘假’。
如真,表明客户端拥有正确的证据,则客户端不用上传数据,且可以被服务器标记为原始数据的所有者之一,接下来可以对原始数据进行各种操作;如假,则表面客户没有正确证据,则客户端必须全部上传,否则,就不能对服务器端的原始数据进行任何操作。
上述协议可以在客户端与服务器端之间运行无限多次,以便在不同时期、以不同的检验成功率来检验客户端是否真正拥有原始文件。
每一次挑战,文件拥有权证据V的计算都要结合随机选择的原始文件数据块和一个一次性的、新鲜的、由一个带密钥的伪随机函数生成的系数δτ。这样的技术完全可以保证生成的证据V是基于原始文件的原始数据形式的,而不是基于摘要性质的原始文件消息认证码,或者任何提前计算、存储的证明数据;同时也可以保证所生成的证据V与任何在过去或将来挑战中生成的证据不同。所以,这样的方法能保证客户端确实拥有每一块随机挑战的数据块,并以较高的概率保证拥有整个文件的所有权,而且还保证了客户端与服务器端之间通信的高效性。
实施例2
阶段1:
云存储服务器将文件F分为f块b1,......bf,并可能将该f块文件分布存储于f个逻辑上独立的存储位置。
步骤201:拥有原始文件F的云存储服务器接收到客户端请求存储文件时,如检测本地已存储有该文件,则确定与相应客户端共享的对称密钥sk,生成一个随机数Rc←(random){0,1}k,接下来运行算法KeyDeriving(sk,Rc)来生成本次挑战应答需要的新的会话密钥Keysession和两个种子随机数Rseed1和Rseed2;
步骤202、云存储服务器随后将随机数Rc发送给客户端,客户端将运行同样的算法KeyDeriving(sk,Rc)来得到同样的会话密钥Keysession,并通过新的会话密钥和当前的时间戳(Timestamp)共同计算一个哈希值这样做的目的是:与云存储服务器端确认新的会话密钥Keysession,保证了该会话密钥的一致性、完整性和新鲜性;
步骤203、云存储服务器端和客户端将本次挑战应答的会话密钥Keysession秘密保存,并删除随机数Rc。
阶段2:
步骤204:客户端声称对服务器端存储的某个文件拥有所有权,并请求云存储服务器开始一个挑战应答过程来证明客户端对该文件的拥有权;
步骤205:云存储服务器随机选定c个不同的原始文件块,其中,1≤c≤f;
步骤206:云存储服务器形成挑战集合(c,Rseed1,Rseed2)=Chal,将挑战集合Chal发送给客户端;
数据块c的目的是指示客户端要针对哪些原始文件的随机块进行拥有权证据的生成,而种子随机数(Rseed1,Rseed2)的目的是用来生成一次性的系数δτ并保证其新鲜性。
步骤207:客户端运行算法ProofGen(Ks=Keysession,F′=(b′1,b′2...,b′f),Chal(c,Rseed1,Rseed2))→V,根据挑战集合指定的数据块生成原始文件所有权证据V,然后将该证据发回给云存储服务器,等待验证;
步骤208:云存储服务器也设置同样的挑战集合(c,Rseed1,Rseed2)=Chal,并运行算法ProofCheck(Keysession,Chal,F,V)并输出“真”或“假”的结果。
本发明实施例的证明方案目标是防止客户端仅仅简单的访问一个原始文件的摘要信息就能生成一个文件所有权的证据。如果欺骗性的客户端在没拥有原始文件的情况下企图说服远端服务器它拥有原始文件所有权的证明,本发明实施例提供的方案使得这种欺骗行为不可行。
首先,当云存储服务器端向客户端请求原始文件所有权的证据时,服务器端应该产生一些随机的原始文件块索引用于挑战内容,这样客户端就不能预测被询问的数据块,也不能提前伪造对应文件块所有权的证据。
其次,在每一轮挑战应答的过程中,当客户端生成原始文件所有权证据的时候,对应的原始文件数据块必须参与所有权证据生成的运算。这样,客户端就不可能在不访问原始数据的情况下,仅仅提供一些原始文件的摘要信息来欺骗服务器端,以此企图通过服务器端发起的所有权证据验证过程。
最后,当服务器端和客户端执行可证明文件所有权协议的时候,每一轮挑战应答过程中所生成的文件所有权证据应该与以前或将来的任何一轮挑战应答所产生的证据均不相同。换句话说,在每一轮挑战应答中,应该产生一个唯一的、新鲜的文件所有权证据,并以此证据的检测结果来判断是否通过该轮挑战和应答。所以本实施例的方案可以被用于保护证明方案不受重复攻击的威胁。
接下来,将分析本发明提出的证明方案所能达到的检测成功率。
假设,客户端声称它拥有原始文件F的全部f块文件,其中有x块丢失或者根本没拥有该x块数据;服务器端在一次挑战应答的过程中,向客户端询问随机c块文件的所有权证据,以概率的角度检测客户端是否拥有全部原始文件。设X是个离散变量,用于表示有多少丢失的数据块被随机抽中,或者说,被检测到;设Px是至少一个丢失的数据块被检测的概率,简称为检测成功率(1-Px)是没有任何丢失的数据块被检测到。所以,可以得出下面公式:
得到:
由于c-1<<f,上述公式的左边与右边的数值差别很小,因此可以得出下面公式:
这样,便能得到用于一次挑战的文件块数量c的近似公式:
首先,固定文件的总块数f,分别设定丢失的数据块x为原始数据块的1%、5%、10%、15%,然后在下图中表示,至少一个丢失的数据块被检测的概率Px作为被检测文件块数c的函数的图像。
由上述公式可知,为了达到高的成功检测率,例如Px=99%,假设丢失的数据块x分别为原始数据块的1%、5%、10%、15%,原始文件块总块数f=1000,则服务器端必须在一次挑战中分别对应的请求315块、83块、42块和28块才能达到99%的成功检测率。考虑f=30000的情况(一个典型的DVD文件大约包含30GByte的数据,如果1MByte为一块,则可分成30000块),为了达到同样的99%的成功检测率,服务器端必须在一次挑战中分别对应的请求452块、90块、44块和29块。
如果固定成功检测率Px,从图5和图6可以看出,增大丢失数据块x将会大大减少在一次挑战中服务器端必须请求的数据块数目c。同时还可以看出,当丢失的数据块x相对较少时,例如x≤1%,如果增加原始文件的总块数f,也将对单次挑战中服务器端需要请求的数据块数目c产生一些的影响;但当丢失的数据块x相对较多时,例如x≥15%,如果增加原始文件的总块数f,将对请求数据块c产生较大的影响。
接下来,固定丢失的数据块x为原始数据块的5%,设定原始数据块f分别为f=1000、3000、5000、30000,然后在下图中表示,成功检测率PX作为请求数据块c的函数的图像。然后,改变丢失的数据块x为原始数据块的15%,再重新描述Px作为c的函数的图像。
从图7可以看出,固定丢失的数据块x以后,原始文件块总数f的增加对成功检测率Px与单次挑战需要请求的文件块c两者间的函数关系仅有非常小的影响。但是,如果固定原始文件块总数f,则丢失数据块x的增大将很快的减少单次挑战需要的请求文件块c,这个结论与图5和图6得出的结论相一致。
下面从初始化和挑战应答两个阶段,对所提出的可证明文件所有权方案(PWoF)进行性能分析与比较。
在本实施例的PWoF证明方案中,为了从共享密钥来推导一个新的会话密钥用于接下来的挑战应答过程,客户端与服务器端两方都将要完成相应的计算过程。在这个初始化阶段,服务器端将要执行密钥的生成算法和密码学哈希函数各一次。客户端也将执行同样的计算。密钥生成算法与一次哈希函数具有同样的计算复杂度。如果哈希函数是下面的映射关系{0,1}log(r)→{0,1}log(u),则单次哈希函数的计算复杂度为O(r*u)=O(log(r)*log(u))。所以,在初始化阶段,客户端和服务器端的计算复杂度均2*O(log(r)*log(u))。
在PoW证明方案中,服务器端首先执行一个缩减过程,在该过程中,每块都要进行XOR运算,将总共f块的原始文件缩减为固定大小的l块,同时针对每块进行哈希函数运算,得到不同的初始向量。假设XOR在两个ω-bit长的数据间运算,则计算复杂度为O(ω)。所以,该缩减过程的计算复杂度为f*[O(ω)+O(log(r)*log(u))]。接下来,服务器端将要在缩减后的l块数据上,执行混合过程,其计算复杂度为5*l*O(ω)。最后,服务器端还要在缩减后的l块数据上建立Merkle树,其要计算次哈希函数来生成整棵树的所有节点;同时,客户端也需要执行同样的过程除了建立Merkle树。所以在初始化阶段,服务器端的计算复杂度为:
客户端的计算复杂度为f*[O(ω)+O(log(r)*log(u))]+5*l*O(ω)。
在PDP证明方案中,在初始化阶段,服务器不进行任何计算,而客户端将要对整个原始文件进行Reed-Solomon编码,如果R-S编码的参数为(f,f-t,t),则整个编码的计算复杂度为f*2t。而且,客户端还需要为每一编码后的数据块计算认证标记(TagBlock),该认证标记的计算涉及一次模指运算和一次哈希函数运算。如果两个d-bit的数据与一个k-bit的指数进行模指运算,则计算复杂度为O(2k*d2)。所以,在本阶段,客户端的计算复杂度为:f*2t+f*[O(2k*d2)+O(log(r)*log(u))]。
阶段2:挑战应答:在PWoF证明方案中,服务器端需要计算两个随机密钥并检验客户端发送过来的文件所有权证据,这将总共包括2+(c+1)次哈希函数,即,服务器端在此阶段的计算复杂度为:(c+3)*O(log(r)*log(u))。同时,客户端将要计算文件所有权的证据,其计算复杂度同样为(c+3)*O(log(r)*log(u))。
在PoW[1]证明方案中,服务器端须选择c个Merkle树的叶子节点作为请求内容来挑战客户端,并检验客户端返回的相应证据的正确性,但此验证过程的计算复杂度非常低,可以忽略不计;另外一方面,为了相应服务器端的挑战,客户端必须在缩减后的l数据块上建立Merkle树,其计算复杂度为:
在PDP证明方案中,服务器端为了生成一个有效的文件完整性证据,必须计算c+1次哈希函数、c+1次指数运算和2次模指运算。假设每一块文件块的大小为n,则服务器端在本阶段的计算复杂度为:(c+1)*O(log(r)*log(u))+(c+1)2O(n)+2*O(2k*d2)。另一方面,客户端的计算包括c+1次哈希函数,c次指数运算和1次模指运算,所以,客户端在本阶段的计算复杂度为:(c+1)*O(log(r)*log(u))+c*2O(n)+O(2k*d2).
在本发明所提出的证明方案PWoF中,是客户端要向服务器端证明,它确实拥有原始的文件。而通常来说,客户端具有较少的计算能力和存储能力,所以我们主要关注客户端在方案中的计算复杂度。从表2的结果可以看出,在初始化阶段,只有我们证明方案中的客户端计算复杂度与原始文件块的数目没有任何关系,仅仅包括2次哈希函数的运算,这是较另外两种典型方案的一大优势。在挑战与应答阶段,我们证明方案的客户端计算c+1次哈希函数,但PoW方案的客户端要进行次哈希函数运算,尽管该复杂度均低于PDP方案中的客户端复杂度。所以,从整体上来说,本发明所提出的可证明文件所有权方案(PWoF)在性能上大大优于当前典型的证明方案PoW[1]和PDP[2,3]。
表2典型证明方案的性能分析与比较
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1.一种文件所有权证明的方法,包括:
云存储服务器接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
所述云存储服务器接收到所述客户端返回的验证证据后,检测所述验证证据的有效性;
其中,所述云存储服务器向所述客户端发送验证请求之前,还包括:
所述云存储服务器选取第一随机数,利用该第一随机数生成一会话密钥;
所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的;
其中,所述云存储服务器检测所述验证证据的有效性包括:
所述云存储服务器根据所述会话密钥和第三随机数生成动态系数;
利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
通过所述验证信息来检测所述验证证据的有效性;
或者,
所述云存储服务器根据所述会话密钥和第三随机数分别生成与各个随机指定的文件块对应的动态系数;
利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
通过所述总验证信息来检测所述验证证据的有效性。
2.如权利要求1所述的方法,其特征在于:所述云存储服务器生成会话密钥之后还包括:
所述云存储服务器通过所述会话密钥来验证所述客户端的合法性。
3.如权利要求1所述的方法,其特征在于:所述指定算法包括:
密码学哈希函数算法。
4.一种云存储服务器,包括:
第一模块,用于接收到客户端针对指定文件的处理请求后,若检测到本地已存储有所述指定文件,则向所述客户端发送验证请求,所述验证请求指示所述客户端对所述指定文件进行分块,并以随机指定的一个或多个文件块数据进行文件所有权验证;
第二模块,用于接收到所述客户端返回的验证证据后,检测所述验证证据的有效性;
其中,所述第一模块,在向所述客户端发送验证请求之前还用于,选取第一随机数,利用该第一随机数生成一会话密钥,所述随机指定的文件块是通过所述会话密钥和第二随机数来指示的;
其中,所述第二模块包括:
第一单元,用于接收到所述客户端返回的验证证据后,根据所述会话密钥和第三随机数生成动态系数;
第二单元,用于利用所述动态系数与所述随机指定的文件块数据,通过一指定算法计算验证信息;
第三单元,用于通过所述验证信息来检测所述验证证据的有效性;
或者,
第一单元,用于根据所述会话密钥和第三随机数生成分别与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数与对应随机指定的文件块数据分别计算验证信息;
第三单元,用于将所有计算出来的验证信息通过一指定算法计算出一总验证信息;
第四单元,用于通过所述总验证信息来检测所述验证证据的有效性。
5.如权利要求4所述的云存储服务器,其特征在于:
所述第一模块,生成会话密钥之后还用于,通过所述会话密钥来验证所述客户端的合法性。
6.如权利要求4所述的云存储服务器,其特征在于:
所述指定算法包括:密码学哈希函数算法。
7.一种文件所有权证明的方法,包括:
客户端设备向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
所述客户端设备根据所述验证请求对所述指定文件进行分块,并根据随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器;
其中,所述客户端设备接收所述验证请求之前,还包括:
所述客户端设备通过所述云存储服务器提供的第一随机数生成一会话密钥;
所述随机指定的文件块数据是通过以下方式获取的:
所述客户端设备根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据;
其中,所述客户端设备根据随机指定的文件块数据生成验证证据包括:
所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数生成动态系数;
利用所述动态系数和所述随机指定的文件块数据通过一指定算法生成验证证据;
或者,
所述客户端设备根据随机指定的文件块数据生成验证证据包括:
所述客户端设备通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息;
将所有计算出来的验证信息通过一指定算法生成验证证据。
8.如权利要求7所述的方法,其特征在于:所述客户端设备生成会话密钥之后,还包括:
所述客户端设备通过所述会话密钥与所述云存储服务器进行合法性验证。
9.如权利要求7所述的方法,其特征在于:所述指定算法包括:
密码学哈希函数算法。
10.一种客户端设备,包括:
第一模块,用于向云存储服务器发送针对指定文件的处理请求后,接收所述云存储服务器发送的验证请求;
第二模块,用于根据所述验证请求对所述指定文件进行分块,并根据随机指定的文件块数据生成验证证据,将所述验证证据发送给所述云存储服务器;
其中,所述第一模块,接收所述验证请求之前还用于,通过所述云存储服务器提供的第一随机数生成一会话密钥;
所述第二模块,是根据以下方式来获取所述随机指定的文件块数据的:根据所述会话密钥与所述云存储服务器提供的第二随机数计算随机指定的文件块索引,通过所述文件块索引来获取所述随机指定的文件块数据;
其中,所述第二模块包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数生成动态系数;
第二单元,用于利用所述动态系数和所述随机指定的文件块数据通过一 指定算法生成验证证据;
或者,
所述第二模块包括:
第一单元,用于通过所述会话密钥和所述云存储服务器提供的第三随机数分别生成与各个随机指定的文件块对应的动态系数;
第二单元,用于利用所述动态系数和对应的随机指定的文件块数据分别生成验证信息
第三单元,用于将所有计算出来的验证信息通过一指定算法生成验证证据。
11.如权利要求10所述的客户端设备,其特征在于:
所述第一模块,生成会话密钥之后还用于,通过所述会话密钥与所述云存储服务器进行合法性验证。
12.如权利要求10所述的客户端设备,其特征在于:所述指定算法包括:
密码学哈希函数算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290632.7A CN103595696B (zh) | 2012-08-15 | 2012-08-15 | 一种文件所有权证明的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290632.7A CN103595696B (zh) | 2012-08-15 | 2012-08-15 | 一种文件所有权证明的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103595696A CN103595696A (zh) | 2014-02-19 |
CN103595696B true CN103595696B (zh) | 2018-05-01 |
Family
ID=50085679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210290632.7A Active CN103595696B (zh) | 2012-08-15 | 2012-08-15 | 一种文件所有权证明的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595696B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052819B (zh) * | 2014-06-27 | 2017-06-13 | 西安电子科技大学 | 多地理位置存储的云端数据完整性验证方法 |
CN105141602A (zh) * | 2015-08-18 | 2015-12-09 | 西安电子科技大学 | 基于收敛加密的文件所有权证明方法 |
CN106412087B (zh) * | 2016-10-25 | 2019-02-19 | 福建师范大学 | 一种共享所有权证明的方法及系统 |
CN107295002B (zh) * | 2017-07-12 | 2020-06-19 | 联动优势科技有限公司 | 一种云端存储数据的方法及服务器 |
CN110392083B (zh) * | 2018-04-20 | 2022-06-24 | 华为技术有限公司 | 文件秒传的控制方法、装置及终端设备 |
US11880383B2 (en) | 2019-07-15 | 2024-01-23 | Sap Se | Federated data management between partner systems |
US11201747B2 (en) * | 2019-07-15 | 2021-12-14 | Sap Se | Federated data management between partner systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014133A (zh) * | 2010-11-26 | 2011-04-13 | 清华大学 | 在云存储环境下一种安全存储系统的实现方法 |
CN102045356A (zh) * | 2010-12-14 | 2011-05-04 | 中国科学院软件研究所 | 一种面向云存储的可信存储验证方法和系统 |
CN102075542A (zh) * | 2011-01-26 | 2011-05-25 | 中国科学院软件研究所 | 一种云计算数据安全支撑平台 |
-
2012
- 2012-08-15 CN CN201210290632.7A patent/CN103595696B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014133A (zh) * | 2010-11-26 | 2011-04-13 | 清华大学 | 在云存储环境下一种安全存储系统的实现方法 |
CN102045356A (zh) * | 2010-12-14 | 2011-05-04 | 中国科学院软件研究所 | 一种面向云存储的可信存储验证方法和系统 |
CN102075542A (zh) * | 2011-01-26 | 2011-05-25 | 中国科学院软件研究所 | 一种云计算数据安全支撑平台 |
Non-Patent Citations (1)
Title |
---|
Boosting Efficiency and Security in Proof of Ownership for Deduplication;Roberto Di Pietro et. al.;《In ASIACCS"12:ACM Symposium on Information,Computer and Communications Security》;20120504;摘要、正文第4部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN103595696A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103595696B (zh) | 一种文件所有权证明的方法及装置 | |
CN109417478B (zh) | 多链路密码逻辑区块链 | |
CN105681273B (zh) | 客户端重复数据删除方法 | |
CN109194466A (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
Dennis et al. | Rep on the roll: a peer to peer reputation system based on a rolling blockchain | |
CN105306473B (zh) | 一种防止注入攻击的方法、客户端、服务器和系统 | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
CN110096903B (zh) | 基于区块链的资产验证方法及区块链网络系统 | |
CN106612320A (zh) | 云存储中一种加密数据的去重方法 | |
Xie et al. | Blockchain‐Based Cloud Data Integrity Verification Scheme with High Efficiency | |
CN104281794A (zh) | 一种密码存储及验证的方法和装置 | |
CN101345753B (zh) | 一种p2p网络中面向资源的信任评价方法 | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN108737110A (zh) | 一种用于防重放攻击的数据加密传输方法及装置 | |
Hussein et al. | A survey of cryptography cloud storage techniques | |
Tu et al. | Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud | |
CN115001775A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
Vargas et al. | Mitigating risk while complying with data retention laws | |
Zhou et al. | A Scalable Blockchain‐Based Integrity Verification Scheme | |
Sevis et al. | Survey on data integrity in cloud | |
WO2024002758A1 (en) | Proof of ownership | |
Liu et al. | Insecurity of an efficient privacy-preserving public auditing scheme for cloud data storage | |
Wang et al. | A universal method for realizing non‐repudiable provable data possession in cloud storage | |
CN109462581A (zh) | 能够抵御暴力字典敌手持续攻击的密文去重方法 | |
CN104038344A (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 |