摘 要: 云存储是近年来工业界和学术界研究的热点,其中的安全问题受到了多方瞩目。将云存储相关的安全技术问题归结为5类(用户需求3类,服务商需求2类),并结合最新学术研究成果进行了逐一阐述。这些分析表明云存储安全技术涉及面广、风险高。相关技术发展到今天,产生了一些很好的成果,但也仍然有很多问题尚未解决,需要进一步深入研究。
关键词: 云存储;安全技术;数据完整性
云计算是近年来发展最迅速的互联网服务模式之一。但是在一段时间里,云计算的概念界定不清,造成了工业界和学术界的概念混乱。为此,UC Berkeley的ARMBRUST M等就云计算的内涵和外延进行了较为深入的探讨[1],随后美国NIST给出了官方的云计算定义[2],即云计算是一种模式,使得普适、便捷、应需地针对可配置的计算资源池(包括网络、服务器、存储、应用及服务)的网络访问可以在最小的管理代价下迅速配给和释放。其中云存储在云计算中占据重要位置,近年来不但作为云计算的支撑技术迅速发展,单独的云存储服务也获得了引入瞩目的成功。
随着云服务的推广,很快业界就发现围绕数据的安全问题是云服务推广的最大障碍[3],用户对于云服务提供商的安全保障能力心怀疑虑,从而阻碍了将更多的数据和业务转移到云平台上。
除了传统的身份认证(如网络钓鱼、密码泄漏等)、底层系统安全(安全传输、弱随机数、侧信道攻击等)、物理安全等安全需求外,云存储用户面临的特殊安全需求主要集中在如下3个问题,这些形成了数据外包(Data Outsourcing)的主要安全需求[3]。
(1)数据完整性与机密性,即云存储服务商是否能够向用户确保其数据和操作不被恶意或非恶意的丢失、破坏、泄漏或非法利用。
(2)数据可用性与远程验证,在发生意外(如硬盘损坏、IDC失火、网络故障等)的时候,用户的数据能够在何种程度上可用;同时用户如何通过技术手段验证,而不只是靠云服务方的商业信用保证。
(3)访问隐私性,用户在访问某些敏感数据的时候,能否防止潜在敌手通过用户的访问模式(非直接数据泄漏)而推测出用户的行为。
云存储服务商面临的安全问题主要有:
(1)服务是否被滥用,攻击者是否可以通过滥用云服务从而获得超出合约的额外资源或者破坏合法用户的利益;
(2)服务效能,如何在保障用户安全属性的条件下,提升自身资源的利用效能。
近年来,这些问题成为学术界操作系统和信息安全领域的研究热点,在顶级会议OSDI、SOSP、CRYPTO、CCS、NDSS、STOC、ICDCS和其他众多知名会议上出现了大量相关论文。本文后续章节将围绕这5个问题展开,阐述近年来云存储安全技术的最新发展。
1 数据完整性和机密性
数据完整性和机密性,即云存储服务商是否能够向用户确保其数据和操作不被恶意或非恶意地丢失、破坏、泄漏或非法利用。由于用户并不能信任云存储的运营者,而云存储服务商也基本不可能消除潜在的内部攻击(Insider Threat),从而用户将敏感数据直接存放在云存储上是非常危险的,类似的攻击甚至在云存储之前就屡次发生。简单的加密则面临着密钥管理的难题,以及无法支持查询、并行修改、细粒度授权等复杂需求。这个领域也是近年来学术研究的热点之一。
1.1 可靠存储协议
非可信存储最普通的非正常行为就是丢弃某次用户对数据的更新,而这种行为单靠简单的数据加密是无法发现的。同时一个好的存储协议还需要支持多用户并发修改。2010年,MAHAJAN P等人提出了Depot/Teapot[4],能够在非可信云存储环境下(如Amazon S3)保证分支汇聚因果一致性(Fork-Join-Causal-Consistency,能够推出最终一致性Eventual Consistency),能够有效抵抗丢弃、篡改等攻击,并支持在其上实现其他的安全保护。同年,FELDMAN A等提出了SPORC[4],可以借助非可信云环境实现多用户间安全可靠的实时交互和协作,非可信的云服务器只能看见加密的数据流。但一般而言,这些可靠存储协议支持的操作类型是受限的,大部分计算都只能发生在客户端。
1.2 同态加密
同态加密是一种特殊的加密体系,由RIVEST R等在1978年提出[5],使得对密文进行代数运算得到的结果,与对明文进行等价的运算再将结果加密一样,而且整个过程中无需对数据进行解密。该技术如果实现,将很好地解决把数据及其操作委托给云服务时的数据机密性问题。
2009年GENTRY C首次提出了“全同态加密”方法[6],即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算,使这项技术取得了重大突破。然而,该加密体系涉及非常复杂的计算,使得计算和存储的代价都非常高,从而还无法实用。研究者们还在进一步研究力图发现更加实用的全同态算法。
1.3 加密检索与加密数据库
由于全同态算法的效率低下,研究人员转而降低目标,研究受限的同态算法在云环境下的应用。一个基本的操作是加密状态下的检索,KAMARA S等提出了相关的高层概念;WANG C等则提出了在加密云端存储上支持排名的搜索机制[8];而KARAME G O等则指出,在这种场景下不合适的加密算法可能会导致信息泄漏[9]。另外一个更通用的研究是针对关系型数据库的同态算法。POPA R等人在2011年提出了CryptDB[10],可以在非可信的云端部署关系型数据库及应用服务器,而且所有SQL运算都直接作用于加密数据,以MySQL为基准额外性能开销低于30%,因此可以有效保护数据的机密性不会因为云端的潜在威胁而遭到破坏。
1.4 确认删除
确认删除,即用户删除后能确保存储上不能恢复该数据[11]。该问题在云存储环境中尤其严重,因为云存储一般将数据备份超过3份以上,不少服务商甚至进行7份复制。因此要将备份一一删除并清洗以确保不可恢复对于用户来说是一件难以确认的事情。TANG Y等人介绍的FADE系统[12],在EPHEMERIZER[11]等技术的基础上,将存储到云上的数据先行加密,并采用支持策略组合的密码机制对密钥加密并独立存储。这样,用户在删除云上的数据时,只需简单地撤销对某个指定策略的授权即可。
2 数据可用性与远程验证
数据可用性,指云端在发生意外时(如硬盘损坏、IDC失火、网络故障等),用户的数据能够在何种程度上可用;远程验证则指用户如何通过技术手段验证,而不只是靠云服务方的商业信用保证。
2.1 硬盘存储可靠性
硬盘是目前绝大多数云存储的介质,其可靠性构成了云存储可靠性的基础。Google公司的PINHEIRO E等人在大量实际数据的统计基础上,对硬盘发生错误的趋势进行了研究[13],发现硬盘的错误和温度及使用频度的关联并不大,但有很强的聚集特性,现有的SMART机制并不能很好地对硬盘错误进行预测。日立公司的TSAI T等在大量使用统计的基础上对硬盘的软错误(Soft Error)进行了分析,同样指出软错误并不能很好地对硬错误(Hard Error)做出预测,只有约1/3的硬错误在软错误之后发生;但对于成功预测的场合,该技术则一般提供了若干小时的响应时间[14]。
2.2 完整性远程验证
2009年,BOWERS K D等提出了支持可提取证据POR(Proofs of Retrievability)的理论框架[15],提出通过将纠错码和采样检查(Spot-checking)结合起来的方法,以提供一种可靠的远程验证目标数据是否被正确存储的方法。BOWERS K D在POR的基础上提出了HAIL系统[16],可以利用POR机制检查一份数据在多个云存储环境上的存储情况,并实现相互间的冗余备份,同时提供了可用性和完整性的保护。而SCHIFFMAN J等人则提出了基于TPM的远程验证[17],利用TPM的远程验证机制来进行云范围的数据完整性验证工作。
2.3 位置确认
云存储服务往往向用户提供透明的存储服务,在降低了服务复杂度的同时,也降低了用户对存储的控制能力。而不同备份的存储位置对于容灾等任务而言异常重要。为此,BENSON K等提出了针对地理位置证据(Proofs of Geographic Replication)的研究[18],并成功地对Amazon云服务上数据进行了定位。
3 访问隐私性
通过加密等手段,可以防止攻击者直接知道在云端存储的数据。但攻击者仍然可以通过侧信道(Side Channel),比如读写模式和后继行为来推测使用者的秘密信息,这将严重地破坏用户的隐私[19]。为此,研究者们把注意力转移到ORAM(Oblivious RAM)上。ORAM通过访问多份数据,从而隐藏真实的访问目标。该技术在1979年被提出,后来用于软件保护,现在发现是保护云存储访问隐私性的最有潜力的方法。但ORAM有着严重的额外性能开销,目前最好的结果是STEFANOV E等在NDSS′12上提出的ORAM算法[20],耗时是直接访问的20~35倍,但已经比之前最好的算法要快63倍以上。可以预见,这个安全隐患在实际环境中仍然将长时间存在,这个领域的研究还将继续。
4 服务滥用与服务效能
服务滥用是指攻击者通过滥用云服务从而获得超出合约的额外资源或者破坏合法用户的利益。目前研究者已经发现多种通过滥用云存储服务的攻击方法。
4.1 数据去重攻击
数据去重(Deduplication)是目前云存储系统普遍采取的技术手段[21],通过将不同用户的相同文件只保存一份副本,从而大大降低实际的存储空间的需求。在2011年,MULAZZANI M等与HALEVI S等人分别独立发现用户只需要知道文件的hash值[22],就可以通过Dropbox数据去重技术中的漏洞宣称拥有该文件,从而可以无限扩张自己在云端的存储空间,破坏与服务商的协约,该方法也造成敏感信息的泄漏。为此,研究者提出了拥有者证据(Proofs of Ownership)等方法对客户端进行验证,以避免这种类型的攻击。
4.2 欺诈资源消费攻击
欺诈资源消费攻击(Fraudulent Resource Consumption)是一种利用云服务收费模式的攻击方法[23]。由于云服务的客户需要对云服务的资源耗费进行付费,因此攻击者可以通过加大特定目标的资源耗费来使得该客户产生大量额外的费用。面向公众的网络服务特别容易遭受这种类型的攻击。这种攻击与DDoS等网络攻击相比非常隐蔽,但同样给合法客户造成了大量损失。IDZIOREK J等人提出了该问题,并对其检测和识别方法进行了研究。
4.3 服务效能
云计算和云存储一般都是能耗和资源密集型的服务,降低能耗和资源需求则能为运营商显著降低成本,同时降低对环境温度的要求,提升存储安全性。LEVERICH J等指出MapReduce等常用的云计算模式在能耗上是低效率的[24],通过调整存储策略,降低活跃节点规模,hadoop能耗会降低9%~50%。HAMILTON J等提出了资源消耗整形技术(Resource Consumption Shaping)[25],指出通过合理的安排和调整应用,能够显著地降低资源消耗从而降低成本。AMUR H等提出了Rabbit存储系统[26],能够实现能耗等比例特性,即所消耗的能源与完成的工作量成正比。然而Rabbit系统通过关闭节点来节能会导致灵活性和通用性的严重降低,为此AMUR H又提出了一个基于硬件的方案[27],即如果硬件能支持io-server的特殊低功耗模式,则不必采用特殊定制的分布式文件系统来实现能耗等比例特性。
云存储是近年来工业界和学术界研究的热点,其中的安全问题受到了多方瞩目。本文将云存储相关的安全技术问题归结为5类(用户需求3类,服务商需求2类),并结合最新学术研究成果进行了逐一阐述。这些分析也表明云存储安全技术涉及面广,风险高。相关技术发展到今天,产生了一些很好的成果,但也仍然有很多问题尚未解决,需要进一步深入研究。
参考文献
[1] ARMBRUST M, STOICA I, ZAHARIA M, et al. A view of cloud computing[C]. Communications of the ACM, 2010,53(4):50.
[2] MELL P, GRANCE T. NIST Special Publication 800-145: The NIST Definition of Cloud Computing[J]. National Institute of Standards and Technology, 2011.
[3] SION R. TUTORIAL: Secure Data Outsourcing[J]. The 13th International Conference on Management of Data (COMAD 2006), 2006.
[4] FELDMAN A J, ZELLER W P, FREEDMAN M J, et al.SPORC: Group collaboration using untrusted cloud resources[C]. Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI′10), 2010.
[5] RIVEST R L, ADLEMAN L, DERTOUZOS M L. On data banks and privacy homomorphisms[J]. Foundations of Secure Computation, 1978:169-180.
[6] GENTRY C. Fully homomorphic encryption using ideal lattices[J]. Proceedings of the 41st annual ACM symposium on Symposium on theory of computing - STOC′09, 2009:169.
[7] KAMARA S, LAUTER K. Cryptographic Cloud Storage[C].Financial cryptography and data security,2010.
[8] WANG C, CAO N, LI J, et al. Secure Ranked Keyword Search over Encrypted Cloud Data[J]. IEEE 30th International Conference on Distributed Computing Systems(ICDCS′10), 2010: 253-262.
[9] KARAME G O, CAPKUN S, MAURER U. Privacy-preserving outsourcing of brute-force key searches[J].
Proceedings of the 3rd ACM workshop on Cloud computing security workshop (CCSW′11), 2011:101.
[10] POPA R A, REDFIELD C M S, ZELDOVICH N, et al. CryptDB: protecting confidentiality with encrypted query processing[J]. Proceedings of the Twenty-Third ACM
Symposium on Operating Systems Principles-SOSP′11, 2011:85.
[11] PERLMAN R. File System Design with Assured Delete[J].Network and Distributed System Security Symposium Proceedings (NDSS′07), 2007.
[12] TANG Y, LEE P P C, LUI J C S, et al. FADE: Secure Overlay Cloud Storage with File Assured Deletion[J].
SECURITY AND PRIVACY IN COMMUNICATION NETWORKS (SecureComm′10), 2010.
[13] PINHEIRO E, WEBER W D, BARROSO L A. Failure Trends in a Large Disk Drive Population[J]. Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST′07), 2007.
[14] TSAI T, THEERA-AMPORNPUNT N, BAGCHI S. A study of soft error consequences in hard disk drives[J].IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2012), 2012:1-8.
[15] BOWERS K D, JUELS A, OPREA A. Proofs of retrievability: theory and implementation[J]. Proceedings of the 2009 ACM workshop on Cloud computing security (CCSW′09), 2009:43.
[16] BOWERS K D, JUELS A, OPREA A. HAIL: A High-Availability and Integrity Layer for Cloud Storage[J].
Proceedings of the 16th ACM conference on Computer and communications security-CCS′09, 2009:187.
[17] SCHIFFMAN J, MOYER T, VIJAYAKUMAR H, et al.Seeding clouds with trust anchors[J]. Proceedings of the
2010 ACM workshop on Cloud computing security workshop (CCSW′10), 2010:43.
[18] BENSON K, DOWSLEY R, SHACHAM H. Do you know where your cloud[J]. Proceedings of the 3rd ACM workshop on Cloud computing security workshop (CCSW′11), 2011:73.
[19] PINKAS B, REINMAN T. Oblivious Ram Revisited[D].CRYPTO 2010, 2010.
[20] STEFANOV E, SHI E, SONG D. Towards Practical Oblivious RAM[J]. Network and Distributed System Security
Symposium (NDSS′12), 2012.
[21] MULAZZANI M, SCHRITTWIESER S, LEITHNER M, et al. Dark Clouds on the Horizon: Using Cloud Storage as Attack Vector and Online Slack Space[J]. 20th USENIX
Security Symposium, 2011.
[22] HALEVI S, HARNIK D, PINKAS B, et al. Proofs of ownership in remote storage systems[J]. Proceedings of the 18th ACM conference on Computer and communications security (CCS′11), 2011: 491.
[23] IDZIOREK J, TANNIAN M, JACOBSON D. Attribution of Fraudulent Resource Consumption in the Cloud[J]. 2012
IEEE Fifth International Conference on Cloud Computing, 2012:99-106.
[24] LEVERICH J, KOZYRAKIS C. On the energy (in)efficiency of Hadoop clusters[J]. ACM SIGOPS Operating
Systems Review, 2010,44(1):61.
[25] HAMILTON J, TREADWELL D. Resource Consumption Shaping[C]. 2008.
[26] AMUR H, CIPAR J, GUPTA V, et al. Robust and flexible power-proportional storage[J]. Proceedings of the 1st ACM symposium on Cloud computing - SoCC′10, 2010:217.
[27] AMUR H, SCHWAN K. Achieving Power-Efficiency in Clusters without Distributed File System Complexity[J].
Workshop on Energy-Efficient Design (WEED′10), 2010.