云存储中的数据安全技术
云计算产业的爆炸式发展彻底改变了人类的生产生活,同时也成为学术界、产业界、政府部门共同关注的热点。本文针对云存储安全的相关问题进行了系统综述,并通过其研究现状构建出比较完善的云存储安全研究问题和实例,从完整性审计、密文数据去重、可靠数据删除以及高效密文检索等4 个方面阐述了云存储安全的研究内容、方法和意义,最后对云存储安全的发展态势进行了总结和展望。
引言
云计算是全球搜索巨头Google 在2007 年提出的全新概念,这一概念提出之后,在IBM、谷歌、亚马逊等IT 巨头的大力推动下,如今云计算已经成为了产业界、学术界和政府关注的焦点。尤其是我国政府对云计算的重视程度和对云计算普及的推广力度更加不可忽视。2016 年,我国政府出台了《“十三五”国家战略性新兴产业发展规划》,里面指出,我国要深入推进“互联网+”计划,促进基于云计算的业务模式和商业模式创新,推进公有云和行业云平台建设。
云计算是一种具有动态延展能力的计算方式,它可以看作是现有的分布式计算、并行处理计算、网格计算等概念的延伸和发展应用,并将其作为一种“基础设施”出现在人们的视野。通俗来讲,云计算是以用户为中心的一种计算服务。这种服务就如同天上的“云”一般,用户的不同需求决定“云”的“规模”、“形状”和“配置”。用户终端设备的计算和存储能力有限,而拥有近似无限资源的云就为用户提供了很多便利。云计算平台能在极短时间内处理非常大数量级的信息,进而把资源(包括计算资源、存储空间及网络带宽等)以服务的形式用互联网提供给需要此类资源的个体或公司,大大减轻了资源受限用户对软件管理及硬件维护的负担,从而彻底改变了传统IT 行业的架构和运行方式。
然而,云计算在提供多种高效弹性的服务的同时,也遇到很多挑战和亟需处理的安全问题。相对于传统的网络应用,在云端进行存储和相关业务的处理会导致用户数据的所有权与管理权分离。一方面,为了利用云平台的计算和存储资源,用户需要将数据存储到云服务器或者计算任务外包给云服务器,这将泄露用户的敏感数据和计算结果。另一方面,云服务器一旦出现问题,大量用户的数据与应用将会无法使用和运行。为了保护用户数据在存储方面的安全,基于加密数据的安全云存储服务备受学术界和产业界的关注。
云存储数据安全
随着云计算的不断发展,云存储服务已被广泛应用于众多领域。国内外已有大量厂商如亚马逊、百度、阿里等提供了云存储服务。云存储,顾名思义,就是将数据存储在云端的一种存储方式。它是一种在线存储的模式,即把数据存放在通常由第三方托管的服务器上。因此,云存储具有高容量、高性能、高可扩展性、地理位置无约束、随需付费等优点。采用云存储服务,用户可以节约存储扩容、系统升级的成本,享受数据共享等优点。
通常情况下,云存储服务以数据的安全存储和管理为核心,但由于云存储的特性使数据脱离了数据拥有者的物理掌控,这导致云存储服务的安全性、可靠性以及可用性都面临着巨大的挑战。国内外学者在云存储数据安全进行了大量研究,主要集中在数据完整性审计、密文数据去重、可靠数据删除以及高效密文检索这4 个方面。
完整性审计
外包数据存储为用户解决了内存不足、硬件维护成本高等问题的同时也带来了新的安全挑战。事实上,用户并不完全清楚自己在云上数据的真实情况。为了保证自己的数据在云上完整且正确地存储,需要定期对云服务器上的数据进行审计,也就是用户能够高效地对云服务器存储数据的完整性和可用性进行审计。而事实上,用户并不会将云数据全部取回进行验证,因为海量的数据取回会消耗大量带宽以及终端的计算资源,所以将数据全部取回不实际。因此,用户通过下载或使用关于原始文件的部分信息来执行外包数据的完整性验证。数据完整性审计是云存储的重要安全技术之一,用于用户(或审计者)验证其存储于云端的数据是否保持完整。
完整性审计主要包含两种审计机制:可证明数据持有(Provable Data Possession,PDP)和可证明数据可恢复(Proof of Retrievability,PoR),其对应的网络模型如图1 所示。这两个方案都是基于审计方(包括数据拥有者)与云服务器通过挑战- 响应协议来验证数据的准确性或可恢复性。区别在于,PDP 在效率方面有巨大优势,在判断云中数据是否损坏上更加快速。而PoR 机制对所存储的数据进行了预先编码处理。因此,PoR 方案不仅能验证数据是否被损坏,并且能在数据受到一定损坏时恢复数据。随着学术研究的发展,PDP 和PoR 这两个方向的研究也在高效性、动态数据支持方面不断完善。通常,考核数据持有性证明方案优劣的指标如表1 所示。
2003 年,远程数据存在验证的概念被首次提出后表明用户可以对文件进行无限次数的完整性验证。在此基础上,基于公钥密码体制的可证明数据拥有模型PDP 和可证明恢复模型PoR被提出,这两种模型分别用来检测存储在半可信服务器中的数据是否完整和检测数据是否可恢复。近年来,学者们对支持动态更新的PDP方案进行了大量研究,提出了很多特殊场景下(如多用户、带有重复数据、支持密文检索等)的数据完整性审计方案。
以PDP 为例,数据完整性审计方案执行过程如图2 所示。首先,用户对文件(明文或者密文)进行预处理和上传,包括数据的分块并计算数据块的校验标签。标签本质上是对数据块进行签名处理后获得的信息,他可以证明文件是否完整。现有两种方法对标签进行计算,一是基于对称密码学的方式,二是将公钥密码学用于计算标签。上传过程中用户将数据块以及对应的校验标签存储在云服务器上并删除本地备份,本地只保留与完整性审计相关的密钥信息。然后,用户再对云端数据进行完整性审计,审计者可以通过挑战—响应协议来完成数据完整性审计。其中,为了降低审计的通信开销,云服务器可以利用标签的同态性质,将与数据块相关的标签聚合成一个同态标签并反馈给审计者。审计者在验证阶段可以利用相关的密码参数验证云服务器上存储数据的完整性。如果在审计验证阶段输入的密码参数不包括数据拥有者的私密信息(如私钥),那么该审计者可以是除数据拥有者之外的任何第三方。基于该性质,我们可以称这种审计方案是公开可审计的。否则,完整性审计只能由数据拥有者完成,那么方案则是私有可审计的。
密文数据去重
在云存储服务带来诸多便利的同时,服务器中大量的冗余数据成为限制云存储发展的另一瓶颈。根据EMC 的调查报告显示,随着云端数据的快速增长,云存储中的冗余数据在备份应用中达到80% 以上,在文件系统中已经达到60% 以上,这些冗余数据消耗着大量的存储资源和管理资源。因此,如何通过删除重复数据从而保证数据存储的高效性成为了亟待解决的问题。为了解决上述问题,数据去重技术应运而生,通过数据去重技术可以消除数据冗余,相同文件只保留一个物理副本,从而有效降低用户端上传数据耗费的带宽及节省服务器端的存储空间。对于云计算平台而言,数据去重不仅可以减少存储时付出的硬件成本,还可以提升存储空间的利用率,提高访问效率。数据去重存储技术目前广泛应用于商业云存储及数据备份服务,例如Dropbox、Mozy 和Memopal 等商业存储中。
然而现有的绝大多数去重方案仅适用于明文数据。为了保护敏感数据的隐私性,用户在上传敏感数据之前通常会使用加密算法对数据加密,由于不同的用户随机选取的密钥不同,因此,即使是相同的明文数据也会被加密成不同的密文,这使得云服务器无法判断两个密文数据是否是由相同的明文数据加密得到的。为了解决传统加密方案与去重方案不兼容的问题,收敛加密技术营运而生,通过将文件的哈希值作为其加密密钥的方案,收敛加密算法使得即使是不同的用户在不需要通信的前提下也能得到同样的密钥,这使得密文去重得以实现。
图3 为基于收敛加密的数据去重模型。用户在上传文件之前,首先对文件F 进行哈希操作,得到加密密钥k,若云服务器中的文件与用户所拥有的文件相同,则得到的密钥k 也相同,然后基于密钥k 对文件F 进行加密,得到密文C,对密文C 进行哈希得到标签T。然后用户将标签T 上传到云服务器,云服务器根据得到的标签T和原来存储的数据标签进行对比,并将结果返回给用户。若用户得到云服务器返回结果是“重复”,则用户需要向云服务器进行数据拥有证明,证明自己拥有此数据;用户若收到结果为“没有重复”,则将密文及相应标签上传到云服务器进行存储。
通常,数据安全去重技术按照去重粒度可分为文件级去重和块级去重,顾名思义,在文件级去重中文件是去重执行的最小单元,服务器根据文件的标签进行去重并保留唯一文件副本。块级去重中,数据块是去重执行的最小单元,而服务器根据块标签进行去重并保留唯一的数据块副本。按照去重框架可分为服务器端去重和客户端去重,顾名思义,服务器端去重指的是在服务器端进行去重操作,用户不参与也不知道数据是否被执行去重;客户端去重是指去重在客户端进行,用户只上传不重复的数据给服务器。
可靠数据删除
由于云存储中用户的数据外包存储在云服务器上,这导致了用户数据的所有权与管理权分离,使得数据不在可控的范围内。对于用户来说,其外包的数据往往可能包含大量的敏感信息,这些敏感信息都可能会泄露用户的隐私。由于云服务器的不完全可信,传统的本地数据删除方法也无法适用于云场景中,云存储中的用户难以确信其数据是否被服务器安全删除。因此,可靠的数据删除服务就显得尤为重要。用户对可靠的数据删除的需求包括两个方面:一方面,用户希望在数据的生命期结束或它向云服务提供商请求删除数据后,这一数据就应该是永远不可访问的;另一方面,为了保证云存储的容灾能力,云服务提供商通常会保存用户的多个副本,但是在执行数据删除时,用户希望云服务提供商删除所有的数据副本。
现有的数据删除技术主要包含两种:安全覆写方法和密码学删除方法。安全覆写方法是一种物理删除数据的方法,它对数据进行删除操作时首先需要对数据进行破坏,然后使用新的数据在原有数据的位置上进行覆写,从而使得用户数据无法恢复,进而实现可靠的数据删除;具体标准与算法要求如表2 所示。
密码学删除方法指的是用户在上传敏感数据文件之前,通常会先对其数据文件进行加密操作,然后再将密文数据上传到云服务器上;用户所有数据文件的密钥按树形结构组织,然后将主密钥保存在物理安全的存储介质中,其他数据和加密的密钥树则被保存在一般存储介质。当数据需要被删除时,将密钥管理者所持有的密钥进行删除,也就是说即使云服务器保留了这一被加密的数据的密文,但是因为无法拥有相应的解密密钥,存储在云服务器上的密文数据无法解密,这样就能保证用户存储在云端数据的安全删除。此外,为了实现对每个数据文件的可操作性,每个数据需要单独选择不同的加密密钥,并在本地保留尽量少的主密钥,其它密钥通过主密钥加密方式存储在服务器中。对重复数据删除方案的考核标准主要体现在表3所示的几个方面。
高效密文检索
许多的敏感信息如电话、个人材料、图像等存储在云端上。因此,为了保护客户的敏感信息,客户在上传数据到云端之前对数据进行加密处理。然而,加密技术破坏了数据原有的状态,使得在极其多的密文文件中搜索指定的文件变得十分困难。传统的明文检索方式不再适用于密文数据,高效的密文数据检索技术是保护云存储数据安全的一个关键技术。
在密文数据检索中,主要包含关键词搜索、多关键词检索、模糊关键词检索等多种检索方式。现有的加密数据检索方案分为4 种类型:
· 利用索引访问类型。用户根据文件数据的关键词建立具有隐私保护性质的索引,其中索引与加密数据一一对应。检索时,只需根据索引查找检索请求,再由索引的信息返回相关文件。
· 利用陷门信息访问类型。最常用的方法是利用文件关键词构造陷门信息,即用户的访问信息,从而可以直接使用文档的关键词检索加密文件,从而获得需要的资源。
· 利用秘密共享方案访问类型。数据拥有者对数据计算多个隐私信息,并将隐私数据分散地存在不同的云中,只要服务器之间不相互勾结,则该方法能够对数据隐私进行保护。
· 利用同态加密的访问类型。存在一些同态加密函数能够实现对密文数据的相关操作直接作用于明文数据上,因此可是现实密文状态下的信息检索。但同态加密在实际使用中计算开销和通信开销较大,不适合实际使用。
云环境下的安全密文检索网络图如图4 所示。首先,数据拥有者根据文件的明文信息提取关键词创建与文件相对应的索引表,然后对文件数据和索引进行加密,并将加密后的文件和密文索引发给云进行存储。当有客户需要检索指定文件时,客户根据需求向数据拥有者获取文件解密密钥以及生成索引陷门的密钥,并通过检索的文件创建检索请求,发给云服务器。云服务器收到客户的检索请求后执行检索操作,并将检索后的结果返回给客户。
根据方案中使用的不同的密码体制,可搜索加密技术分为以下两个技术:对称可搜索加密技术和公钥可搜索加密技术。其中对称可搜索加密技术在使用过程中,数据拥有者和用户之间需要进行密钥协商,因此只有合法用户才能生成检索请求和解密密文。因为对称可搜索技术计算速度快的优势,已经逐步成为了学术研究的焦点。其中早期的研究工作主要集中在单关键词检索,之后大量的方案被提出,如相似性检索, 多关键词检索,模糊关键词等,使得可搜索加密技术应用更加广范。2004 年公钥密码首次被引入可搜索领域,提出第一个基于关键词的公钥可搜索加密方案。对于公钥可搜索加密技术中,用户利用共享者的公钥进行加密,双方不需要进行交互,因此应用场景更为广阔。
结语
云计算是时代的必然产物,而从某种程度上讲,云计算安全是为云计算服务的一种服务。随着云计算的高速发展和快速应用,现有的云计算安全研究已经体系化,专业化,云计算安全已经成为很多IT 从业者关注的主题。用户在云端进行存储、计算和访问数据时不希望泄露自己的隐私信息,用户对自己的数据安全性需求催生了云存储可靠数据删除,完整性审计技术的发展;本文通过对云存储数据安全框架的综述,从完整性审计、安全数据去重和可靠数据删除、高效密文检索这几个方面分析了各领域的研究内容。随着国内外研究的不断深入,我们相信这一领域的发展将会越来越好,为人类科技的高速发展做出更大的贡献。