[发明专利]支持数据去重的高效数据重加密方法及系统、云存储系统有效

专利信息
申请号: 201811026883.8 申请日: 2018-09-04
公开(公告)号: CN109379182B 公开(公告)日: 2021-06-01
发明(设计)人: 陈晓峰;李进;袁浩然;王剑锋 申请(专利权)人: 西安电子科技大学
主分类号: H04L9/08 分类号: H04L9/08;H04L9/06;H04L29/08;G06F16/215
代理公司: 西安长和专利代理有限公司 61227 代理人: 黄伟洪
地址: 710071 陕西省*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 支持 数据 高效 加密 方法 系统 存储系统
【权利要求书】:

1.一种支持数据去重的高效数据重加密方法,其特征在于,所述支持数据去重的高效数据重加密方法包括:用户在上传数据之前,与密钥服务器协商生成一个MLE密钥,MLE密钥可以使相同的明文数据总能得到相同的密钥;通过针对一个文件建立一个访问控制树的方式向合法用户分发文件密钥;在用户使用MLE密钥加密数据得到密文之后,用户将密文作为CAONT的输入,输出一个新的数据块;用户重加密新的数据块的一部后将数据块上传并存储在云服务提供商;

所述支持数据去重的高效数据重加密方法具体包括以下步骤:

步骤一,用户上传数据到云服务提供商上;所述步骤一用户u执行的操作包括:

(1)用户u随机选择一个随机数r,计算数据m的哈希值H(m),然后计算H(m)remod N并发送给密钥服务器;密钥服务器接收到H(m)remod N后计算(H(m)re)dmod N并将计算结果返回给用户u;用户u接收到(H(m)re)dmod N之后计算最后用户得到MLE密钥Km=Hd(m)mod N;用户u使用AES-256对数据块m进行加密操作并生成密文C1=E(Km,m),然后将密钥Km级联上密文C1得到Km||C1

(2)用户u使用哈希值h=H(Km||C1)作为伪随机序列生成器G的输入,计算得到G(h)=E(h,P),其中E代表AES-128对称加密算法,P表示一个公开的大小与Km||C1相同的数据块;用户u计算之后将C2划分成大小与h相同的数据块的集合;用户u异或上所有生成的与h大小相同的数据块并异或上数据块h生成数据块t;在获得整个数据块C2之前,自异或的结果不能被获得;

(3)数据块C2的大小是n,布隆过滤器设置256个独立的哈希函数定义如下:hi(·)=hi(·||i):{0,1}*→[1,n-256],i∈[1,256];用户u想要生成512比特长的Stub数据块s=(s1||s2)和数据块Trimmed,用户u首先截取数据块C2的最后256比特作为Stub数据块s=(s1||s2)中的s2部分;然后随机选择一个文件密钥Kfile并且将文件密钥Kfile作为布隆过滤器的输入生成256个随机的位置hi(Kfile)=hi(Kfile||i):{0,1}*→[1,n-256],i∈[1,256];在用户u得到布隆过滤器生成的256个随机的位置之后,用户u抽出数据块C2上256个相应位置上的比特值作为Stub数据块s=(s1||s2)中的s1部分;然后用户u级联上s1和s2得到Stub数据块s=(s1||s2);最后用户u级联上数据块t与抽出256个比特后的数据块C2的剩余部分,作为数据块Trimmed;

(4)用户u使用之前选择的文件密钥Kfile,利用AES-256加密算法重加密数据块s=(s1||s2),得到新的数据块Stub'=E(Kfile,Stub);用户u使用CP-ABE向合法的用户分发文件密钥Kfile;将每个用户的身份作为一个属性,文件密钥Kfile对应的访问控制树建立如下,在访问控制树中,所有合法的用户的身份设置为叶子结点,然后将这些叶子结点通过异或门连接起来;使得所有合法的用户均可以获得相应的文件密钥Kfile;用户u上传数据块Stub'、数据块Trimmed和使用CP-ABE加密后的文件密钥存储在云服务提供商上;

(5)在云服务提供商接收到用户上传的数据后,云服务提供商对数据块Trimmed执行去重存储;云服务提供商比较新上传的数据块Trimmed的前t个比特是否和之前上传的数据块Trimmed的前t个比特是否相同;如果相同,则云服务提供商发送信息让数据拥有者(本发明把第一个上传数据的用户叫做数据拥有者)将新上传的用户的身份加入到文件密钥的CP-ABE访问控制树形结构中;

步骤二,用户从云服务提供商上下载数据块;所述用户u执行的操作包括:

(1)用户u首先从云服务提供商下载数据块Stub'、数据块Trimmed和使用CP-ABE加密后的文件密钥;用户u通过CP-ABE的访问控制树获得密钥Kfile,最后用户u使用AES-256解密算法解密数据块Stub'得到数据块Stub=D(Kfile,Stub');

(2)用户u使用Trimmed数据块级联上数据块s=(s1||s2)中的数据块s2,然后用户u通过使用布隆过滤器生成256个随机的位置hi(Kfile)=hi(Kfile||i):{0,1}*→[1,n-256],i∈[1,256]并将这些数据按升序排列;之后用户u把Stub数据块中的s1的第i个比特插入到Trimmed数据块中的按升序排列第i个位置加上t的位置上;插入512比特之后的Trimmed数据块中前面的t个比特就是数据块t,剩下的部分就是数据块C2

(3)用户u将C2划分成大小与t相同的数据块的集合;用户u异或上所有生成的与t大小相同的数据块并异或上数据块t得到数据块h;之后用户u计算

(4)用户u拆分数据块Km||C1得到密钥Km和密文C1;用户u使用AES-256对密文C1进行解密生成明文m=D(Km,C1)

(3)如果文件密钥被泄露或者用户撤销,用户重加密之前上传的数据块;

所述重加密由数据拥有者完成,数据重加密的过程包括:

(1)用户u首先从云服务提供商下载数据块Stub'、数据块Trimmed和使用CP-ABE加密后的文件密钥;然后用户u通过CP-ABE的访问控制树获得密钥Kfile,最后用户u使用AES-256解密算法解密数据块Stub'得到数据块Stub=D(Kfile,Stub');

(2)用户首先使用Trimmed数据块级联上数据块s=(s1||s2)中的数据块s2,然后用户u通过使用布隆过滤器生成256个随机的位置hi(Kfile)=hi(Kfile||i):{0,1}*→[1,n-256],i∈[1,256]并将这些数据按升序排列;之后用户u把Stub数据块中的s1的第i个比特插入到Trimmed数据块中的按升序排列第i个位置加上t的位置上;插入512比特之后的Trimmed数据块中前面的t个比特就是数据块t,剩下的部分就是数据块C2

(3)用户u首先截取数据块C2的最后256比特作为new-Stub数据块中的s'2部分;随机选择一个新的文件密钥K'file并且将文件密钥K'file作为布隆过滤器的输入生成256个随机的位置hi(K'file)=hi(K'file||i):{0,1}*→[1,n-256],i∈[1,256];在用户u得到布隆过滤器生成的256个随机的位置之后,用户u抽出数据块C2上256个相应位置上的比特值作为s'1;用户级联上s'1和s'2得到new-Stub s'=(s'1||s'2);最后用户u级联上数据块t与抽出256个比特后的数据块C2的剩余部分,作为数据块new-Trimmed;

(4)用户u使用之前选择的文件密钥K'file,利用AES-256加密算法重加密数据块s'=(s'1||s'2),得到新的数据块new-Stub'=E(Kfile,new-Stub);用户u使用CP-ABE(ciphertext-policy attributed-based encryption)向新的合法的用户分发文件密钥K'file;用户u上传数据块new-Stub'、数据块new-Trimmed和使用CP-ABE加密后的文件密钥存储在云服务提供商。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811026883.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top