CN108200172A - 一种支持安全数据去重与删除的云存储系统及方法 - Google Patents
一种支持安全数据去重与删除的云存储系统及方法 Download PDFInfo
- Publication number
- CN108200172A CN108200172A CN201810005666.4A CN201810005666A CN108200172A CN 108200172 A CN108200172 A CN 108200172A CN 201810005666 A CN201810005666 A CN 201810005666A CN 108200172 A CN108200172 A CN 108200172A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- user
- duplicate removal
- cloud storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于云存储技术领域,公开了一种支持安全数据去重与删除的云存储系统及方法,包含以下技术算法:采用去重加密方案和服务器辅助的网络结构提供不同用户之间的安全数据去重;使用封装密钥树结构构建安全和高效的数据删除;本发明还能够支持数据动态更新,即支持系统中的数据的插入、删除和修改操作;采用增量数据更新的方法执行高效的数据更新,只有更新的部分需要进行加密和上传。通过结合增量更新技术,还考虑了动态数据的撤销/重做操作,极大地减少了云存储的计算和通信花销。此外,本发明还进行了详细的安全性分析和性能评估;结果表明,本发明可以达到预期的安全性目标,同时实现高效的数据删除与去重操作。
Description
技术领域
本发明属于云存储技术领域,尤其涉及一种支持安全数据去重与删除的云存储系统及方法。
背景技术
云存储系统通常要维持用户的敏感信息,信息安全的目标是防止机密信息被泄露给未经授权的非法用户。目前,已经有许多密码学和非密码学的方法保护用户的数据隐私。假设用户的敏感数据可以在有限的时间内被安全地删除,并且重复的数据可以被去重,这就要求存储系统提供敏感数据的安全删除与安全去重功能。当前的存储系统通常从效率的角度处理数据删除操作,其中数据通常是没有被真正删除的,而是通过使用新数据覆盖旧数据的方法实现数据删除的。最近,一些不同的方法被提出支持静态存储的安全数据删除,然而这些方法非常依赖于存储系统的物理控制性能,对于存储系统来说是非常不灵活的。当云存储服务器被假定为懒惰、自私或者恶意时,数据覆盖很难证明用户的敏感数据已经被永久性破坏。此外,即使假定云存储服务器是诚实的,也依然存在一些制约安全数据删除的因素。为了永久性的删除云中的数据,Amazon S3采用收取额外费用的制度对数据进行安全删除;Dropbox将数据从存储服务器和备份系统中删除存在一定的延时;在Google Drive中,如果用户的数据被第三方服务器备份的话,被删除的数据在15天内是可以恢复的。在远程存储系统中,基于密码学的方案可以为安全数据删除提供一些解决方案,这些方案保证一个敌手,如强制性敌手,不能够从存储系统中恢复被删除的数据。然而,这些方案只能支持个人用户的安全数据删除,没有考虑跨用户(多个用户之间)的情况。并且,这些方案只考虑了静态数据的安全删除,不能有效地支持数据动态更新。在公共云存储系统中,不同的用户可能拥有相同的数据,而且一些敏感的数据可能被多个用户共享。比如说,人们可以跟他们的朋友或家人分享他们的私人照片,音频或视频;敏感的企业数据可能被不同的管理者访问。因此,跨用户的数据去重将极大地减少云存储的花销。并且,跨用户的数据去重可以减少想要上传相同文件的用户的通信花销,节省系统的带宽。用户采用数据加密的方法实现安全数据去重,防止云服务提供商揭露他们的隐私数据。传统的对称加密算法无法实现安全的数据去重,因为不同的用户将随机地生成不同的加密密钥。为了实现安全去重,收敛加密算法被提出。后来,收敛加密被正式定义为信息锁定加密(MLE)或者是去重加密。通过采用收敛加密算法,拥有相同数据的不同用户可以生成相同的密文,因此云服务提供商能够对密文进行去重,然后对不同用户的相同数据只存储一个副本。然而,收敛加密方案不能实现语义安全,如果在安全数据删除方案中直接使用该安全去重方法将会造成很多安全问题。安全数据删除与安全数据去重是实现安全和高效的云存储系统的两个基本要求。拥有这两个功能的云存储系统将同时具有安全性和高效性的优势,但现有的方案只提供了其中一种功能。由于安全数据删除方案目前只支持个人用户的数据删除操作,且要删除的密文数据满足语义安全特性,而安全数据去重一般考虑的是跨用户(多用户之间)的相同数据的去重,且去重加密算法并不能满足语义安全的特性。因此安全数据删除和数据去重这两种功能的安全模型并不能相互兼容。并且,在安全数据去重方案中,相同的数据被使用相同的密钥加密成相同的明文。在强制性敌手模型下,一个用户密钥的泄露将会影响其他用户数据的机密性,数据的前向和后向安全性遭到破坏,这可能导致敌手能够恢复出已经被删除的数据。若使用不同的密钥,将无法实现数据的安全去重,这就导致了安全的数据去重与删除系统在强制性敌手模型下安全与效率的互斥。针对以上问题,目前还没有有效的解决方法。
综上所述,现有技术存在的问题是:安全数据删除和数据去重这两种功能的安全模型并不能相互兼容。并且,数据安全删除与去重这两个方案的直接结合将导致了系统在强制性敌手模型下安全与效率的脆弱性。
发明内容
针对现有技术存在的问题,本发明提供了一种支持安全数据去重与删除的云存储系统及方法。
本发明是这样实现的,一种支持安全数据去重与删除的云存储方法,所述支持安全数据去重与删除的云存储方法采用去重加密方案和服务器辅助的网络结构提供不同用户之间的安全数据去重;封装密钥树结构用于构建安全和高效的数据删除;采用增量数据更新的方法执行高效的数据更新,即只有更新的部分需要进行加密和上传;通过结合增量更新技术,还考虑了动态数据的撤销/重做操作。
进一步,所述支持安全数据去重与删除的云存储方法包括:
(1)用户随机选择一个主密钥mk←KeyGenS(1λ),运行参数生成算法生成公开参数P←ParGenMLE(1λ),P被用于信息锁定加密方案中;当用户上传数据mdata时,用户运行KeyGenMLE(P,mdata)算法生成密钥skdata用于加密数据mdata,加密后得到密文cdata=EncMLE(P,skdata,mdata);用户运行TagGenMLE(P,cdata)算法生成相应的标签T(mdata);当更新数据mdata时,用户需要更新封装密钥树,运行密钥生成算法KeyGenS(mkey)生成密钥skkey用于加密新的密钥;
(2)云存储服务器输入安全参数1λ,为每个用户输出一个封装密钥树的初始状态st;
(3)加密数据m={mmeta,mdata},用户分别运行加密算法EncS(skkey,mmeta)和EncMLE(P,skdata,mdata)生成密文cmeta和cdata;对于封装密钥树中从叶子节点到根节点的每个节点,用户分别加密算法EncS(skkey,mkey)得到相应的密文ckey;
(4)解密数据c={cmeta,cdata},对于从树的根节点到存储加密数据元的每个节点,用户分别运行解密算法DecS(skkey,ckey)和DecS(skkey,cmeta),获得mkey和mmeta;运行信息锁定解密算法获得数据mdata←DecMLE(P,skdata,cdata);
(5)密钥树的更新,输入一个主密钥mki,一个辅助状态sti和一个更新操作,输出一个新的主密钥和状态对(mki+1,sti+1),用于表示密钥树已经被更新;
(6)当用户将数据mdata更新为m'data时,数据更新算法输入主密钥mk,当前的密钥树状态sti,旧密文cdata和目标数据m'data,输出一个新的树状态sti+1和增量更新的密文Δcdata。
进一步,所述数据更新算法首先调用DecMLE算法和DecS算法计算数据mdata,计算增量数据Δmdata,调用加密算法EncS得到Δcdata;用户上传增量密文Δcdata给云服务器,云服务器对密钥树进行必要的更新。
本发明的另一目的在于提供一种所述支持安全数据去重与删除方法的云存储系统,所述支持安全数据去重与删除的云存储系统包括:
密钥服务器,用于帮助用户端生成数据加密密钥,并且拥有一个安全删除媒介,存储并安全的删除密钥;
用户端,与密钥服务器连接,外包加密的数据给云存储服务器;
云存储服务器,与用户端连接,用于为用户端提供安全数据删除与安全数据去重操作。
本发明第一次定义并构建了一个在强制性敌手模型下同时支持安全数据删除和安全数据去重的云存储系统,并通过安全性分析证明了本发明的安全性。与现有仅支持静态数据删除的系统相比,本发明的系统能够支持数据动态更新,也就是说支持系统中数据的插入、删除和修改操作。
附图说明
图1是本发明实施例提供的支持安全数据去重与删除的云存储系统结构示意图;
图中:1、用户端;2、密钥服务器;3、云存储服务器。
图2是本发明实施例提供的封装密钥树示意图。
图3是本发明实施例提供的元数据格式示意图。
图4是本发明实施例提供的可验证的RSA-OPRF协议示意图。
图5是本发明实施例提供的去重加密和标签生成的时间花销示意图。
图6是本发明实施例提供的封装密钥树中插入节点的时间花销示意图。
图7是本发明实施例提供的增量方案与非增量方案之间一次数据更新的计算花销对比示意图。
图8是本发明实施例提供的增量方案与非增量方案之间连续数据更新的计算花销对比示意图。
图9是本发明实施例提供的增量方案与非增量方案之间云服务器的存储花销对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在安全数据删除系统中采用去重加密方案和服务器辅助的网络结构提供不同用户之间的安全数据去重。封装密钥树技术被用于构建安全和高效的数据删除。另外,采用增量数据更新的方法执行高效的数据更新,即只有更新的部分需要进行加密和上传。增量数据更新的均匀特性能够进一步使系统实现高效的撤销和重做功能。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的支持安全数据去重与删除的云存储系统包括:用户端1、密钥服务器2、云存储服务器3。
密钥服务器2,用于帮助用户端1生成数据加密密钥,并且拥有一个安全删除媒介,存储并安全的删除密钥。
用户端1,与密钥服务器2连接,外包加密的数据给云存储服务器3。每个用户端1都有一个用于存储主密钥的小型拥有安全删除属性的存储介质。与文件存储媒介相比,存储用户加密密钥的小型支持安全删除的存储媒介是可行的构造。用户端1通过使用新密钥覆盖旧密钥和重新加密封装密钥树中与删除数据相关的密钥的方法来删除主密钥。云存储服务器3不会覆盖任何存储在云上的数据。
云存储服务器3,与用户端1连接,用于为用户端1提供安全数据删除与安全数据去重操作。用户端1可以在数据的生命周期内访问他们存储在云上的数据。
本发明实施例提供的支持安全数据去重与删除的云存储方法包括:
(1)用户端密钥生成:
用户随机选择一个主密钥mk←KeyGenS(1λ),然后运行参数生成算法生成公开参数P←ParGenMLE(1λ),P被用于信息锁定加密方案中;
当用户想要上传数据mdata时,用户运行KeyGenMLE(P,mdata)算法生成密钥skdata用于加密数据mdata,加密后得到密文cdata=EncMLE(P,skdata,mdata),然后,用户运行TagGenMLE(P,cdata)算法生成相应的标签T(mdata);
当更新数据mdata时,用户需要更新封装密钥树,运行密钥生成算法KeyGenS(mkey)生成密钥skkey用于加密新的密钥。
(2)服务器建立初始状态树
云存储服务器输入安全参数1λ,然后为每个用户输出一个封装密钥树的初始状态st;
(3)用户端加密
为了加密数据m={mmeta,mdata},用户分别运行加密算法EncS(skkey,mmeta)和EncMLE(P,skdata,mdata)生成密文cmeta和cdata;对于封装密钥树中从叶子节点到根节点的每个节点,用户分别加密算法EncS(skkey,mkey)得到相应的密文ckey。
(4)用户端解密
为了解密数据c={cmeta,cdata},对于从树的根节点到存储加密数据元的每个节点,用户分别运行解密算法DecS(skkey,ckey)和DecS(skkey,cmeta),最后获得mkey和mmeta。然后运行信息锁定解密算法获得数据mdata←DecMLE(P,skdata,cdata)。
(5)密钥树更新
本发明的封装密钥树更新有插入、修改和删除操作。更新算法的输入为一个主密钥mki,一个辅助状态sti和一个更新操作(插入,修改或是删除),输出一个新的主密钥和状态对(mki+1,sti+1),用于表示密钥树已经被更新。
(6)数据更新
当用户想要将数据mdata更新为m'data时,数据更新算法输入主密钥mk,当前的密钥树状态sti,旧密文cdata和目标数据m'data,输出一个新的树状态sti+1和增量更新的密文Δcdata。在这个过程中,数据更新算法首先调用DecMLE算法和DecS算法计算数据mdata,然后计算增量数据Δmdata,调用加密算法EncS得到Δcdata。最后,用户上传增量密文Δcdata给云服务器,云服务器对密钥树进行必要的更新。
表1
下面结合具体实施例对本发明的应用效果作详细的描述。
1、基于封装密钥树的安全数据删除
为了支持数据的动态更新,云存储系统中采用一个自平衡的动态B+树结构。直观地讲,加密的数据和密钥树都被存储在远程存储服务器上,只有树的根节点被存储在用户端的可擦除存储器中。内部节点存储相应的加密密钥,叶子节点存储加密的元数据,如图2所示,将数据分成元数据和文件数据,元数据用于表示用户端数据的标识,文件数据用于数据去重。每一个内部节点x有一个关联密钥kx和一个值列表。叶子节点的关联密钥等同于云存储中相应位置的内容。在每个内部的物理位置x,存储EncS(kp(x),kx)的值,其中p(x)是x的父亲节点,即用父亲节点的关联密钥加密子节点的关联密钥。图中,用户的文件标签用于支持用户端数据管理与搜索,服务器的文件标签用于支持服务器端数据的搜索与去重,且服务器的文件标签与元数据是一对一的关系,用户端文件标签与文件数据是一对多的关系。
为了在云存储中执行数据的读和写操作,需要访问树中相应叶子节点的内容。因此,从根节点开始到叶子节点的路径,可以通过其父亲节点的密钥对每个物理位置的内容进行解密,以获取其密钥。索引树上数据的删除将会导致从中间节点到根节点路径上的密钥及主密钥的更新。另外,B+树节点的顺序可以最大程度的优化方案的性能。
2.安全数据去重与增量数据更新
安全数据去重:假设用户想要上传文件m={mmeta,mdata},需要执行以下步骤对数据进行去重:
运行密钥生成算法生成skdata←KeyGen(P,mdata),计算数据mdata的密文cdata通过运行加密算法EncMLE(P,skdata,mdata)。然后,生成文件标签T(cdata)并发送给云服务器。当云服务器收到标签T(cdata)后,云服务器检测是否有相同的标签存储在云上,如果有,云服务器回复“文件重复”,否则,回复“文件没有重复”。
如果用户收到“文件没有重复”,他将标签T(cdata)保存在本地,然后上传密文cmeta和cdata,其中cmeta是由语义安全的对称加密算法EncS(skkey,mmeta)加密生成,skkey是密钥树上的密钥。
图3显示了元数据的格式,标签Tag是服务端的文件标签,用于从服务器中搜索相应文件数据,密钥EncryptionKey用于解密从云服务器中下载的文件。
如果用户收到“文件重复”和一个文件指针,不需要再次上传数据mdata。
增量数据更新:本发明基于位翻转的方法扩展信息锁定加密方案(MLE)以支持增量数据更新。并且,基于增量数据更新,本发明还可以支持高效的数据撤销和重做操作。
将数据格式转换成二进制的形式mdata,m'data∈{0,1}l,将两个文件之间的偏移位置定义为Dev(mdata,m'data)={i:mdata[i]≠m'data[i]}。定义增量修补算法Incre(mdata,Δ)为字符串m'data,如果则m'data[i]=mdata[i],如果i∈Δ,则m'data[i]=-mdata[i]。
数据撤销与重做:数据的撤销与重做特性使得用户可以移动或是重复一次或多次更新操作。当用户的动态操作被列出时,他们可以按照它们发生的顺序进行撤销和重做操作。
如果m'data=Incre(mdata,Δmdata)并且mdata=Incre(m'data,Δmdata),就说增量算法Incre是对称的。假设原始数据为mdata[0],更新的数据是Δ={Δmdata[1],…,Δmdata[s]},用户将s个操作步骤存储在相应的数据元中。Delta[i]表示Δmdata[i]的伪代码。假设当前的数据是m[s],且所有的更新操作在列表中已经被排序,数据将会按照下列伪代码进行更新。
for(int i=1;i<s;i++)
{
m[i+1]=Incre(m[i],Delta[i+1]);
returnm[i+1];
}
若数据mdata[s-k]执行k步(k≤s)撤销操作,下面伪代码解释了k步撤销操作的具体过程。指出,k步重做操作与此过程相反。
for(int i=0;i<k;i++)
{
m[s-i]=Incre(m[s-i+1],Delta[s-i+1]);
returnm[s-i];
}
3.跨用户的安全数据删除与新的挑战
前向和后向安全:对于私有安全数据删除方案来说,使用一个前向安全的对称加密方案来支持安全数据删除的前向/后向安全是很直接的。然而,本发明采用一个非语义安全的数据去重加密方案,因此很难实现数据删除的前向/后向安全。对于文件数据mdata和m'data,运行密钥生成算法KeyGenMLE生成相应的私钥skdata和sk'data,如果mdata=m'data,可以得出skdata=sk'data。这也就意味着如果一个强制性敌手获得该数据的私钥,方案的前向和后向安全将会被永久地破坏。并且,目前还没有有效的办法能够解决上述问题。
为了减轻这个安全挑战,使用服务器辅助的去重方案,即使用一个密钥服务器帮助用户定期地更新数据的加密密钥。以基于RSA盲签名和不经意伪随机函数协议(OPRF)的服务器辅助去重方案为例:假设有一个RSA密钥生成算法,输入一个大素数e,输出N,d满足ed≡1modφ(N),((N,e),(N,d))是密钥服务器的公私钥对。图4表示了用户端与密钥服务器之间的可验证的RSA-OPRF协议。
首先,每个合法的用户向密钥服务器发送注册请求,用户使用一个安全的哈希函数H:{0,1}*→ZN将数据mdata映射到ZN中,然后使用随机群元素re对消息H(mdata)进行盲化,结果为x←H(mdata)·re。最后,用户发送此盲化结果给密钥服务器。密钥服务器对x进行签名生成y←xdmodN,然后发送y给用户。用户通过计算z←yr-1modN移除盲化因子r,然后验证最后,RSA-OPRF协议输出结果z,通过使用另一个安全的哈希函数H':ZN→{0,1}λ,z被用于进一步计算mdata的私钥。
密钥服务器将会定期的生成新的公/私密钥对,帮助用户为每个文件数据生成新的密钥。旧的数据需要使用新的密钥进行重新加密。如果一个强制性敌手没有获得新的加密密钥,他将不能解密新的被加密的数据,即使他已经侵入系统并获取了所有以前的数据和密钥。
下面结合安全性分析对本发明的应用原理作进一步的描述。
本发明的安全性依赖于封装密钥树中密钥的适当消除和去重加密密钥的周期更新;通过引进增量数据更新的方法来提高方案的效率,在增量的数据更新中,要求加密/解密和上传/下载的数据仅仅是需要更新的部分。
定理1.本发明中云存储系统是健壮的。也就是说,数据经过加密存储在云服务器上,并且通过安全去重节省大量的存储空间,任何加密的数据在它的生命周期内都可以被访问和恢复。
证明:对于所有的数据mdata,m'data∈{0,1}*和他们的密钥skdata,sk'data,如果mdata=m'data,那么有EncMLE(P,skdata,mdata)=EncMLE(P,sk′data,m′data)。因此,通过去重,云服务器只需要存储一个数据的副本以节省存储空间。此外,对于每个用户ui∈U,他们的主密钥为mki∈{0,1}λ,所有密钥树的状态为sti,加密密钥为ckey,用户ui通过递归的运行解密算法DecS(skkey,ckey)可以得到解密密钥,其中最初的skkey是mk。已知递归运算的最后一步结果为数据元mmeta。最后,根据数据元信息,用户能够使用解密算法DecMLE解密数据文件mdata。
定理2.服务器辅助方案在不同承诺阶段能够抵抗强制攻击。
证明:任何强制性敌手的目的要么是想要恢复已经删除的数据或者是破坏未来生成的数据的机密性。敌手主要关注的是存储在用户本地的当前信息的主密钥,以及存储在远程服务器中的封装密钥树和加密的数据。考虑下面两种敌手破坏目标数据安全性的情况:
1)对于每个用户,敌手获取其新的加密密钥Knew和所有的解密密钥集合k={k1,k2,…,ky},其中k集合不包含已经被删除的数据的密钥。然后,敌手根据密钥树的路径和数据的解密密钥恢复目标数据。
2)敌手通过破坏去重加密算法的安全性来破坏目标数据的机密性。
首先,本发明的安全性依赖于对称加密方案的安全性,满足密文与随机数在计算上是不可区分的。如情况1)所述,敌手获取一些密钥,然后他可以从Knew中获取主密钥。对于所有的主密钥mk∈Knew,敌手不能获取存储在当前被破坏的数据之前或之后的数据的加密密钥路径。因此,基于封装密钥树构建的方案是安全的。
其次,信息锁定加密方案被证明是PRV-CDA安全的,不能在强迫性敌手模型下确保数据的前向或后向安全。在的服务器辅助去重方案中,假设只有合法的用户能够得到每个阶段数据的加密密钥。密钥服务器定期地为每个承诺域(时间段)生成新的公私钥对,并用新密钥对替代旧的密钥对。指出,不同承诺域中密钥服务器生成的公私钥对不同,因此,相同的数据在不同的承诺域中被加密成不同的密文,一个承诺域中数据的机密性不会影响另一个不同的承诺域中相同数据的机密性。如果密钥服务器是诚实的,并且按时地生成新密钥,那么服务器辅助协议在RSA假设下是安全的。为了阻止恶意服务器从H(mdata)中获取额外信息,设置N<e并且需要通过用户的验证。因为RSA签名本质上是一个置换,一个恶意的敌手不能伪造数据的签名密钥,也不能为两个不同的数据找出碰撞。因此,任何一个敌手不能通过身份认证,并且不能生成数据的签名私钥。因为敌手不能访问服务器中承诺域的私钥信息,所以在本发明中信息锁定加密方案能够为不同承诺域之间的加密数据提供语义安全性。因此,如果一个强制性敌手破坏一个承诺域中数据m的机密性,他将不能破坏存储在其他承诺域中的相同数据m的机密性。
定理3.本发明对静态数据和动态数据的安全删除与去重都是高效的。
证明:首先,根据信息锁定加密(MLE),本发明对静态数据在存储和通信花销方面是高效的。也就是说,对于用户ui∈U的所有明文/密文对(mdata,cdata)和(m'data,c'data),如果mdata=m'data,服务器就能知道cdata=c'data,经过去重,服务器只存储不同文件数据的密文。其次,根据增量数据更新,本发明在数据更新时是计算、通信和存储高效的。也就是说,对于用户ui∈U,以及所有的数据mdata∈{0,1}*和m'data∈{0,1}*,Δmdata是数据mdata和m'data之间的改变量,数据更新的计算、存储和通信花销只与Δmdata的大小呈线性关系,而与mdata的大小无关。
下面结合性能分析对本发明的应用原理及高效性作进一步的描述。
本发明使用Amazon S3作为远程存储服务器,使用OpenSSL密码学库提供的AES-128对称加密算法和SHA-1哈希函数实例化本发明。本发明利用C语言中的树结构建立封装密钥树。为了公平的比较,存储服务器和用户都在Linux OS机器上运行安全数据删除与去重算法,该机器拥有酷睿TMi7-4600U的处理器和8GB的RAM。本发明的实验评估包括不同算法的计算花销,云存储的存储花销和数据存储的通信花销,文件尺寸大小为1KB~256MB。
B+树的建立用于管理和访问数据,本发明假设B+树有很多个节点,用户的数据和B+树的节点都被存储在云服务器上。由于需要同时满足数据的去重和增量更新,本发明将数据分为元数据mmeta和文件数据mdata。文件数据使用信息锁定加密(MLE)算法EncMLE进行加密,可以实现数据的安全去重。元数据包含文件数据的一些特征(比如数据块索引,大小,文件名等等),它通过使用EncS算法(可实例化为AES-128对称加密算法)进行加密。密钥封装树的叶子节点是元数据的密文,内部节点存储的是密钥,这些密钥被用于加密/解密他们的孩子节点。用户端本地可擦除的安全删除媒介仅存储封装密钥树的根节点的解密密钥。每当数据更新时,封装密钥树也会被更新,用户使用新的根节点的解密密钥覆盖以前的密钥。
(1)计算花销:本发明评估了安全数据去重方案的加密、解密和标签生成算法的时间花销。如图5所示,本发明的去重加密算法的加密、解密和标签生成算法的计算花销与数据的大小呈线性关系。当处理的数据小于1KB时,这三个操作的计算时间花销小于1ms,然而,当文件大于64MB时,他们的计算时间花销将会达到秒级别。
如图6所示,本发明还评估了在B+树中插入节点的计算花销。本发明测试了插入5000个数据条目时B+树的计算花销,发现插入节点的计算花销与数据的数量呈对数关系。根据图6,插入节点的计算花销基本都是小于1ms的,相对较高的计算花销达到10ms,且时间花销的峰值主要是由树节点的融合和分裂造成的。与第二阶段的加/解密操作相比,B+树中插入节点是更高效的。
当用户进行数据更新时,用户需要把下载的密文解密之后再进行数据增量更新,然后上传更新的数据到远程云服务器。如图7所示,本发明评估了数据更新时的计算花销。显然,当数据的大小相对较大时(比如4M),非增量更新方案的计算花销大约比增量更新的方案的计算花销高一个数量级。事实上,本发明仿真实验的数据大小为128M。假定在不同数据大小中,需要更新的数据大小最小为1K,最大不超过12K。也就是说,用户仅需要解密原始的数据和更新的数据来恢复目标数据。当原始数据的大小与更新内容的大小相似时,增量方案的数据解密时间开销要高于非增量方案。然而,当更新内容的数据量比原始数据量小的多的时候,解密算法的时间花销就会变小。在非增量方案中,数据加密的时间开销总是大于解密的开销由于用户需要计算数据的加密密钥。密钥是更新数据的哈希值,且密钥的大小与原始数据的大小相似。在增量方案中,数据加密的时间开销比解密的开销要小得多,这是因为用户仅仅需要加密更新的数据(小于12K)。
对于连续的数据更新,用户首先下载原始的数据。图8对比展示了增量方案与非增量方案之间的连续数据更新的时间开销。当只进行一次数据更新时,增量方案与非增量方案的计算时间开销与图7所示相同。随着数据更新次数的增加,非增量方案的计算时间开销上升速度较快,但是增量方案的计算时间开销无明显变化。
(2)存储和通信花销:因为目前的数据删除方案没有考虑数据的去重和撤销/重做操作,本发明假定在他们的系统中存有多个相同数据的副本。在图9中,本发明展示了存储花销的对比。在非增量方案中,计算时间花销随着数据的大小和撤销/重做的次数k迅速增长。本发明方案的计算花销是相对高效的,尤其是当更新部分相对于原始数据较小时。
本发明假定Amazon S3桶区按美国标准,文件上传的时间延迟小于1秒。在单线程数据上传过程中,不同文件大小的上传速度大约为1.67MB/S。在多线程数据(5~10线程)上传过程中,最大的上传速度为2.67MB/S。因此,本发明的增量数据更新将会极大地减少通信时间,节省网络带宽。更进一步地,因为本发明采用数据去重,对相同的数据只上传并存储一个数据的副本,这也大大减少了系统的通信和存储花销。
综上所述,在本发明中,封装密钥树结构被扩展用于安全数据删除,服务器辅助去重加密方案被扩展用于安全数据去重。另外,数据去重实现了系统存储和通信的高效性,增量数据更新方法实现了数据更新的高效性。基于数据增量更新方法,还设计实现了高效的撤销和重做操作。最后,安全性分析表明本发明能够抵御强制性敌手的攻击,实验结果表明本发明能够实现安全和高效的动态数据删除与去重。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种支持安全数据去重与删除的云存储方法,其特征在于,所述支持安全数据去重与删除的云存储方法采用去重加密方案和服务器辅助的网络结构提供不同用户之间的安全数据去重;封装密钥树结构用于构建安全和高效的数据删除;采用增量数据更新的方法执行高效的数据更新操作,即只有更新的部分需要进行加密和上传。
2.如权利要求1所述的支持安全数据去重与删除的云存储方法,其特征在于,所述支持安全数据去重与删除的云存储方法包括:
(1)用户随机选择一个主密钥mk←KeyGenS(1λ),运行参数生成算法生成公开参数P←ParGenMLE(1λ),P被用于信息锁定加密方案中;当用户上传数据mdata时,用户运行KeyGenMLE(P,mdata)算法生成密钥skdata用于加密数据mdata,加密后得到密文cdata=EncMLE(P,skdata,mdata);用户运行TagGenMLE(P,cdata)算法生成相应的标签T(mdata);当更新数据mdata时,用户需要更新封装密钥树,运行密钥生成算法KeyGenS(mkey)生成密钥skkey用于加密新的密钥;
(2)云存储服务器输入安全参数1λ,为每个用户输出一个封装密钥树的初始状态st;
(3)加密数据m={mmeta,mdata},用户分别运行加密算法EncS(skkey,mmeta)和EncMLE(P,skdata,mdata)生成密文cmeta和cdata;对于封装密钥树中从叶子节点到根节点的每个节点,用户分别运行加密算法EncS(skkey,mkey)得到相应的密文ckey;
(4)解密数据c={cmeta,cdata},对于从树的根节点到存储加密数据元的每个节点,用户分别运行解密算法DecS(skkey,ckey)和DecS(skkey,cmeta),获得mkey和mmeta;运行信息锁定解密算法获得数据mdata←DecMLE(P,skdata,cdata);
(5)密钥树的更新,输入一个主密钥mki,一个辅助状态sti和一个更新操作,输出一个新的主密钥和状态对(mki+1,sti+1),用于表示密钥树已经被更新;
(6)用户将数据mdata更新为m'data时,数据更新算法输入主密钥mk,当前的密钥树状态sti,旧密文cdata和目标数据m'data,输出一个新的树状态sti+1和增量更新的密文Δcdata。
3.如权利要求2所述的支持安全数据去重与删除的云存储方法,其特征在于,所述数据更新算法首先调用DecMLE算法和DecS算法计算数据mdata,计算增量数据Δmdata,然后调用加密算法EncS得到Δcdata;用户上传增量密文Δcdata给云服务器,云服务器对密钥树进行必要的更新。
4.一种如权利要求1所述支持安全数据去重与删除的云存储方法的支持安全数据去重与删除的云存储系统,其特征在于,所述支持安全数据去重与删除的云存储系统包括:
密钥服务器,用于帮助用户端生成数据加密密钥,并且拥有一个安全删除媒介,能够存储并安全的删除密钥;
用户端,与密钥服务器连接,外包加密的数据给云存储服务器;
云存储服务器,与用户端连接,用于为用户端提供安全数据删除与安全数据去重操作。
5.一种使用权利要求1~3任意一项所述支持安全数据去重与删除的云存储方法的云存储系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810005666.4A CN108200172B (zh) | 2018-01-03 | 2018-01-03 | 一种支持安全数据去重与删除的云存储系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810005666.4A CN108200172B (zh) | 2018-01-03 | 2018-01-03 | 一种支持安全数据去重与删除的云存储系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108200172A true CN108200172A (zh) | 2018-06-22 |
CN108200172B CN108200172B (zh) | 2020-12-08 |
Family
ID=62587702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810005666.4A Active CN108200172B (zh) | 2018-01-03 | 2018-01-03 | 一种支持安全数据去重与删除的云存储系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108200172B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033878A (zh) * | 2018-08-08 | 2018-12-18 | 莆田学院 | 一种文件存储验证方法及存储介质 |
CN109522283A (zh) * | 2018-10-30 | 2019-03-26 | 深圳先进技术研究院 | 一种重复数据删除方法及系统 |
CN110035067A (zh) * | 2019-03-13 | 2019-07-19 | 西安电子科技大学 | 云存储中支持高效数据去重和属性撤销的属性加密方法 |
CN110784318A (zh) * | 2019-10-31 | 2020-02-11 | 广州华多网络科技有限公司 | 群密钥更新方法、装置、电子设备、存储介质及通信系统 |
CN111338572A (zh) * | 2020-02-18 | 2020-06-26 | 电子科技大学 | 一种可调节加密重复数据删除方法 |
CN112580083A (zh) * | 2020-12-30 | 2021-03-30 | 电子科技大学 | 一种基于双向可延展持有权证明的数据外包去重复方法 |
CN113010902A (zh) * | 2019-12-18 | 2021-06-22 | 无锡品凡信息科技有限公司 | 一种用于数据安全管控的方法及系统 |
CN113037732A (zh) * | 2021-02-26 | 2021-06-25 | 南京大学 | 一种基于广域网场景下的多用户的安全的加密去重方法 |
WO2022121573A1 (en) * | 2020-12-07 | 2022-06-16 | International Business Machines Corporation | Implementing resilient deterministic encryption |
CN115174568A (zh) * | 2022-06-23 | 2022-10-11 | 南京信息工程大学 | 一种基于属性的密文检索方法 |
CN115361398A (zh) * | 2022-10-19 | 2022-11-18 | 成都飞机工业(集团)有限责任公司 | 一种数据备份容灾方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595793A (zh) * | 2013-11-13 | 2014-02-19 | 华中科技大学 | 一种无需可信第三方支持的云端数据安全删除系统与方法 |
CN103731423A (zh) * | 2013-12-25 | 2014-04-16 | 北京安码科技有限公司 | 一种安全的重复数据删除方法 |
US8930687B1 (en) * | 2013-03-15 | 2015-01-06 | Emc Corporation | Secure distributed deduplication in encrypted data storage |
CN104363268A (zh) * | 2014-10-27 | 2015-02-18 | 西安电子科技大学 | 一种基于支付激励机制的安全去重系统 |
CN105681273A (zh) * | 2015-12-17 | 2016-06-15 | 西安电子科技大学 | 客户端重复数据删除方法 |
CN105939191A (zh) * | 2016-07-08 | 2016-09-14 | 南京理工大学 | 一种云存储中密文数据的客户端安全去重方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
CN107094075A (zh) * | 2017-07-05 | 2017-08-25 | 电子科技大学 | 一种基于收敛加密的数据块动态操作方法 |
CN107483585A (zh) * | 2017-08-18 | 2017-12-15 | 西安电子科技大学 | 云环境中支持安全去重的高效数据完整性审计系统及方法 |
CN104408111B (zh) * | 2014-11-24 | 2017-12-15 | 浙江宇视科技有限公司 | 一种删除重复数据的方法及装置 |
-
2018
- 2018-01-03 CN CN201810005666.4A patent/CN108200172B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930687B1 (en) * | 2013-03-15 | 2015-01-06 | Emc Corporation | Secure distributed deduplication in encrypted data storage |
CN103595793A (zh) * | 2013-11-13 | 2014-02-19 | 华中科技大学 | 一种无需可信第三方支持的云端数据安全删除系统与方法 |
CN103731423A (zh) * | 2013-12-25 | 2014-04-16 | 北京安码科技有限公司 | 一种安全的重复数据删除方法 |
CN104363268A (zh) * | 2014-10-27 | 2015-02-18 | 西安电子科技大学 | 一种基于支付激励机制的安全去重系统 |
CN104408111B (zh) * | 2014-11-24 | 2017-12-15 | 浙江宇视科技有限公司 | 一种删除重复数据的方法及装置 |
CN105681273A (zh) * | 2015-12-17 | 2016-06-15 | 西安电子科技大学 | 客户端重复数据删除方法 |
CN106612320A (zh) * | 2016-06-14 | 2017-05-03 | 四川用联信息技术有限公司 | 云存储中一种加密数据的去重方法 |
CN105939191A (zh) * | 2016-07-08 | 2016-09-14 | 南京理工大学 | 一种云存储中密文数据的客户端安全去重方法 |
CN107094075A (zh) * | 2017-07-05 | 2017-08-25 | 电子科技大学 | 一种基于收敛加密的数据块动态操作方法 |
CN107483585A (zh) * | 2017-08-18 | 2017-12-15 | 西安电子科技大学 | 云环境中支持安全去重的高效数据完整性审计系统及方法 |
Non-Patent Citations (2)
Title |
---|
CRESCENZO G D,ET AL: ""How to Forget Secret"", 《CONFERENCE PAPER》 * |
姜涛等: ""Towards secure and reliable cloud storage against data"", 《FUTURE GENERATION COMPUTER SYSTEMS》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033878B (zh) * | 2018-08-08 | 2021-04-16 | 莆田学院 | 一种文件存储验证方法及存储介质 |
CN109033878A (zh) * | 2018-08-08 | 2018-12-18 | 莆田学院 | 一种文件存储验证方法及存储介质 |
CN109522283B (zh) * | 2018-10-30 | 2021-09-21 | 深圳先进技术研究院 | 一种重复数据删除方法及系统 |
CN109522283A (zh) * | 2018-10-30 | 2019-03-26 | 深圳先进技术研究院 | 一种重复数据删除方法及系统 |
CN110035067A (zh) * | 2019-03-13 | 2019-07-19 | 西安电子科技大学 | 云存储中支持高效数据去重和属性撤销的属性加密方法 |
CN110035067B (zh) * | 2019-03-13 | 2022-03-25 | 西安电子科技大学 | 云存储中支持高效数据去重和属性撤销的属性加密方法 |
CN110784318A (zh) * | 2019-10-31 | 2020-02-11 | 广州华多网络科技有限公司 | 群密钥更新方法、装置、电子设备、存储介质及通信系统 |
CN113010902A (zh) * | 2019-12-18 | 2021-06-22 | 无锡品凡信息科技有限公司 | 一种用于数据安全管控的方法及系统 |
CN111338572A (zh) * | 2020-02-18 | 2020-06-26 | 电子科技大学 | 一种可调节加密重复数据删除方法 |
WO2022121573A1 (en) * | 2020-12-07 | 2022-06-16 | International Business Machines Corporation | Implementing resilient deterministic encryption |
US11930099B2 (en) | 2020-12-07 | 2024-03-12 | International Business Machines Corporation | Implementing resilient deterministic encryption |
GB2617733A (en) * | 2020-12-07 | 2023-10-18 | Ibm | Implementing resilient deterministic encryption |
US11695541B2 (en) | 2020-12-07 | 2023-07-04 | International Business Machines Corporation | Implementing resilient deterministic encryption |
CN112580083A (zh) * | 2020-12-30 | 2021-03-30 | 电子科技大学 | 一种基于双向可延展持有权证明的数据外包去重复方法 |
CN112580083B (zh) * | 2020-12-30 | 2023-04-14 | 电子科技大学 | 一种基于双向可延展持有权证明的数据外包去重复方法 |
CN113037732A (zh) * | 2021-02-26 | 2021-06-25 | 南京大学 | 一种基于广域网场景下的多用户的安全的加密去重方法 |
CN113037732B (zh) * | 2021-02-26 | 2022-09-23 | 南京大学 | 一种基于广域网场景下的多用户的安全的加密去重方法 |
CN115174568A (zh) * | 2022-06-23 | 2022-10-11 | 南京信息工程大学 | 一种基于属性的密文检索方法 |
CN115361398A (zh) * | 2022-10-19 | 2022-11-18 | 成都飞机工业(集团)有限责任公司 | 一种数据备份容灾方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108200172B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200172A (zh) | 一种支持安全数据去重与删除的云存储系统及方法 | |
CN108259169B (zh) | 一种基于区块链云存储的文件安全分享方法及系统 | |
Huang et al. | Survey on securing data storage in the cloud | |
JP4855940B2 (ja) | 暗号用鍵の世代の効率的な管理 | |
CN102567688B (zh) | 一种安卓操作系统上的文件保密系统及其保密方法 | |
EP3360069A1 (en) | Device and method for password generation in a user device | |
Agarwal et al. | A survey on cloud computing security issues and cryptographic techniques | |
Bakas et al. | Power range: Forward private multi-client symmetric searchable encryption with range queries support | |
US20080098217A1 (en) | Method for efficient and secure data migration between data processing systems | |
Chen et al. | Password-authenticated searchable encryption | |
CN114679340A (zh) | 一种文件共享方法、系统、设备及可读存储介质 | |
Meng et al. | Secure data deduplication with reliable data deletion in cloud | |
Ti et al. | Benchmarking dynamic searchable symmetric encryption scheme for cloud-internet of things applications | |
Cunsolo et al. | Achieving information security in network computing systems | |
CN113836546B (zh) | 一种密钥管理方法、装置、设备及存储介质 | |
CN108494552A (zh) | 支持高效收敛密钥管理的云存储数据去重方法 | |
Nooh | Cloud Cryptography: User End Encryption | |
Khobragade et al. | High security mechanism: fragmentation and replication in the cloud with auto update in the system | |
Nandini et al. | Implementation of hybrid cloud approach for secure authorized deduplication | |
Glet | SECURITY ANALYSIS OF SIGNALS DATA STORAGE MECHANISMS IN IOS VERSION. | |
Taylor et al. | Security approaches and crypto algorithms in mobile cloud storage environment to ensure data security | |
Amini | Secure Storage in Cloud Computing | |
Tie et al. | Forward privacy analysis of a dynamic searchable encryption scheme | |
Messmer | CryFS: Design and implementation of a provably secure encrypted cloud filesyste | |
Adjei et al. | Enhancing security in the cloud using encryption in a client centric access control mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |