计算机应用   2017, Vol. 37 Issue (5): 1335-1340  DOI: 10.11772/j.issn.1001-9081.2017.05.1335
0

引用本文 

曹景源, 李立新, 李全良, 丁永善. 云存储环境下生命周期可控的数据销毁模型[J]. 计算机应用, 2017, 37(5): 1335-1340.DOI: 10.11772/j.issn.1001-9081.2017.05.1335.
CAO Jingyuan, LI Lixin, LI Quanliang, DING Yongshan. Data destruction model for cloud storage based on lifecycle control[J]. Journal of Computer Applications, 2017, 37(5): 1335-1340. DOI: 10.11772/j.issn.1001-9081.2017.05.1335.

基金项目

国家重点研发计划项目(2016YFB0501900)

通信作者

李立新,电子邮箱 czc1573@163.com

作者简介

曹景源 (1991-), 男, 山东郓城人, 硕士研究生, 主要研究方向:信息安全、云计算;
李立新 (1967-), 男, 重庆人, 研究员, 博士, 主要研究方向:网络计算、数据库、信息安全;
李全良 (1967-), 男, 山西运城人, 高级工程师, 主要研究方向:网络信息安全;
丁永善 (1992-), 男, 河南周口人, 硕士研究生, 主要研究方向:信息安全

文章历史

收稿日期:2016-10-08
修回日期:2016-12-06
云存储环境下生命周期可控的数据销毁模型
曹景源1, 李立新1, 李全良2, 丁永善1    
1. 信息工程大学, 郑州 450001;
2. 中国洛阳电子装备试验中心, 河南 洛阳 471003
摘要: 用户数据在云存储环境下缺乏有效的数据销毁机制,其数据安全性在生命周期内面临威胁,销毁时间受控,大大限制了云存储服务的发展。为此,提出一种云存储环境下生命周期可控的数据销毁模型。首先,通过函数变换处理明文生成密文和元数据,避免复杂的密钥管理;其次,为提高数据销毁的可控性,设计一种基于时间可控的自销毁数据对象,使得过期数据的任何非法访问都会触发数据重写程序对自销毁数据对象进行确定性删除,从而实现生命周期可控的数据销毁功能。分析及实验结果表明,该方案在保护数据安全的同时,能够有效地销毁数据,增强数据销毁的灵活性、可控性,且具有较低的性能开销。
关键词: 云存储    数据销毁    生命周期    自销毁数据对象    安全访问    
Data destruction model for cloud storage based on lifecycle control
CAO Jingyuan1, LI Lixin1, LI Quanliang2, DING Yongshan1     
1. Information Engineering University, Zhengzhou Henan 450001, China;
2. Luoyang Electronic Equipment Examination Center of China, Luoyang Henan 471003, China
Abstract: A data destruction model based on lifecycle control under cloud storage environment was proposed to solve the lack of effective data destruction mechanism for user data, and that data security was threatened and destruction time was controlled in the life cycle, which greatly limited the development of cloud services. The plain text was processed by functional transformation to generate the cipher text and metadata and avoid the complex key management. Secondly, in order to improve the controllability of data destruction, a self-destruction data objects based on controllable time was designed, which made any illegal access of expired objects to trigger the assured deletion by rewriting program, and realized the data destruction based on lifecycle control. The analysis and experimental results show that the scheme can enhance the flexibility and controllability of data destruction and reduce the performance cost, while protecting the data safely and effectively.
Key words: cloud storage    data destruction    data lifecycle    self-destruction data object    secure access    
0 引言

云存储因其架构灵活、扩展性强、成本低廉已经成为一种流行的存储服务。随着海量数据呈爆炸式的增长,用户更倾向于选择云存储为其提供外包式的大容量存储空间[1-3]。然而,区别于传统的数据存储方案,云存储模式下的数据隐私问题贯穿整个数据生命周期。由于数据存储不在数据拥有者的控制范围内,导致数据归属与控制权分离,传统数据销毁方案不再适用于云存储环境,数据的整个生命周期包括数据上传、数据存储、数据销毁、数据恢复的安全性都面临着极大挑战[1]。考虑到云存储服务提供商 (Cloud Service Provider,CSP)“诚实却好奇”的特点以及云环境暴露而公开的环境条件,研究者通常会将数据加密后再上传至云服务器[2-3]。即便如此,在高性能计算飞速发展的今天,传统密文形式数据仍有被破解的可能性[3]。一旦敌手通过非法途径从CSP处获得了完整的数据或副本,用户数据的安全性就有可能遭受威胁, 因此,研究云存储环境下的数据销毁机制具有重要意义。

根据近年研究工作,数据销毁相关文献的研究成果大都集中于密钥管理问题,而目前数据销毁的密钥管理方案主要分为两种。第一种是集中式管理方式,文献[5-6]首次提出了建立基于第三方的可信机制,以“时间”或“操作”作为条件,一旦满足条件则由第三方删除数据密钥,达到数据销毁的目的。Tang等[7]在此基础上提出基于策略的数据销毁方案,即每个数据文件都对应一条或N条策略,根据策略生成加密密钥,只有当数据使用者符合所有策略条件才能访问明文。若想销毁数据则可以通过撤销相应策略实现。第二种是分布式管理方式,Vanish系统[8]利用了分布式哈希表 (Distributed Hash Table, DHT) 网络的动态特性,将数据加密密钥通过门限方案分散到DHT网络中,数据使用者只有在预设时间内重构出密钥才能解密密文,否则密钥就会自动销毁。然而,由于DHT网络存在嗅探攻击和跳跃攻击的威胁[1],文献[9]提出了SafeVanish方案进行改进,通过引入公钥加密方案以及扩展密钥长度的方式分别抵抗嗅探攻击和跳跃攻击。文献[10]采用密钥派生树对数据进行细粒度管理,同时只将最小密钥集分发至DHT网络,确保了数据使用者的最小权限; 但该方案采用函数变换抵抗跳跃和嗅探攻击的机制不符合数据机密性依赖于密钥的安全性而非算法的安全性的原则。熊金波等[11]采用将部分密文和密钥分发至DHT网络的方案,增加攻击的代价,却也增大了网络开销。集中式方案依赖于第三方执行密钥删除操作,存在销毁不彻底的顾虑,分布式的方案没有了第三方的顾虑,也可以实现对密钥的自动删除,但是时间却受到了DHT网络本身特性的限制。除以上两种方案外,徐小龙等[12]提出了一种基于移动Agent的数据销毁模型,不依赖第三方,利用代理监控云端数据,并在恶意主体对数据实施攻击时利用数据折叠的方式对数据本身进行主动销毁。文献[13]提出了一种基于密文采样分片的方案,利用采样分片的思想使云端不存储完整密文,即使密钥被泄露也能保证数据的机密性, 而对采样密文销毁也可实现云端数据的确定性删除。Peterson等[14]在数据块层使用全有或全无的转换 (All Or Nothing Transform,AONT) 技术来实施数据销毁, 该方法通过AONT算法转换每一个数据块,覆盖其中任意一部分就会使得整个数据块不可用,达到数据销毁的目的。文献[15]为了控制数据的生命周期,引入对象的概念,在加密文件时对文件进行封装处理,数据使用者只有在生命周期内才能读取明文信息,一旦超过生命周期,将自动删除包括密文在内的整个对象,任何软件都无法恢复出原始数据; 但由于对象包含整个密文信息,在数据共享时,一旦密文过大则会带来大量通信开销。

本文基于对象技术、RSA (Rivest-Shamir-Adleman) 算法和AONT算法提出一种云存储环境下生命周期可控的数据销毁模型。借鉴AONT算法的思想处理明文信息,避免复杂的密钥管理,同时通过封装对象的机制控制数据的生命周期。在生命周期前,除数据拥有者外,任何人都不可访问密文数据。生命周期内,数据对数据使用者可用。一旦生命周期结束,数据将变为不可访问,任何试图访问的动作都会使其自动销毁,且不依赖于任何第三方,从而实现时间受控的数据销毁机制。在数据共享阶段,本文采用了公钥加密机制进行关键数据的传输,保证模型的安全性和可用性。

1 预备知识 1.1 自销毁数据对象

基于云存储环境下的自销毁数据对象 (Cloud Storage Data Self-destruction Object,CSDSO) 是本方案提出的一种数据结构,每个CSDSO对象都是一系列有序字节的集合,包括数据及属性[15]。CSDSO封装有携带生命周期值的封装头和加密数据密文的封装体,能够有效抵抗攻击,保护数据安全。

其结构由封装头OBJHead和封装体OBJBody两部分组成,OBJHead包含有加密数据的对称密钥和生命周期值 (Time To Live,TTL),其中TTL值即数据能够被访问的时间范围,可由数据所有者自主指定。OBJBody包含有一系列系统参数,需要由加密数据的对称密钥进行加密。

1.2 RSA算法

RSA是基于陷门单向函数的加密算法。给定公开已知信息ne,很容易由m计算me(mod n),但相反的方向却不行。然而如果知道n的分解,那么反向计算就会变得容易。n的分解就是陷门信息,这个陷门功能使得RSA既可以用于加密,又可以用于数字签名。

首先, 随机选择两个不同的大整数pq计算n=pq。其次, 使用两个不同的指数,通常称为ed。对ed的要求是ed=1(mod t),其中t:=lcm (p-1, q-1)。公开指数e选取1 < e < (p-1)(q-1) 范围内一个奇数值,det的逆。最后, (ne) 对构成了公钥,这些公钥分发给不同的参与方。数值 (pqtd) 是私钥,由产生RSA密钥的人秘密保存。

1.3 AONT算法

AONT算法[4]是一种通过部分密文无法得出任何明文信息的函数变换加密算法。它借鉴了计数器 (Counter, CTR) 模式思想,具有在不解密完整密文的情况下,无法获得任意部分明文消息的特性。AONT最初由Rivest提出来抵抗暴力搜索密钥攻击,这种攻击需要敌手通过尝试每一个可能的密钥来解密密文。而在使用了AONT算法之后,敌手获得正确密钥的难度将随密文块数目的增加而成倍增加。算法简述如下:

输入数据块m1, m2, …, mi,块标示Bid,全局计数器λ,对称密钥K,MAC密钥Kmac,其中1≤im

1) Bidλ‖1‖0‖128-|λ|-|Bid|-1ctr1,首先通过链接块标示、全局计数器、常量1(序列不够128比特用数字0补齐128位) 来生成计数器ctr1。其中,块标示用数据块所在的物理地址表示,全局计数器λ则采用时间表示。

2) AES-CTRKctr1(m1, m2, …, mi)→c1, c2, …, ci,之后采用AES的CTR计数器模式对明文加密得到密文序列。要确保密钥和计数器组合的唯一性。

3) HMAC-SHA-1Kmac(c1, c2, …, ci)→t,对密文进行HMAC运算得到一个128位的随机认证码t

4) Bidλ‖0‖0‖128-|λ|-|Bid|-1ctr2,计数器ctr2的生成是为了防止加密得到重复的序列。

5) AES-CTRKmacctr2(c1, c2, …, ci)→x1, x2, …, xi,采用AES的CTR计数器模式对明文进行第二轮加密得到密文序列。

6) x1x2⊕…⊕xitx0,将所有的密文与认证码t进行异或得到最终的stub(x0)。stub并不是一个密钥,它是AONT算法产生的一个存根,同时具备了AONT算法最主要的特点。

解密算法与加密算法类似,但是过程相反,本文不再赘述。综上,AONT算法十分适用于数据销毁,因为:

1) 删除AONT方案加密的数据,只需要删除存根 (stub) 即可删除整个密文, 大大减小了数据销毁的开销。一般地,重写4 KB的stub数据块就可以删除至少1 MB的数据[4]

2) AONT算法不需要除加密密钥外的其他密钥,在处理密文数据块方面大大简化了密钥的管理。

1.4 数据重写

数据重写技术[12]是依据美国国防部标准5220.22-M设计的一种军事级别的硬盘数据擦除技术,旨在利用向硬盘介质反复重写数据的方案实现数据永久性删除的功能。

其工作原理为:第一步,完全格式化硬盘,写入由0和1组成的数据流;第二步,反转0和1的数据流并再次写入;第三步,写入随机的数据流。

云存储环境下的数据不受数据拥有者的控制,不能采用数据重写的方案进行数据销毁,该技术主要是针对CSDSO对象进行数据重写。

2 方案构造

本文在AONT算法、RSA加密技术以及数据重写技术的基础上,设计了一种云存储环境下基于时间可控的数据销毁 (Cloud Storage Data Destruction, CSDD) 模型。

2.1 模型架构

CSDD的模型架构如图 1所示。它由数据拥有者 (Data Owner,DO)、数据使用者 (Data User,DU)、CSP以及时间服务器 (Time Server,TS) 组成。DO首先通过AONT算法对明文M进行预处理并加密得到密文数据C。其中密文数据C包括密文序列x1, x2, …, xm以及密文存根stub(x0)、密钥KKmac、块标示Bid等。DO通过CSP提供的云存储上传接口将密文序列x1, x2, …, xm存储到云服务器中。当需要进行数据共享时,DU向DO发送请求,DO获得请求并确认用户授权合法后,从时间服务器 (Time Server, TS) 获取当前时间并计算TTL值,同时利用封装函数将TTL值与数据对应的stub、密钥KKmac、块标示Bid等参数封装成CSDSO对象。最后DO利用DU公钥加密CSDSO并发送至DU。DU在获取封装对象CSDSO后,利用私钥解密并解封装,此时会首先从TS处获取时间并判断CSDSO对象是否过期,并根据判断决定是否进行数据擦除操作。一旦解封后,DU就可以根据参数从CSP处获取DO上传的密文块,并利用AONT算法恢复出明文M

图 1 CSDD模型 Figure 1 Cloud storage data destruction model
2.2 安全假设

本文作出如下安全假设:

1) CSP是“诚实却好奇”的。其向DO和DU提供可靠的服务,但可能会利用掌握的数据信息对用户数据内容进行窥探并泄露给第三方非授权实体,同时也可能在用户不知情的情况下对数据进行备份和转移,在用户发出数据删除的请求时,也可能不会忠实的履行其职责。

2) 任意DU是可信的。DU为DO授权的合法数据访问者。其不会主动泄露密钥、明文等重要信息。当然,对于DU类似手抄、截屏、拍照等恶意泄露信息的行为是无法进行防范的,所以这个假设是合理的。

3) CSDSO数据的生命周期是有限的。一旦指定的生命周期结束,数据就应该变为永久不可访问。

4) 网络是连通的。因为本模型需要访问时间服务器TS获取当前时间,以此达到数据销毁的时间可控,所以必须保证DO与DU和TS是互通的。

2.3 模型算法

图 1所示的模型由以下算法完成:

1) Init (κ)→(p, q, K),初始化算法。系统初始化随机生成两个大素数因子p, q以及一个随机对称密钥K(采用128位AES算法)。其中κ为系统随机安全种子。

2) RSASetup (p, q)→(pubkey, prikey),公私钥对生成算法。根据RSA算法产生一对公私钥对用于安全通信。

3) AONTEnc ({mi}, Bid, λ, K, Kmac)→{x0, xi},AONT加密算法。mi为明文块,Bid为唯一块标示,λ为全局计数器,K为第一步产生的对称密钥,Kmac为哈希运算消息认证码的相关密钥 (此处采用SHA1作为哈希算法)。利用AONT算法生成stub(x0) 和密文块x1, x2, …, xm,其中1≤im,1≤λm

4) DataUpload (x1, x2, …, xm)→{URL},数据上传算法。DO通过CSP提供的上传API接口上传密文块x1, x2, …, xm,同时返回数据存储的位置即URL值。

5) AES-ENCK(x0, Bid, λ, Kmac, URL)→(OBJBody),封装体对称加密算法。DO向DU进行数据共享时,首先使用对称密钥K加密stub(x0)、块标示等参数生成OBJBody对象。

6) RSA-ENCpubkey(TTL, K)→(OBJHead),封装头非对称加密算法。第5) 步后,DO用DU的公钥加密TTL值和对称密钥K生成OBJHead对象。其中TTL值由DO自主指定并以秒为单位。

7) Encapsulate (OBJBody, OBJHead)→CSDSO,对象封装算法。将步骤5)、6) 生成的对象进行封装组合,得到数据销毁对象CSDSO并发送给DU。

8) Decapsulate (CSDSO)→(OBJBody, OBJHead),对象解封装算法。DU接受到CSDSO后,首先进行解封装得到OBJBody和OBJHead对象。

9) RSA-DECprikey(OBJHead)→(TTL, K),封装头非对称解密算法。DU利用OBJHead解封装获得TTL值和对称密钥K

10) AES-DECK(OBJBody)→(x0, Bid, λ, Kmac, URL),封装体对称解密算法。DU利用OBJBody解封装获得stub(x0)、块标示、全局变量、哈希运算消息认证码密钥、密文块在CSP的URL等参数。

11) DataDownload (URL)→{x1, x2, …, xm},数据下载算法。DU根据URL参数从CSP处获得密文块x1, x2, …, xm

12) AONTDec (x0, xi, Bid, λ, K, Kmac)→{mi},其中1≤im。AONT解密算法。最后DU通过解密算法恢复出明文块进而获得整个明文。

3 数据销毁方案CSDD

本章介绍数据销毁方案的具体实现流程和详细算法描述,实现流程主要包括数据上传流程、数据分发处理、数据接收处理以及数据销毁方法。

3.1 数据上传流程

DO通过Init (κ)→(p, q, K) 算法生成用于数据加密的对称密钥K以及用于生成公私钥对的输入参数p, q。RSASetup (p, q)→(pubkey, prikey) 生成公私钥,生成的私钥由DO自己保管。接着,DO通过AONT算法AONTEnc ({mi}, Bid, λ, K, Kmac)→{x0, xi}加密处理将要上传的数据得到m个密文块x1, x2, …, xm和具有all-or-nothing特性的stub (x0)。最后只上传不包含stub的密文部分DataUpload (x1, x2, …, xm)→{URL}并得到一个用URL值表示的位置信息。DO只存储 (x0, Bid, λ, K, Kmac, URL) 一少部分信息,节省存储空间。

3.2 数据分发处理

DU向DO发送数据共享信息的请求后,DO通过封装体对称加密算法AES-ENCK(x0, Bid, λ, Kmac, URL)→(OBJBody) 将相关数据的对应信息加密。之后利用封装头非对称加密算法RSA-ENCpubkey(TTL, K)→(OBJHead) 加密对称密钥,并指定文件的生命周期,其中采用非对称加密的密钥为DU的公钥。

此处的TTL值由DO通过TS时间服务器获得。具体算法描述如下:

1) if (Timeserver.isConnected)    //判断网络是否连接

2)    T=CSDSO.getCurrentTime ();     //获取当前时间

3) CSDSO.getCreatedTime ()=T;     //得到创建对象的时间

4) CSDSO.setTTL ();     //用户指定TTL值,以秒为单位

DO将封装对称、非对称算法得到的对象通过算法Encapsulate (OBJBody, OBJHead)→CSDSO组合为CSDSO对象,同时响应DU的请求将CSDSO通过安全信道发送至DU。

3.3 数据接收处理

DU收到CSDSO对象后,首先利用解封装算法拆分对象:Decapsulate (CSDSO)→(OBJBody, OBJHead),其中OBJHead对象在解封装时会进行TTL值的时间判定,如果解封装的动作是在对象的生命周期内完成则继续处理,否则将进入数据销毁流程。时间判定算法描述如下:

1) if (Timeserver.isConnected)    //判断网络是否连接

2)   T1=getCurrentTime ();     //DU获取当前时间

3)   T2=CSDSO.getCreateTime ();     //获取对象创建时间

4) if ((T1-T2) > CSDSO.getTTL ())

5)   CSDSO.destroy ();

6)   //判断TTL值,如果当前时间与创建时间的差值大于

  //指定的TTL值,则执行销毁动作

7) else if ((T1-T2) < = CSDSO.getTTL ())

8)   Continue;     //否则继续处理

DU通过RSA-DECprikey(OBJHead)→(TTL, K) 解封装OBJHead后获得对称密钥KTTL值,判定后TTL有效后则继续利用AES-DECK(OBJBody)→(x0, Bid, λ, Kmac, URL) 算法解密后获得stub、块标示、全局变量、哈希消息认证码密钥以及请求数据的URL地址等参数信息。

最后,DU通过DataDownload (URL)→{x1, x2,…,xm}下载存放在CSP处的不完整密文块,然后根据AONT算法AONTDec (x0, xi, Bid, λ, K, Kmac)→{mi}得到原始明文。

3.4 数据销毁方法

根据上述步骤,DU在解密OBJHead时会根据TTL值判定CSDSO对象是否仍在生命周期内。根据时间判定算法,若超过指定的生命周期时长,则执行数据销毁动作。数据销毁采用标准5220.22-M数据重写技术,其旨在利用向硬盘介质反复重写数据0或1的方案实现数据永久性删除的功能,且任何数据恢复软件都无法对销毁后的数据进行恢复。算法Destroy描述如下:

1)

//CSDSO.destroy () 算法

2) int len = CSDSO.getLength ();     //获得对象大小

3) for (int i=0;i < len; i++)

4)   CSDSO.rewrite (0);    //向对象重写数据0

5)   for (int i=0;i < len; i++)

6)    CSDSO.rewrite (1);    //向对象重写数据1

7)    for (int i=0;i < len; i++)

8)     CSDSO.rewrite ((int)(random ()%2));

9)     //向对象随机重写数据0或1

10) CSDSO.delete ();     //执行数据销毁

4 综合分析

本文通过安全性分析与性能分析两方面对CSDD方案进行分析。

4.1 安全性分析

根据本文假设,数据拥有者DO、数据使用者DU以及云服务提供商CSP都会遵守各自规则,不会无故泄露密钥或明文信息, 那么敌手则可能通过数据上传、数据存储以及数据分发处理过程获取信息并试图暴力破解。因此本文的安全性分析主要归纳于本方案的数据在其生命周期内的算法安全性。

首先,在云存储环境下,敌手可以使用云的强大计算能力大幅减少暴力破解密文的时间。同时,由于CSP不完全可信,如果将完整密文放置云服务器处,则很有可能遭到敌手攻击,十分不安全。在本方案中,DO上传数据时使用AONT算法对数据进行加密处理,利用其通过部分密文无法恢复任何明文信息的特性以及能够抵抗暴力攻击的特点有效抵御来自不可信第三方的威胁和攻击。

其次,在数据分发处理阶段,本方案采用AES256对称加密算法以及RSA2048非对称加密算法组合的方式传输CSDSO对象,敌手只有将对象OBJHead解封装后才能有机会进一步通过暴力攻击的方式对OBJBody进行分析破解。然而RSA2048算法和AES256算法已被证明是安全的,敌手无法在没有DU私钥的情况下在多项式时间内破解RSA2048算法。即使敌手成功分离了OBJHead和OBJBody并企图直接攻击OBJBody,也无法在可预见的时间内破解AES256算法。所以可认为本方案理论上可以有效抵抗敌手攻击,并能够保证数据的安全,满足安全性需求。

4.2 性能分析

实验环境为Intel Xeon E5-2620 v3 2.4 GHz六核处理器,16 GB内存,操作系统为CentOS6.5,内核版本2.6.32。其中对称加密算法采用AES算法,文件加密密钥长度为256比特;非对称加密算法采用RSA算法,密钥长度为2 048比特;消息摘要算法 (Message Authentication Codes, MAC) 运算采用HMAC-SHA1,MAC密钥的长度为128比特。

4.2.1 AONT加解密性能分析

本文的加解密测试会先将文件分块,再利用AONT算法对分块数据进行加解密处理。测试对文件按128 KB进行分块。图 2显示了不同大小的文件包括1 MB、10 MB、100 MB、1 GB的加密时间关系,图 3显示了对应大小文件的解密恢复出明文时间关系。

图 2 文件加密时间 Figure 2 File encryption time
图 3 文件恢复时间 Figure 3 File recovery time

实验结果显示,文件加解密的时间随文件大小呈线性关系递增,当文件大小不超过1 GB时,文件加解密时间能够保持在100 s内。

4.2.2 数据销毁性能分析

本文采用数据重写CSDSO对象的方法进行数据销毁,已知销毁数据时存在两种情况:

1) 当DU解封装CSDSO时,若判定时间已经超出DO指定的生命周期,执行数据销毁。

2) 当数据过期或失去效力后,DO主动执行数据销毁。

为了测试CSDD方案数据销毁的时间开销,本文对比了文献[12]中的传统物理数据销毁方法Traditional Destruction以及目前研究较热的直接销毁密钥方法Based-key Destruction[15]。文件大小采用1E+04到1E+08 Byte不等,每一个文件都分别用以上三种方法进行数据销毁并分别计算时间开销。对比结果表明,受销毁数据大小影响,密钥销毁方案与CSDD方案要远远好于传统的数据销毁方案,且在同等文件大小的情况下,CSDD方案比密钥销毁方案具有更低的开销。

图 4 时间开销对比 Figure 4 Comparison of time cost
4.3 方案对比

本方案与目前典型方案的特性进行对比,对比如表 1所述。目前研究方案大致可以归纳为集中式和分布式销毁方式,大都存在一定的局限性:

表 1 各个方案的综合比较 Table 1 Comprehensive comparison of various schemes

1) 为了进行细粒度的数据管理,对密钥进行分层设计,比如使用密钥生成树的管理方式,如文献[10]方案,却没有考虑到在云存储环境中,大量用户请求所带来的密钥树生成的开销以及在数据频繁更新的情况下,如何更新密钥树的问题。

2) 加密用户的数据后,将完整密文全部存放于CSP处,丢弃密钥造成密文不可解。而实际上完整或部分密文被敌手获取就仍存在被破解的威胁。

3) 数据的生命周期受限,如以Vanish为代表的文献[8-9]方案,其默认的生命周期由DHT网络本身性质决定,无法自行更改,若想要增长生命周期则需要重新分发密钥,带来额外的计算开销。

考虑到系统的适用性和应用性,本方案相较于其他方案具有一定优势,首先本方案摒弃了冗杂的密钥管理方式;其次由于算法的特性,使敌手即使获取了CSP中的密文或副本也无法进行破解,保证数据的安全性;最后,用户可以自主指定任意数据生命周期,达到数据销毁时间的自由可控。

5 结语

目前,数据销毁技术还在发展初期。针对云存储环境下,数据不在数据拥有者的控制范围内,数据的整个生命周期都会受到极大挑战的弊端,本文结合对象技术、RSA算法、AONT算法以及数据重写技术,设计了一种自销毁数据对象,并在此基础上提出了一种在云存储环境中生命周期可控的数据销毁方案,以保证数据在上传、存储、下载和分发阶段的全生命周期的数据安全,实现生命周期的自主控制;并且,当数据销毁时实现真正意义上的安全销毁,使得数据彻底无法恢复。

经过实验分析表明该方案在加解密和数据销毁方面性能开销较低,在指定时间范围内能够实现数据安全销毁;同时该方案具有有效抵抗针对残留密文的暴力攻击,避免了复杂的密钥管理的优点,具备一定的应用性。下一步工作主要为:1) 基于OpenStack开发云存储文件安全共享系统,实现对数据的生命周期可控的安全销毁; 2) 针对云存储环境中大规模用户对数据进行共享与访问的问题,结合属性加密机制对本方案进行改进。

参考文献
[1] 熊金波, 李凤华, 王彦超, 等. 基于密码学的云数据确定性删除研究进展[J]. 通信学报, 2016, 37(8): 167-184. ( XIONG J B, LI F H, WANG Y C, et al. Research progress on cloud data assured deletion based on cryptography[J]. Journal on Communications, 2016, 37(8): 167-184. )
[2] 冯登国, 张敏, 张妍, 等. 云计算安全研究[J]. 软件学报, 2011, 22(1): 71-83. ( FENG D G, ZHANG M, ZHANG Y, et al. Research on cloud computing security[J]. Journal of Software, 2011, 22(1): 71-83. )
[3] Cloud security alliance[EB/OL].[2016-06-20].http://www.cloudsecurityalliance.org.
[4] RIVEST R L. All-or-nothing encryption and the package transform[C]//Proceedings of the 4th International Workshop on Fast Software Encryption. London:Springer-Verlag, 1998:210-218.
[5] PERLMAN R. File system design with assured delete[C]//Proceedings of the 3rd IEEE International Security in Storage Workshop. Piscataway, NJ:IEEE, 2005:83-88.
[6] PERLMAN R. The ephemerizer:making data disappear[J]. Journal of Information Systems Security, 2005, 1(1): 21-32.
[7] TANG Y, LEE P P C, LUI J C S, et al. Secure overlay cloud storage with access control and assured deletion[J]. IEEE Transactions on Dependable and Secure Computing, 2012, 9(6): 903-916. doi: 10.1109/TDSC.2012.49
[8] GEAMBASU R, KOHNO T, LEVY A A, et al. Vanish:increasing data privacy with self-destructing data[C]//Proceedings of the 18th Conference on USENIX Security Symposium. Berkeley, CA:USENIX Association, 2009:299-316.
[9] ZENG L F, SHI Z, XU S J, et al. SafeVanish:an improved data self-destruction for protecting data privacy[C]//Proceedings of the 2010 IEEE Second International Conference on Cloud Computing Technology and Science. Washington, DC:IEEE Computer Society, 2010:531-528.
[10] 王丽娜, 任正伟, 余荣威, 等. 一种适于云存储的数据确定性删除方法[J]. 电子学报, 2012, 40(2): 266-272. ( WANG L N, REN Z W, YU R W, et al. A data assured deletion approach adapted for cloud storage[J]. Acta Electronica Sinica, 2012, 40(2): 266-272. )
[11] 熊金波, 姚志强, 马津峰, 等. 面向网络内容隐私的基于身份加密的安全自毁方案[J]. 计算机学报, 2014, 37(1): 139-150. ( XIONG J B, YAO Z Q, MA J F, et al. A secure self-destruction scheme with IBE for the internet content privacy[J]. Chinese Journal of Computers, 2014, 37(1): 139-150. )
[12] 徐小龙, 龚培培, 章韵, 等. 一种基于移动Agent的云端 (Cloud-P2P) 数据复合销毁机制[J]. 计算机科学, 2015, 42(10): 138-146. ( XU X L, GONG P P, ZHANG Y, et al. Mobile-Agent-based composite data destruction mechanism for cloud-P2P[J]. Computer Science, 2015, 42(10): 138-146. )
[13] 张坤, 杨超, 马建峰, 等. 基于密文采样分片的云端数据确定性删除方法[J]. 通信学报, 2015, 36(11): 108-117. ( ZHANG K, YANG C, MA J F, et al. Novel cloud data assured deletion approach based on ciphertext sample slice[J]. Journal on Communications, 2015, 36(11): 108-117. )
[14] PETERSON Z J, RANDAL B, JOE H. Secure deletion for a versioning file system[C]//Proceedings of the 4th USENIX Conference on File and Storage Technologies. Berkeley, CA:USENIX Association, 2005:143-154.
[15] 沈薇薇, 熊金波, 黄阳群, 等. 基于生命周期控制的电子文件安全删除方案[J]. 小型微型计算机系统, 2016, 37(5): 1091-1096. ( SHEN W W, XIONG J B, HUANG Y Q, et al. Assured deletion scheme for electronic files based on life cycle control[J]. Journal of Chinese Computer Systems, 2016, 37(5): 1091-1096. )