2. 北京大学软件与微电子学院 北京 大兴区 102600;
3. 北京大学大数据技术研究院 广东 深圳 518055
2. School of Software & Microelectronics, Peking University Daxing Beijing 102600;
3. Institute of Big Data Technology, Peking University Shenzhen Guangdong 518055
随着云存储系统的不断发展,用户的需求也变得越来越多样化,需要云存储服务提供商提供更加个性化的服务。与此同时,无论是对于企业用户还是敏感的消费者,安全支持的缺乏已经成为阻碍云服务推广的主要因素[1]。尤其是在用于存放敏感信息需要特殊安全保护的云存储系统中,数据的安全性、可靠性与可用性成为了用户最关心的特性。由此带来的云存储系统中数据的安全性已经成为业界和学术界研究的关键问题之一。
近年来,云存储数据安全性的研究包括整体数据安全保护和隐私数据、敏感数据的保护两大类[2, 3]。较为常见的两种思路是通过加密数据或系统结构改良增强云存储系统的安全。
由于传统的加密算法已不能很好适应云存储的新特征[4],国内外的学者基于云存储提出了许多新的加密算法。文献[5]提出了可重构的加密过程计算技术。文献[6]提出了一种由DP(data processor)、DV(data verifier)和TG(token generator)构成的加密存储架构。文献[7]提出一套基于RBE(role-based encryption)的云存储访问控制策略。文献[8]将密码学和可信第三方思想相结合,提出了云平台安全加强方案。然而加密算法一定程度上导致云存储系统的性能损失,往往因为代价过大而难以现实。针对单纯使用加密算法带来的不足,国内外学者对云存储系统结构方面也进行了改良。文献[9]提出了全事务安全支持方法。文献[4]提出PORs(proofs of retrievability),实现了无需下载的大文件隐私及完整性检查。文献[10]提出了以实体为中心的隐私保护方法。文献[11]给出了不依赖可信第三方的隐私保护方法,为云存储提供更好的安全服务。
然而,数据泄露还是难以杜绝[12, 13]。本文从数据泄露及其泄露扩散的角度展开研究,建立数据存储优化模型,以降低云存储系统数据泄露威胁和运营成本。
1 数据泄露与传播模型存储在云数据中心或者是分布式系统中的数据都存在一定的安全风险,数据泄露是其中一个重要的方面。造成用户数据泄露的原因很多,可以分为直接泄露和间接泄露两种情况。
数据直接泄露是指数据中心存储数据的节点(称为数据节点)出现故障而导致的数据泄露。记系统中数据节点的集合为N={n0, n1,…, nn},数据块集合为NB,用户集合为U={u0, u1, …, um},用户ui拥有的数据块集合为UBi⊂NB,节点nj上的数据块集合为NBj⊂NB,数据节点j发生泄露的概率为pj。ui的数据直接泄露率为:
${{L}_{D}}({{u}_{i}})=\frac{\sum\limits_{0\le j\le n}{|\text{N}{{\text{B}}_{j}}\bigcap \text{U}{{\text{B}}_{i}}|{{p}_{j}}}}{|\text{U}{{\text{B}}_{i}}|}\ \ \ 0\le i\le m$ | (1) |
数据间接泄露来源于用户数据之间的关联性,即一个用户数据的泄露所导致的其他用户数据的泄露。如在心理咨询系统中,客户在云上存储有自己的咨询档案,心理咨询师存放有自己咨询过的所有客户的档案,心理咨询机构存放其管理下的所有心理咨询师档案。这样,在客户、心理咨询师和咨询管理机构三者(三类用户)间的数据存在数据关联性:客户数据的泄露除影响客户自身外,还会泄露咨询师以及咨询机构的一部分数据;咨询师数据的泄露会造成客户数据和咨询机构数据的部分泄露;咨询机构数据泄露也会造成类似的结果。图 1所示为用户数据关联的例子。
在图 1a中,不同的用户拥有一些相关的数据。这些数据相关表现为:数据块相同或者是数据具有相关的上下文。通过这些相关数据,使用户数据间建立了关联性,如图 1b所示,连接用户之间边上的权值表示关联的强弱,即用户间关联数据数目。
为简化问题并不失一般性,本文仅考虑具有直接关联的用户数据泄露影响,而忽略关联关系的传递性(实际上,这种传递性对用户数据泄露的影响非常小)。记用户i与用户j的关联强度为rij,由用户j的数据泄露而造成用户i泄露的数据块数为rijL(uk)。由数据关联性引起的用户i数据泄漏率为:
${{L}_{R}}({{u}_{i}})=\frac{\sum\limits_{\begin{matrix} 0\le j\le m \\ j\ne i \\ \end{matrix}}{{{r}_{ij}}{{L}_{D}}({{u}_{j}})}}{|\text{U}{{\text{B}}_{i}}|}\ \ \ \ 0\le i\le m$ | (2) |
图 2给出了数据泄露及其传播的示意。数据节点n0的数据泄露以概率p0导致u1、u2、u3的数据直接泄露,而u1以关联强度r12和r14分别导致u2和u4的数据间接泄露。对于关联强度有:rij=rji,0≤i,j≤m。
结合式(1)和式(2),用户i的数据泄露率为:
$L({{u}_{i}})={{L}_{D}}({{u}_{i}})+{{L}_{R}}({{u}_{i}})\ \ 0\le i\le m$ | (3) |
本文从降低数据泄露率和存储系统运营成本的角度讨论增强数据安全的机制,建立系统存储优化模型。
2.1 数据安全承诺降低数据泄露率是用户的要求,降低存储系统运营成本是云存储服务提供商的要求。一般来说,在云存储服务提供商在向用户提供云存储服务前会签订SLA协议,若云存储服务提供商不能提供SLA所规定的服务,用户将获取一定的补偿[14]。
在云存储系统中,用户根据申请的空间容量和安全级别进行付费,付费后用户的空间容量和对应的安全级别即成为承诺[15]。本文主要讨论用户信息泄露问题,用户的安全级别用平均泄露概率进行衡量,不同的安全级别对应着不同的泄露概率上限,并以SLA的形式加以确认。
对于云存储服务提供商而言,为了维持正常运营就需要考虑运营成本。本文仅考虑容量成本和运维成本两个部分。容量成本为购置存储设备的成本,运维成本包括维持存储设备运行的成本和保障数据安全级别的成本。如对泄漏率要求低的数据块需要存储在平均故障率低的设备上(设备成本更高),并且会增加更多的安全管理系统(管理与维护成本更高)。
2.2 存储优化模型云存储服务提供商会针对用户的付费和承诺泄露率进行优化,尽可能使提供服务的运营成本不超过用户付费情况,从而获得利润。如果泄露率高于承诺会导致用户不满,而如果成本高过用户付费,则会导致云存储服务提供商不满,故在优化过程中需要兼顾这两点,最大程度满足用户和云存储服务提供商的需求。
假设数据节点nj上一个数据块的容量费用为cj,运维费用mj。云存储服务提供商为用户ui提供服务的运营成本为:
$\begin{align} & C({{u}_{i}})=\sum\limits_{0\le j\le n}{({{c}_{j}}|\text{N}{{\text{B}}_{j}}\bigcap \text{U}{{\text{B}}_{i}}|}+ \\ & \ \ \ \ \ \ \ \ \ \ {{m}_{j}}f(|\text{N}{{\text{B}}_{j}}\bigcap \text{U}{{\text{B}}_{i}}|)) \\ \end{align}$ | (4) |
式中,$f(x)=\left\{ \begin{array}{*{35}{l}} 1 & \text{if }x>0 \\ 0 & \text{if }x=0 \\ \end{array} \right.$。
假设云存储服务提供商向用户ui(0≤i≤m)承诺的泄露率不超过PL(ui),当L(ui)-PL(ui)>0时,实际的泄漏率大于云存储服务提供商承诺的最高泄漏率,用户将不满意,并且不满意程度随L(ui)-PL(ui)值的增加而增加;相反,当L(ui)-PL(ui)≤0时,用户的安全需求被满足,用户是满意的。由此,将用户ui对云存储服务提供商提供服务的不满意程度定义为:
$\text{US}({{u}_{i}})=\max \left\{ \frac{L({{u}_{i}})-\text{PL}({{u}_{i}})}{\text{PL}({{u}_{i}})},0 \right\}$ | (5) |
假设用户向云存储服务提供商的付费为UP(ui),当C(ui)-UP(ui)>0时,即云存储服务提供商的实际运营成本大于其收益,云存储服务提供商将不满意,并且不满意程度随C(ui)-UP(ui)值的增加而增加;相反,当C(ui)-UP(ui)≤0时,云存储服务提供商由于获得了更多的利润而满意。由此,将云存储服务提供商对用户的不满意程度定义为:
$\text{SU}({{u}_{i}})=\max \left\{ \frac{C({{u}_{i}})-\text{UP}({{u}_{i}})}{\text{UP}(u{}_{i})},0 \right\}$ | (6) |
显然,当用户和云存储服务提供商对对方的不满意程度都较低时,存储系统是运行在较好的状态。因此获得优化模型为:
$\min \left\{ \sum\limits_{0\le i\le m}{\alpha \text{US}({{u}_{i}})+\beta \text{SU}({{u}_{i}})} \right\}$ | (7) |
式中,α、β是两个参数,用于调节两个不满意度的重要性,并且α≥0,β≥0,α+β=1。如果强调用户需求,可设置α、β满足α>β;如果强调云存储服务提供商需求,可设置α、β满足α<β;如果认为用户需求与云存储服务提供商需求同等重要,可设置α=β=0.5。
式(7)的求解是建立在用户与云存储服务提供商的安全承诺协议之上的,亦即用户付出的费用与所获得的服务(安全承诺)相符;云存储服务提供商投入的成本与获得的利润相符。当安全承诺协议确定后,式(7)通过优化用户数据块在数据节点中的分布,降低用户和云存储服务提供商的不满意度。
一般而言,云存储服务提供商提供的安全承诺可以根据数据泄漏率划分为多个等级,每个等级对应一个最高泄漏率。用户则按需购买不同等级的服务。记用户ui购买的安全级别为SL(ui),安全级别k对应的泄漏率上限为LP(k)。
式(7)优化过程中,为避免因数据块过度移动而增加更多的成本,以及避免因数据块移动造成新的数据泄露,每轮优化优先处理所有L(ui)>LP(SL(ui))的用户,以L(ui)≤kLP(SL(ui)),0≤i≤m为停止优化的条件。
3 仿真实验为了验证实际的优化效果,本文采取了模拟的方法,模拟节点泄露和关联泄露的发生,从而观察优化效果。存储系统由9个节点构成,10个用户将数据块放在了系统中。每个节点的故障率不全相同,用户数据块数目也有所差异。
3.1 模拟样本系统提供了3个等级的安全级别:级别1的数据泄漏率不超过0.10%,级别2的数据泄漏率不超过0.05%,级别3的数据泄漏率不超过0.02%。数据节点基本参数如表 1所示。用户购买、使用数据块及购买安全级别如表 2所示。用户数据之间的关联情况如表 3所示,其中仅考虑了数据块相同的情况。
本文对式(7)进行了10轮优化,设式(7)中α=β=0.5,实验结果如表 4所示。图 3a~图 3c分别给出了不满度随优化轮次的变化趋势,图 3d是云存储服务提供商运营成本变化情况。图 4给出了优化前后用户数据泄漏率对比。
从实验结果可以看到,系统的总体不满度从优化前的3.375 1降为0.002 7,用户平均泄漏率从2.3643降为0,云存储服务提供商的成本不满度由1.010 8降为0.002 7。这说明无论是用户泄露率的不满度还是云存储服务提供商成本不满度,在优化后都显著下降,达到了通过调整数据块在各个节点上的分布降低数据泄漏率的目标。
以上的实验是基于α=β=0.5,即认用户需求与运营商的需求时同等重要的。当更强调用户需求时,可以设置α、β的值满足α>β,且越强调用户需求α的值越大。另一方面,当强调云存储服务提供商需求时,可设置α、β的值满足α<β,且越强调提供商需求β值越大。
本文主要考虑了云存储环境下数据泄露及其控制问题。将数据泄露分为数据节点故障引起的直接数据泄露和由用户数据关联性引起的间接数据泄露,建立了数据泄露传播模型。通过分析和建立数据泄露引起的用户不满度和运营成本变化引起的云存储服务提供商不满度模型,将云存储数据分布和数据泄露关联起来,建立了以降低数据泄漏率和运营成本为目标的云存储优化模型。该模型的求解以满足用户安全承诺为约束,兼顾运营成本优化。
最后通过对小型云存储系统的仿真实验,验证了通过数据块存储优化降低数据泄露率的可行性和有效性。说明了本文提出的优化模型具有较显著的优化效果,能达到预期的优化目标,可以为云存储系统提供更好的安全保护。
[1] | POPA R A, LORCH J R, MOLNAR D, et al. Enabling security in cloud storage SLAs with Cloud-Proof[C]//USENIX Annual Technical Conference. Portland, Oregon, USA: USENIX Association, 2011(242): 355-368. |
[2] | ITANI W, A KAYSSI, CHEHAB A. Privacy as a service: Privacy-aware data storage and processing in cloud computing architectures[C]//Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing. New Jersey, USA: IEEE Computer Society, 2009: 711-716. |
[3] | RYAN M D. Cloud computing security: the scientific challenge, and a survey of solutions[J]. Journal of Systems and Software, 2013, 86(9): 2263-2268. |
[4] | JUELS A, KALISKI JR B S. PORs: Proofs of retrievability for large files[C]//14th ACM Conference on Computer and Communications Security. New York, USA: Association for Computing Machinery, 2007: 584-597. |
[5] | YAMAGUCHI T, HASHIYAMA T, OKUMA S. A study on reconfigurable computing system for cryptography[C]//2000 IEEE International Conference on in Systems, Man, and Cybernetics. New Jersey, USA: IEEE Computer Society, 2000: 2965-2968. |
[6] | KAMARA S, LAUTER K, Cryptographic cloud storage[C]//14th Financial Cryptograpy and Data Security International Conference. Berlin, Germany: Springer-Verlag, 2010: 136-149. |
[7] | ZHOU L, VARADHARAJAN V, HITCHENS M. Enforcing role-based access control for secure data storage in the cloud[J]. Computer Journal, 2011, 54(10): 1675-1687. |
[8] | ZISSIS D, LEKKAS D. Addressing cloud computing security issues[J]. Future Generation Computer Systems, 2012, 28(3): 583-592. |
[9] | LEKKAS D, GRITZALIS S, KATSIKAS S. Quality assured trusted third parties for deploying secure internet-based healthcare applications[J]. International Journal of Medical Informatics, 2002, 65(2): 79-96. |
[10] | ANGIN P, BHARGAVA B, RANCHAL R, et al. An entity-centric approach for privacy and identity management in cloud computing[C]//29th IEEE Symposium on Reliable Distributed Systems. New Jersey, USA: IEEE Computer Society, 2010: 177-183. |
[11] | RANCHAL R, BHARGAVA B, OTHMANE L B, et al. Protection of identity information in cloud computing without trusted third party[C]//29th IEEE Symposium on Reliable Distributed Systems. New Jersey, USA: IEEE Computer Society, 2010: 368-372. |
[12] | TAKABI H, JOSHI J B, AHN G. Security and privacy challenges in cloud computing environments[J]. IEEE Security & Privacy, 2010, 8(6): 24-31. |
[13] | WANG C, CHOW S S M, WANG Q, et al. Privacypreserving public auditing for secure cloud storage[J]. IEEE Transactions on Computers, 2013, 62(2): 362-375. |
[14] | JANSEN W, GRANCE T. Guidelines on security and privacy in public cloud computing[J]. NIST Special Publication, 2011(800-144): 7-12. |
[15] | VARADHARAJAN V, TUPAKULA U. Security as a service model for cloud environment[J]. IEEE Transactions on Network & Service Management, 2014, 11(1): 60-75. |