1.基于云存储中一种加密数据的去重方法,该方法涉及在云存储、大数据环境下的重复密文数据检测和删除领域,其特征是:在用户上传文件之前,对文件摘要进行哈希创建,生成文件标识数据,然后将文件标识数据上传到云服务商(CSP)处进行验证,确定用户有没有相同文件,若是有相同文件,则进行详细验证,最终上传不同的文件块或者在已经有相同文件存在的情况下取消上传;若没有相似的数据标识,则对文件进行分块、哈希、生成验证数据,然后将文件及验证数据一起加密得到密文数据和元数据,然后对密文块进行对比验证,最终只上传文件库中没有相同文件块的密文数据及标签信息,其具体的实施步骤如下:
步骤1:生成文件标识,进行初步验证,具体的内容如下:
用户的文件F,在上传之前是没有加密的,首对文件属性(property)包括文件类型、文件名、文件摘要等信息进行哈希,获得文件的属性标签:,如果在云空间内有相同的属性标签,则提示是否确定上传,如果继续上传,则进入后续过程
步骤2:文件分块,并生成数据块的特征集,具体的内容如下:
依据固定打下或者变长等分块方法,将文件F分成n个数据块,,然后计算每个数据块的哈希值即标识:
表示文件F的第i个数据块的特征,放入集合中
步骤3:数据块及标识加密
步骤4:生成元数据和验证标签
步骤5:数据验证,更新元数据
步骤6:数据去重
步骤7:数据访问,具体的内容如下:
当用户需要访问云端的数据时,从CSP获得数据F的密文和元数据,再利用存储与本地的根密钥和文件参数ft,fs即可生成密钥树,计算变换叶子节点密钥、解密出数据密钥以及解密数据块,得到数据F。
2.根据权利要求1中的云存储中一种加密数据的去重方法,对步骤3数据块及标识加密,提出了以下计算过程:
高度为p,具有n个叶子节点的密钥树,然后将叶子节点密钥转换为“变换叶子节点密钥”,以其作为控制密钥,其中:
并依据安全参数随机选择一个根密钥,利用左右派生规则和逐级计算得到树叶节点密钥:
然后对叶子节点计算变换叶子节点密钥:
然后,采用AES算法对数据块进行加密;得到文件块的密文数据:
。
3.根据权利要求1中的云存储中一种加密数据的去重方法,针对步骤4:生成元数据和验证标签,提出以下具体的计算过程:
首次上传的数据,数据加密后,生成元数据项表示为:
其中,表示F文件第i个数据块的密文,表示其控制密钥在控制密钥树中的位置,如果上传的文件的第j个数据块,其加密后生成的标签集在CSP检测到与F的第i个相同时,生成元数据项为:
并多生成一条元数据项,为的验证标签
然后,将元数据项组成元数据
数据块加密完成后,User 将加密结果发送给CSP,并在本地为文件F 存储,fs,ft,n等参数,计算数据块密文、计算验证标签并将元数据和数据密文分别存储到主服务器和存储服务器。
4.根据权利要求1中的云存储中一种加密数据的去重方法,针对步骤5:数据验证,更新元数据,提出具体的计算过程如下:
CSP以散列运算,计算个数据的验证标签,对数据密文中的每个密文块进行散列运算,并以该值作为验证标签即:
令,以作为叶子节点,并以数据块序号i为序,有叶子节点逐级往上生成验证二叉树,并以作为根节点,更新文件的元数据
。
5.根据权利要求1中的云存储中一种加密数据的去重方法,针对步骤6:数据去重,具体的计算过程如下:
CSP随机选择一个数c,,作为需要检测的数据块数目,并生成一个随机置换密钥r,然后CSP从元数据中提取、和,并将他们连同c、r一起发送到客户端,客户端解密得到F的根密钥,根据根密钥派生得到位置为的n个叶子节点密钥,从而得到变换叶子节点密钥,
解密相应的数据块密钥:
以文件 F 的块数n、被挑战数据块数目c 和随机数r 为伪随机置换函数涞氖淙耄玫絚个数据块序号
然后对各数据块密文计算摘要值作为验证标签,并以为叶节点、数据块序号i 为序,由叶节点逐级往上生成一棵验证二叉树;
比较该树的根节点与是否相等,若相等则表示用户又有文件F,并且文件F与是同一个文件,若不相等,则表示F与具有相同标识,但内容不同,然后上传具有不同内容的数据块,并且记录下更新元数据:
。