一种基于用户感知的高效安全数据去重方法及系统的制作方法_3

文档序号:9202520阅读:来源:国知局
储模块存储 数据块密文。
[0050] 分布式密钥服务器包括密钥服务器协助文件级密钥模块和分片级密钥存储模块, 其中,密钥服务器协助文件级密钥模块接收客户端传输的信息,对该信息模指数运算并返 回客户端,生成文件级密钥;分片级密钥存储模块接收客户端发送的分片级密钥,存储并管 理分片级密钥。
[0化1] 本发明提供了一种基于用户感知的高效安全数据去重方法,包括:
[0化2] (1)准备阶段,其包括W下步骤:
[0化3] 系统初始化参数,包括初始化公共安全参数P、化amir秘密共享的参数(W,t),生 成密钥服务器的RSA公钥(N,e)、私钥(N,d),初始化哈希函数化sh,带密钥的哈希函数HMAC和加密函数化cry,并且每个用户产生自己的安全秘密salt,密钥服务器获得RSA私钥 饥d),将公钥饥e)分发给所有用户;
[0054] 化sh函数通常采用SHA-1,或者SHA-256 ;HMAC函数通常采用HMAC-SHA1,或者 HMAC-SHA256 和Elncry函数通常义用高级加密标准(AdvancedElncryptionStandard,AE巧。
[0化5]如图2所示,为本发明的备份阶段流程图。
[0056] 似备份阶段,其包括W下步骤:
[0化7] (2. 1)用户输入文件F,用户产生文件哈希Hf,Hf=化sh(P,F),哈希函数可W采用 SHA-1或者SHA-256。用户对文件哈希电采用密钥服务器协助的基于哈希的收敛加密Olash ConvergentEnc巧ption,HCE),产生文件级密钥Kp和文件指纹TP,并将文件指纹Tp发送到 存储服务提供商。
[0化引如图3(a)所示,为跨用户文件级的密钥服务器协助的基于哈希收敛加密算法原 理图具体而言,产生文件级密钥Kp和文件的指纹Tp的方法为:用户选择随机数rGN并计 算r的逆满足r'r-i三1,并计算文件哈希Hp的盲化信息x=Hp're(modN),用户将X发 送到分布式密钥服务器。分布式密钥服务器接收X,计算签名信息y=xd(modN),分布式 密钥服务器将y返回用户。用户接收到y并消除盲化信息得到中间变量Z=y(modN)。 用户可W验证电^zd(modN),若满足条件z就是文件F的文件级密钥Kp,否则密钥生成失 败。用户计算文件级密钥的哈希得到文件指纹Tp,Tp=化sh(P,KP)。
[0059] (2.2)存储服务提供商接收用户发送的文件指纹Tp,并在文件指纹索引中查找是 否存在,并将查询结果返回用户。
[0060]具体而言,文件指纹索引采用哈希表或键值存储等,在文件指纹索引中查询指纹 时,若指纹不存在,返回查询结果不存在并将该指纹插入到文件指纹索引中;若存在,返回 查询结果存在。
[00W] (2.3)用户接收查询结果。若查询结果显示存在,则用户将会更新文件元数据信 息,备份阶段结束。若查询结果显示不存在,则用户将文件F切分成细粒度的数据块,并在 用户内部将会执行块级去重。
[0062] (2.4)在用户内部的块级去重中,他们采用用户协助的收敛加密算法获得数据块 Bi的加密密钥和数据块的指纹7;,,将巧J发送到存储服务提供商端进行重复数据检 巧U;其中i=l,2,...,n,n是数据块数目具体而言,包括如下步骤:
[0063] (2. 4. 1)用户使用分块算法将文件F切分成多个数据块巧J。
[0064] 具体而言,分块算法可W是定长分块或者基于内容的分块(Content-Defined Qumking,CDC,例如,R油in算法)。
[0065] (2.4.2)如图3(b)所示,对于每个数据块巧;},用户使用用户协助的收敛加密方 案产生块级密钥Ks,和数据块指纹町,。
[0066] 具体而言,用户对数据块町计算数据块Bi的哈希值,其哈希函数采用SHA-1或 SHA-256。用户产生每个数据块町的密钥与i,馬^ = /W/!C(sa]l,KB,),HMAC采用HMAC-SHA1 或HMAC-SHA256,salt是由用户自己保存的秘密信息。
[0067] (2. 4. 3)对每个数据块町,用户W其块级密钥Ks,为加密密钥采用对称加密算法来 加密数据块町生成密文Cg.。然后对密文Cs,计算哈希得到数据块的指纹与,。
[0068] 具体而言,〔'《, =&wy(P,K|,|,B,),7; =//avA(P,C。)对称加密算法选择高级加密 标准(AdvancedEncryptionStandard,AES)。
[0069] (2. 4. 4)用户将产生的数据块指纹化,}发送到存储服务提供商,进行重复数据查 询。
[0070] (2. 5)存储服务提供商接收用户发送的数据块指纹(Tb,),并在用户的块级指纹索 引表中对所有的数据块指纹(Tb,)进行查询。对于每一个数据块町,将所有的数据块是否 重复的查询结果写入到标识信息数组中,并将数据块指纹是否存在的标识信息数组返回用 户。
[0071] 具体而言,用户的块级指纹索引表可W通过哈希表或键值存储来实现。
[0072] (2. 6)用户接收存储服务提供商发送的标识信息数组;针对每个数据块町,若标识 信息数组显示数据块指纹不存在,用户将数据块的密文Cg发送到存储服务提供商。用户会 生成相应的文件谱并按顺序将数据块的指纹写入到文件谱中用于文件恢复。
[0073] 如图4所示,为本发明基于用户感知的高效安全数据去重的多级密钥管理方案, 方案中包含文件级、块级和分片级=级密钥。用户会使用文件级密钥Kp来加密块级密钥 Kg.,并将块级密钥的密文Ck,写入到文件谱中,将文件谱发送到存储服务提供商。
[0074] 具体而言,文件谱包含文件的指纹,文件大小,并按顺序记录所有数据块的指纹和 数据块大小。
[0075] (2. 7)若标识信息数组显示数据块指纹存在,则用户将会更新文件谱和元数据信 息;
[0076] 当所有数据块查询结束之后,用户通过秘密共享将文件级密钥Kp切分成W个 不同的分片级密钥怯山并将分片Sj.发送到W个不同的密钥服务器中存储;其中j= 1,2, . . .,W,W为分布式密钥服务器数目;
[0077] 具体而言,秘密共享可W采用化amir秘密共享(化amirSecret化aring Scheme,SSSS(w,t))。
[007引如图5所示,为本发明的基于用户感知细粒度的高效安全数据去重方法的系统恢 复流程图。
[0079] (3)恢复阶段,其包括W下步骤:
[0080] (3. 1)用户想要恢复文件F时,用户需要将恢复文件请求和文件名发送到存储服 务提供商。存储服务提供商接收用户的文件恢复请求,并验证用户的身份。若身份验证失 败,存储服务提供商会拒绝用户的请求,恢复过程结束。
[0081] (3. 2)若身份验证通过,存储服务提供商将会读取文件谱,并将文件谱W及文件对 应的所有数据块密文{Cb,j发送给用户。用户将会接收文件谱和所有数据块的密文{Cb, }。
[00間 (3.扣用户需要向t个不同的密钥服务器来获取分片级的密钥Sj.。每个密钥服务 器都会验证用户的身份,密钥服务器会读取分片级密钥Sj.,并将它们发送回该用户。用户使 用秘密共享,根据t个分片级密钥恢复文件F的文件级密钥Kp。
[0083] 具体而言,秘密共享义用化amir秘密共享(化amirSecret化aringScheme, SSSS(w,t))。
[0084] (3. 4)用户获得文件谱和文件级密钥Kp。用户使用文件级密钥Kp根据对称加密算 法来解密每个数据的块级密钥。紧接着,该用户使用对应的数据块块级密钥Ksi来解密 每个数据块町。最后按照文件谱的顺序来依次排列数据块并恢复文件F。
[0085] 本领域的技术人员容易理解,W上所述仅为本发明的较佳实施例而已,并不用W 限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
【主权项】
1. 一种基于用户感知的高效安全数据去重方法,其特征在于,所述方法包括如下步 骤: (1) 准备阶段,系统初始化参数,包括初始化公共安全参数P、Shamir秘密共享的参数 (?,〇,生成密钥服务器的1?4公钥沉6)、私钥沉(1),初始化哈希函数他此,带密钥的哈 希函数HMAC和加密函数Encry,并且每个用户产生自己的安全秘密salt,密钥服务器获得 RSA私钥(N,d),将公钥(N,e)分发给所有用户; (2) 备份阶段,包括以下步骤: (2. 1)用户输入文件F,产生文件哈希HF=Hash(P,F),用户对文件哈希HF采用密钥
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1