支持数据去重的高效数据重加密方法及系统、云存储系统技术方案

技术编号:20430682 阅读:247 留言:0更新日期:2019-02-23 10:40
本发明专利技术属于以协议为特征技术领域,公开了一种支持数据去重的高效数据重加密方法及系统、云存储系统;用户在上传数据之前,与密钥服务器协商生成一个MLE密钥,MLE密钥使相同的明文数据总能得到相同密钥;通过针对一个文件建立一个访问控制树的方式向合法用户分发文件密钥;在用户使用MLE密钥加密数据得到密文之后,用户将密文作为CAONT的输入,输出新的数据块;用户重加密新生成的数据块的一部分后将数据块上传并存储在云服务提供商。本发明专利技术防止撤销的用户继续访问数据拥有者的敏感数据;可以大大的减轻数据拥有者重加密时的计算开销。通过实验显示,本发明专利技术大大降低数据拥有者重加密时的计算开销。

Efficient Data Re-Encryption Method and System, Cloud Storage System Supporting Data Reduplication

The invention belongs to the technical field characterized by protocols, and discloses an efficient data re-encryption method and system, cloud storage system supporting data de-duplication; before users upload data, they negotiate with key server to generate a MLE key, which makes the same plaintext data always get the same key; and it is legitimate to establish an access control tree for a file. Users distribute file keys; after users use MLE keys to encrypt data to obtain ciphertext, users use ciphertext as the input of CAONT to output new data blocks; after users re-encrypt part of the newly generated data blocks, they upload and store the data blocks in cloud service providers. The invention prevents the revoked user from continuing to access sensitive data of the data owner, and can greatly reduce the computing overhead of the data owner when re-encrypting. Experiments show that the present invention greatly reduces the computational overhead when the data owner re-encrypts.

【技术实现步骤摘要】
支持数据去重的高效数据重加密方法及系统、云存储系统
本专利技术属于以协议为特征
,尤其涉及一种支持数据去重的高效数据重加密方法及系统、云存储系统。
技术介绍
目前,业内常用的现有技术是这样的:随着云存储的快速发展,越来越多的用户和企业倾向于将数据外包给云服务提供商。根据国际数据中心的最近研究成果显示,数据正以每两年一倍的速度快速增长,预期到2020年,全球数据总量将达到44ZB或者44万亿GB。为了处理这些大量的数据,云服务提供商需要部署大量的云存储设备并将消耗大量的硬件资源和带宽资源。另一方面,云服务提供商可能存储大量且重复的数据(例如电影、音乐或者基因数据)。大量的冗余数据不可避免的占用了云服务提供商大量的存储资源并在数据的整个生命周期给云服务提供商带来大量的计算与管理开销。为了解决这个问题,数据去重技术应运而生。数据去重可以使云服务提供商删除大量冗余数据只存储数据的一个副本,将节约大量的存储空间与网络带宽。如今数据去重技术已经广泛被云服务提供商所应用。根据报道显示,通过使用去重技术,83%用于存储基因数据的存储空间可以被节约,90%用于商业应用的存储与带宽资源可以被节约。尽管数据去重具有很多的优点,然而用户数据的隐私性面临许多新的挑战。由于云服务提供商是诚实且好奇的,即他们会诚实的执行操作但是也试图分析用户外包的数据。因此,为了保护数据的安全性,用户将数据外包存储在云服务提供商之前,通常对数据执行加密操作。由于传统的加密方案为了达到语义安全性,加密密钥通常是随机选择的。因为不同的用户随机选择的密钥是不同的,使得即使是相同的明文加密得到的密文也不同,云服务提供商无法判断两个密文是否是由相同的明文加密得到的,无法实现密文数据的去重。在收敛加密中,通过使用文件的哈希值作为收敛密钥,保证了相同的数据总能得到相同的密钥。然后通过使用相同的密钥加密相同的明文,相同的明文总能得到相同的密文。云服务提供商就可以判断两个数据是否相同,使得密文去重得以实现。这种加密方案被形式化定义为消息锁定加密,通过从相同的数据得到相同的密钥进行数据加密的方法,使得云服务提供商可以判断两个密文数据是否是由相同的明文得到的。之后,尽管有一系列新的消息锁定加密方案力图提高方案的安全性或者提供其他新的特性,而且已经有很多方案可以支持用户的动态加入与撤销,但是他们没有考虑高效的重加密问题,因此无法实现用户数据高效的重加密。综上所述,现有技术存在的问题是:现有的很多方案可以支持用户的动态加入与撤销,但是没有考虑高效的重加密问题。由于现有的方案通常采用了传统的加密方案来对数据进行重加密操作,然而用户的数据量往往是巨大的,如果使用传统的数据加密对数据进行重加密操作的话会消耗用户大量的计算资源。同时,尽管有一些方案提出了高效的重加密方案,但是他们的方案无法解决用户撤销问题,即用户在从群组撤销之后依然可以访问合法用户的敏感信息。因此,现有技术难以在解决用户撤销问题的同时实现高效的数据重加密。解决上述技术问题的难度和意义:提出安全的高效数据重加密方案,不仅需要减少用户重加密时大量的计算开销,同时需要防止撤销用户和未授权用户访问到合法用户的敏感信息。因此,如何兼容用户的动态管理与高效的数据重加密是值得研究的问题。如果在用户数据的全生命周期内用高效的重加密技术代替传统的数据加密技术,这将减少大量的计算资源与带宽资源,这具有一定的现实意义。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种支持数据去重的高效数据重加密方法及系统、云存储系统。本专利技术是这样实现的,一种支持数据去重的高效数据重加密方法,所述支持数据去重的高效数据重加密方法包括:用户在上传数据之前,与密钥服务器协商生成一个MLE密钥,MLE密钥可以使相同的明文数据总能得到相同的密钥;通过针对一个文件建立一个访问控制树的方式向合法用户分发文件密钥;在用户使用MLE密钥加密数据得到密文之后,用户将密文作为CAONT的输入,输出一个新的数据块;用户重加密新的数据块的一部分后将数据块上传并存储在云服务提供商。进一步,所述支持数据去重的高效数据重加密方法包括以下步骤:(1)用户上传数据块到云服务提供商上。(2)用户从云服务提供商上下载数据块;(3)如果文件密钥被泄露或者用户撤销,数据拥有者重加密相应的数据块。进一步,所述步骤一用户u执行的操作包括:(1)用户u随机选择一个随机数r,计算数据m的哈希值H(m),然后计算H(m)remodN并发送给密钥服务器;密钥服务器接收到H(m)remodN后计算(H(m)re)dmodN并将计算结果返回给用户u;用户u接收到(H(m)re)dmodN之后计算最后用户得到MLE密钥Km=Hd(m)modN。用户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个比特是否相同;如果本文档来自技高网
...

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

【技术特征摘要】
1.一种支持数据去重的高效数据重加密方法,其特征在于,所述支持数据去重的高效数据重加密方法包括:用户在上传数据之前,与密钥服务器协商生成一个MLE密钥,MLE密钥可以使相同的明文数据总能得到相同的密钥;通过针对一个文件建立一个访问控制树的方式向合法用户分发文件密钥;在用户使用MLE密钥加密数据得到密文之后,用户将密文作为CAONT的输入,输出一个新的数据块;用户重加密新的数据块的一部后将数据块上传并存储在云服务提供商。2.如权利要求1所述的支持数据去重的高效数据重加密方法,其特征在于,所述支持数据去重的高效数据重加密方法包括以下步骤:(1)用户上传数据到云服务提供商上;(2)用户从云服务提供商上下载数据块;(3)如果文件密钥被泄露或者用户撤销,用户重加密之前上传的数据块。3.如权利要求2所述的支持数据去重的高效数据重加密方法,其特征在于,所述步骤一用户u执行的操作包括:(1)用户u随机选择一个随机数r,计算数据m的哈希值H(m),然后计算H(m)remodN并发送给密钥服务器;密钥服务器接收到H(m)remodN后计算(H(m)re)dmodN并将计算结果返回给用户u;用户u接收到(H(m)re)dmodN之后计算最后用户得到MLE密钥Km=Hd(m)modN;用户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访问控制树形结构中。4.如权利要求2所述的支持数据去重的高效数据重加密方法,其特征在于,所述步骤二用户u执行的操作包括:(1)用户u首先从云服务提供商下载数据块Stub'、数据块Trimmed和使用CP-ABE加密后的文件密钥;用户u通过CP-ABE的访问控制树获得密钥Kfile,最后用户u使用...

【专利技术属性】
技术研发人员:陈晓峰李进袁浩然王剑锋
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1