一种用于公开数据完整性校验的索引转换方法

文档序号:7868868阅读:474来源:国知局
专利名称:一种用于公开数据完整性校验的索引转换方法
技术领域
本发明属于云环境技术领域,更具体地,涉及一种用于公开数据完整性校验的索引转换方法。
背景技术
数据完整性校验就是及时检测出数据毁坏和丢失,防止服务方故意隐瞒数据丢失事件。云数据完整性校验是指云环境下的数据完整性校验。数据完整性校验大致可分为两种类型私有数据完整性校验和公开数据完整性检验。私有数据完整性检验发生在原始数据的拥有者用户和服务商之间,用户为有效地进行数据完整性检验,平时还需维护一定量的秘密信息,如数据的加密密钥和散列值等。因此,为了保证数据的机密性和隐私性,私有数据完整性检验一般不能委托第三方进行。公开数据完整性检验中由于审计方平时无需维护审计相关的秘密信息,故可以委托任何人进行(包括用户本身)。一个完整的数据完整性检验方案可简单分成对数据的预处理和审计过程两大步骤。预处理主要是生成必要的公私钥,以及针对原始数据块构造其相应的数据标签;审计过程是指审计方和服务方的协议交互过程,包括审计方发起审计请求,提供必要的随机数和待审计块信息,服务方根据审计请求生成完整性证据再发送给审计方,然后审计方验证服务方证据的有效性。云环境下远程数据审计机制,主要包括安全性、审计效率和开销、审计功能三个层面。C. Wang等人提出的支持隐私保护的公开审计方法(Privacy-Preserving PublicAuditing,简称PPPA)为公开审计,其预处理的计算开销为0(n),而协议交互时的带宽开销、审计方和服务方的存储开销、审计方和服务方的计算开销都为0(1),但不支持数据动态更新。详见 C. Wang, Q. Wang, K. Ren, and ff. Lou, “Privacy-preserving public auditingfor data storage security in cloud comput ing, ” in Proc. of INF0C0MJ 10, SanDiego, CA, USA, 2010,pp. 525-533.Q. Wang等人 提出的Merkle哈希树(Merkle Hash Tree,简称MHT)方案也为公开审计,支持数据动态更新,预处理的计算开销为0(n),然而其协议交互时的带宽开销、审计方和服务方的存储开销、审计方和服务方的计算开销都为0(log η)。详见Q.Wang,C.Wang, J. Li, K. Ren, and ff. Lou, “Enabling public verifiability and data dynamicsfor st orage security in cloud computing,,,in Proc. of ES0RICS’ 09,SaintMalo, France, 2009, pp. 355-370.然而,现有的远程数据审计方法存在以下问题(1)审计效率和开销不高,即协议交互时的带宽开销、审计方和服务方的存储开销、审计方和服务方的计算开销和预处理的计算开销都要尽可能低;(2)审计功能,即审计方案除了能正常完成审计目标之外,还应支持公开验证性、数据隐私保护、数据动态更新。

发明内容
针对现有技术的缺陷,本发明的目的在于提供一种用于公开数据完整性校验的索引转换方法,其基于现有PPPA方案的改进,旨在解决现有方案不支持数据动态更新的问题。
为实现上述目的,本发明提供了一种用于公开数据完整性校验的索引转换方法, 包括以下步骤
(I)用户端登录到云服务器和审计服务器;
(2)用户端同步用户的公钥到云服务器和审计服务器;
(3)用户端接收用户请求,并且根据用户请求判断是执行上传文件操作、删除文件操作、审计文件操作、还是修改文件操作,如果是执行上传文件操作,则进入步骤(4),如果是执行删除文件操作,则进入步骤(5),如果是执行审计文件操作,则进入步骤(6),如果是执行修改文件操作,则进入步骤(7),否则过程结束;
(4)用户端从用户接收需要上传的文件F,根据用户的公钥和私钥将上传的文件F 进行分块,并计算每个分块的标签,将需要上传的文件F及其每个分块的标签上传到云服务器,并返回步骤(3);
(5)用户端从用户接收需要删除的文件,并在云服务器和审计服务器中删除与需要删除的文件对应的文件、文件标签以及文件相关信息,并返回步骤(3);
(6)用户端从用户接收需要审计的文件,根据该审计文件向审计服务器发送审计文件请求,获取审计结果,并返回步骤(3);
(7)用户端从用户接收需要修改的文件,根据该修改文件向云服务器提交修改文件请求,修改完成后保存文件,并返回步骤(3)。
步骤(2)包括以下子步骤
(2-1)用户端根据用户密码生成私钥Sk(X);具体而言,私钥仅包含一个元素X,表示为sk(x);
(2-2)用户端判断本地是否存在公钥pk(u,w, g, v),若存在,则转入步骤(2-3), 若不存在,则转入步骤(2-4);具体而言,公钥包含4个元素,分别为u,w, g, V,表示为 pk(u, w, g, V),其中g为常量;
(2-3)用私钥sk(x)检验公钥pk(u, W,g, V)的正确性,即判断w = Ux且v = gx是否成立,若成立,则转入步骤(2-5),否则转入步骤 (2-4);
(2-4)从PBC库的Gl群中随机取出一个元素,并将其赋值给U,并计算w = Ux以及V = gx,则新的公钥为pk(u, W,g, V);
(2-5)用户端将用户的公钥pk (u,w,g, v)同步到云服务器和审计服务器;
(2-6)将公钥pk(u, W,g, V)保存到本地,过程结束。
步骤(4)包括以下子步骤
(4-1)用户端判断需要上传的文件F是否已经存在于云服务器中,若存在,则返回步骤(3),若不存在,则进入步骤(4-2);
(4-2)用户端将需要上传的文件F分为η块,将每个分块的内容分别映射到 PBC库中的对应元素,所有元素构成集合F= Im1, nv··.,mn},对每一个分块元素Hii (其中I ( i彡n),用分块、索引号、私钥Sk(X)和公钥pk(U,W,g,v)计算其相应的标签 (Ti = (H(Q ■其中Η( ·)是一个hash函数,H(i)表示对索引号i进行hash运算;
(4-3)用户端将需要上传的文件F的文件信息发送到审计服务器;具体而言,该文件信息包括文件名、文件大小、文件块数η以及索引转换表,其中索引转换表是一个数组,数组中第j个元素表示第j个分块元素mj的索引号,对于新上传的文件,第k个分块元素mk的索引号即为k ;(4-4)用户端将所有分块Hi1, m2···.,mn及其标签上传到云服务器,将文件信息上传到审计服务器,并返回步骤(3)。步骤(5)包括以下子步骤(5-1)用户端查询审计服务器中是否存在需要删除的文件的文件信息,若存在,则转入步骤(5-2),否则转入步骤(5-3);(5-2)审计服务器删除该文件的文件信息;(5-3)查询云服务器中是否存在该文件,若存在,则转入步骤(5-4),否则返回步骤(3);(5-4)云服务器删除该文件的所有分块及其标签,并返回步骤(3)。步骤(6)包括以下子步骤(6-1)用户端发送审计请求以及需要审计的文件名到审计服务器;(6-2)审计服务器根据审计请求和文件名查询需要审计的文件是否存在,若存在,则转入步骤(6-3),若不存在,则表示审计失败,转入步骤(6-9);(6-3)审计服务器根据需要审计的文件的文件信息,随机抽取460个分块,构成分块集合P= Is1, Sf .,S46J,对抽取的第P个分块,随机生成相应的随机数Vp,组成460个配对集合chal = {(p, vp)}pe p,审计服务器向云服务器发送审计请求,并将用户名、文件名、配对集合chal发送到云服务器;(6-4)云服务器根据审计请求、用户名、文件名及配对集合chal,查询该用户名下相应文件是否存在,若存在,则转入步骤(6-5),若不存在,则表示审计失败,转入步骤(6-9);(6-5)云服务器根据配对集合chal生成证据proof (μ , σ,R),其中R = w1,r为随机数,
权利要求
1.一种用于公开数据完整性校验的索引转换方法,其特征在于,包括以下步骤(1)用户端登录到云服务器和审计服务器;(2)用户端同步用户的公钥到云服务器和审计服务器;(3)用户端接收用户请求,并且根据用户请求判断是执行上传文件操作、删除文件操作、审计文件操作、还是修改文件操作,如果是执行上传文件操作,则进入步骤(4),如果是执行删除文件操作,则进入步骤(5),如果是执行审计文件操作,则进入步骤(6),如果是执行修改文件操作,则进入步骤(7),否则过程结束;(4)用户端从用户接收需要上传的文件F,根据用户的公钥和私钥将上传的文件F进行分块,并计算每个分块的标签,将需要上传的文件F及其每个分块的标签上传到云服务器, 并返回步骤(3);(5)用户端从用户接收需要删除的文件,并在云服务器和审计服务器中删除与需要删除的文件对应的文件、文件标签以及文件相关信息,并返回步骤(3);(6)用户端从用户接收需要审计的文件,根据该审计文件向审计服务器发送审计文件请求,获取审计结果,并返回步骤(3);(7)用户端从用户接收需要修改的文件,根据该修改文件向云服务器提交修改文件请求,修改完成后保存文件,并返回步骤(3)。
2.根据权利要求1所述的索引转换方法,其特征在于,步骤(2)包括以下子步骤 (2-1)用户端根据用户密码生成私钥Sk(X);具体而言,私钥仅包含一个元素X,表示为sk(x);(2-2)用户端判断本地是否存在公钥pk (u,w, g, V),若存在,则转入步骤(2-3),若不存在,则转入步骤(2-4);具体而言,公钥包含4个元素,分别为U,W,g, V,表示为pk(u, w, g, v),其中g为常量;(2-3)用私钥sk(x)检验公钥pk(u, W,g, V)的正确性,即判断w = Ux且v = gx是否成立,若成立,则转入步骤(2-5),否则转入步骤(2-4);(2-4)从PBC库的Gl群中随机取出一个元素,并将其赋值给U,并计算w = Ux以及V = gx,则新的公钥为pk(u, W,g, V);(2-5)用户端将用户的公钥pk(u,W,g,v)同步到云服务器和审计服务器;(2-6)将公钥pk(u, W,g, V)保存到本地,过程结束。
3.根据权利要求1所述的索引转换方法,其特征在于,步骤(4)包括以下子步骤 (4-1)用户端判断需要上传的文件F是否已经存在于云服务器中,若存在,则返回步骤(3),若不存在,则进入步骤(4-2);(4-2)用户端将需要上传的文件F分为η块,将每个分块的内容分别映射到PBC库中的对应元素,所有元素构成集合F= Im1, nv··.,mn},对每一个分块元素其中i为索引号, n,n为正整数,用分块、索引号、私钥Sk(X)和公钥pk(u,w, g, v)计算其相应的标签
4.根据权利要求1所述的索引转换方法,其特征在于,步骤(5)包括以下子步骤 (5-1)用户端查询审计服务器中是否存在需要删除的文件的文件信息,若存在,则转入步骤(5-2),否则转入步骤(5-3); (5-2)审计服务器删除该文件的文件信息; (5-3)查询云服务器中是否存在该文件,若存在,则转入步骤(5-4),否则返回步骤(3); (5-4)云服务器删除该文件的所有分块及其标签,并返回步骤(3)。
5.根据权利要求1所述的索引转换方法,其特征在于,步骤(6)包括以下子步骤 (6-1)用户端发送审计请求以及需要审计的文件名到审计服务器; (6-2)审计服务器根据审计请求和文件名查询需要审计的文件是否存在,若存在,则转入步骤(6-3),若不存在,则表示审计失败,转入步骤(6-9);(6-3)审计服务器根据需要审计的文件的文件信息,随机抽取C次分块,构成分块集合P = {Sl,s2···.,sj,其中C的取值范围为100-1000,S表示抽取的分块的索引号,对第P次抽取的分块,随机生成相应的随机数vp,组成C个配对集合chal = {(p,vp)}pep,其中C,审计服务器向云服务器发送审计请求,并将用户名、文件名、配对集合chal发送到云服务器; (6-4)云服务器根据审计请求、用户名、文件名及配对集合chal,查询该用户名下相应文件是否存在,若存在,则转入步骤(6-5),若不存在,则表示审计失败,转入步骤(6-9);(6-5)云服务器根据配对集合chal生成证据proof (μ,σ,R),其中R =妒,r为随机数,
6.根据权利要求1所述的索引转换方法,其特征在于,步骤(7)包括以下子步骤 (7-1)用户端连接云服务器,修改需要修改的文件并保存; (7-2)云服务器对修改后文件进行分块; (7-3)云服务器将修改后文件的分块与修改前文件的分块进行对比,以找出所有插入、替换、删除的分块; (7-4)云服务器对插入的分块,执行步骤(7-5),对于替换的分块,执行步骤(7-6),对于删除的分块,执行步骤(7-7); (7-5)对于插入的分块,执行插入分块操作,并返回步骤(3); (7-6 )对于替换的分块,执行替换分块操作,并返回步骤(3 ); (7-7)对于删除的分块,执行删除分块操作,并返回步骤(3)。
7.根据权利要求6所述的索引转换方法,其特征在于,子步骤(7-5)包括以下子步骤: (7-5-1)云服务器将插入的分块以及插入分块的位置发送到用户端;(7-5-2)用户端将插入分块的位置告知审计服务器;(7-5-3)审计服务器生成插入分块的索引号,并更新索引转换表;(7-5-4)审计服务器将插入分块的索引号发送给用户端;(7-5-5)用户端根据插入分块的索引号和插入分块生成插入分块的标签;(7-5-6)用户端将插入分块的标签及其索引号发送到云服务器;(7-5-7)云服务器保存插入分块、分块标签、分块索引,并返回步骤(7-5 )。
8.根据权利要求6所述的索引转换方法,其特征在于,子步骤(7-6)包括以下子步骤: (7-6-1)云服务器将替换的分块及其索引号发送到用户端;(7-6-2)用户端根据替换的分块、索引号、用户的私钥Sk(X)、用户的公钥pk(u,w, g, v) 计算标签;(7-6-3)用户端将标签发送到云服务器;(7-6-4)云服务器保存替换的分块、块标签及其索引号;并返回步骤(7-6)。
9.根据权利要求6所述的索引转换方法,其特征在于,子步骤(7-7)包括以下子步骤: (7-7-1)云服务器将要删除的分块的索引号发送到用户端;(7-7-2)用户端将要删除的分块的索引号发送到审计服务器;(7-7-3)审计服务器根据要删除的分块的索引号更新索引转换表,即删除相应索引号;(7-7-4)审计服务器告知用户端更新完成;(7-7-5)用户端告知云服务器更新完成;(7-7-6)云服务器删除要删除的分块、块标签及其索引号;并返回步骤(7-7)。
全文摘要
本发明公开了一种用于公开数据完整性校验的索引转换方法,包括用户端登录到云服务器和审计服务器,用户端同步用户的公钥到云服务器和审计服务器,用户端接收用户请求,并且根据用户请求判断是执行上传文件操作、删除文件操作,如果是执行上传文件操作,则用户端从用户接收需要上传的文件,根据用户的公钥和私钥将上传的文件进行分块,并计算每个分块的标签,将需要上传的文件及其每个分块的标签上传到云服务器,如果是执行删除文件操作,则用户端从用户接收需要删除的文件,并在云服务器和审计服务器中删除与需要删除的文件对应的文件、文件标签以及文件相关信息。本发明是基于现有PPPA方案的改进,并能解决现有方案不支持数据动态更新的问题。
文档编号H04L29/06GK103067363SQ20121055735
公开日2013年4月24日 申请日期2012年12月20日 优先权日2012年12月20日
发明者周可, 李春花, 蔡启泉, 金豪, 张彦哲 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1