航运信息化对于改善航运管理和保障航运安全具有重要意义。舰船信息数量巨大且重要,需要解决其安全存储问题。例如,在船联网中,船舶上物品监控数据量巨大,达到TB级别[1]。云存储基于其高可扩展性可以满足航运信息的数据存储需求。船舶分属不同单位进行管理,因此,各个单位可以部署私有云实现其内部信息的存储。为防止单位私有云故障导致的数据丢失,可以将私有云上的数据备份到公有云上。各单位的私有云和公有云形成了混合云。
然而,混合云中备份的数据存在大量冗余。研究表明,在备份与归档系统中存储的文件,80%~90%的数据是冗余的;在基于虚拟机的主存储系统中存放的文件,有80%的数据是冗余的[2]。因此用于检测数据副本重复性并将重复副本删除、仅保留一份数据副本的技术,即重复数据删除技术对于节约数据中心存储空间,提升云服务效率与服务质量具有十分重要的意义。研究发现,重复数据删除技术可以节约备份系统83%的存储空间,为云存储节约80%的存储空间[3]。
在混合云中,攻击者可以利用云服务器对用户文件的重复数据删除实现对用户隐私的攻击[4]。大量的用户隐私信息可以用于决策分析[5],因此,如何在云环境下实现用户文件重复数据删除的同时确保用户文件的机密性,是云安全亟待解决的一个重要问题。
本文针对舰船混合云环境下重复数据删除带来的用户数据安全问题,提出了一种基于差分隐私和轻量级加密的舰船云数据多副本安全共享方法,保障对云存储中的重复数据删除行为不会被攻击者作为隐通道加以利用。通过将差分隐私技术和轻量级加密技术相结合,可以以较小的计算资源为代价实现高强度的信道安全防护。这种方法同时能够确保对于同一份用户数据,云服务器上仅有一个数据副本。
1 概述Dwork在2006年针对数据库的隐私泄露问题提出了差分隐私机制[6],通过添加噪声实现隐私信息的保护。噪声的添加可以有多种方式,拉普拉斯机制[7]通过向数据中添加满足拉普拉斯分布的噪声来实现差分隐私保护;文献[8]提出了指数机制,通过设计打分函数实现结果的选择性输出。现有基于差分隐私的数据发布技术中,大多数方法针对的是静态数据,即数据不会随着时间的推移而发生变化。对于静态数据的发布技术,可以分成基于差分隐私的直方图发布方法和基于差分隐私的划分发布方法[9]。Boost1[10],NoiseFirst[11]等方法是通过添加拉普拉斯噪声的方式进行直方图的发布,DiffPart[12],UG[13]等方法是通过添加拉普拉斯噪声的方式进行划分发布。
收敛加密算法[14]是可以很好地解决密文重复数据删除问题的数据加密算法,收敛加密算法的关键点在于数据的加密密钥由原数据通过哈希运算得到,因此,相同文件的密钥相同。Bellare[15],DupLESS[16]等方法均基于收敛加密算法实现重复数据删除。
目前,有很多研究者对重复数据删除的安全防护问题开展研究。Harnik[17],Lee[18]等方法对文件副本数量阈值进行设置,当文件副本超过设定的阈值时进行重复数据删除从而实现隐私保护的目标。文献[4]实现了一种解决混合云存储模式下重复数据删除安全问题的方法,通过向公有云服务器传递满足差分隐私性质的虚拟数据,抵抗在私有云服务器和公有云服务器之间数据传输链路上搭线窃听的侧信道攻击。而“传递虚拟数据和传递真实数据”与“传递数据和不传递数据”相比,攻击者的难点仅仅是需要识别虚拟数据。另外,文献[4]中提到公有云服务器收到虚拟数据时会直接删除,不会有后续操作,也为攻击者提供了相应的判断依据。
2 舰船混合云应用场景 2.1 场景描述如图1所示,舰船混合云应用场景涉及的行为主体包括用户、私有云服务器和公有云服务器。其中用户和私有云服务器之间的传输链路是可信链路,私有云服务器和公有云服务器之间的传输链路是不可信链路。
1)用户:用户使用云服务器提供的存储服务,包括2种服务:一种服务是将需要上传的文件发送给私有云服务器,另一种服务是向私有云服务器请求下载所需要的文件。
2)私有云服务器:在舰船混合云应用场景中,可以认为私有云服务器是可信服务器,但私有云服务器的存储空间较小。当用户将需要上传的文件发送给私有云服务器后,私有云服务器判断公有云服务器上是否存在该文件,如果公有云服务器上不存在该文件,则向公有云服务器上传该文件;如果公有云服务器上存在该文件,则在私有云服务器上执行重复数据删除操作。私有云服务器会存储用户一段时间内已上传的文件。在这段时间内,如果用户要下载这些文件,则可以直接从私有云服务器上获取。
3)公有云服务器:在舰船混合云应用场景中,由于公有云服务器通常与私有云服务器不属于同一机构,私有云服务器和公有云服务器之间的通信一般不基于有安全防护的信道,则可以认为公有云服务器是一个半可信的服务器。可以认为攻击者能够对私有云服务器和公有云服务器之间通信信道进行攻击,也可以获取公有云服务器的工作状态(包括计算资源占用情况、网卡通信情况、内存资源占用情况),公有云服务器提供私有云服务器上传用户文件、下载用户文件的服务。
2.2 威胁模型通过上述论述,采用重复数据删除技术虽然可以控制文件副本数量,但也带来了一定的安全隐患。针对这些安全隐患进行攻击,可以获取用户的隐私信息,其中主要的攻击方式是侧信道攻击。
侧信道攻击通常的方式是给应用场景一个输入,通过应用场景行为主体的变化获取一定的信息。对于2.1节所描述的舰船混合云应用场景,攻击者进行侧信道攻击的方式可以是向私有云服务器上传文件。通过这种方式,可以实现文件识别和获取文件内容等的攻击。
文件识别[4]:攻击者通过上传特定的文件到私有云服务器,根据私有云服务器的行为获取用户隐私信息。例如,用户A(攻击者)如果想确定用户B(被攻击者)是否有文件F(假设前提是其他的用户没有文件F),用户A只要在向私有云服务器上传文件F的同时监听私有云服务器和公有云服务器之间的通信信道即可。如果监听到私有云服务器向公有云服务器上传了该文件,则说明用户B没有文件F;反之说明用户B有文件F。
获取文件内容[4]:当攻击者具有某一特定文件在公有云服务器上这一先验知识时,可以结合使用穷举攻击和侧信道攻击获取文件内容。例如,用户A(攻击者)已经获知用户B(被攻击者)将存储某船舶标识信息的文件存放于公有云服务器上,并知道船舶标识的部分信息,通过穷举攻击上传包含可能船舶标识信息的副本文件,同时监听私有云服务器和公有云服务器之间的通信信道,根据通信信道上的数据信息,可以获知该船舶的标识信息。
3 方案构造对于舰船混合云应用场景,用户与混合云进行交互的协议包括文件上传协议和文件下载协议。文件上传协议基于差分隐私和轻量级数据加密实现用户隐私信息的保护,同时尽可能少的占用计算资源。文件下载则利用文件在一段时间内缓存在私有云服务器中这一特征,减少与公有云服务器之间的通信。协议描述所用到的符号见表1。
基于2.1节所描述的舰船混合云应用场景,文件上传协议步骤如下:
1)用户在本地选择文件F,并将其上传给私有云服务器;
2)私有云服务器根据文件内容的所需保护的程度选择相应的ε;
3)以文件F为输入,基于散列函数Hash1计算得到散列值k,使用k作为密钥将文件F进行加密,得到密文C1,可以用表达式简记为k=Hash1(F),C1=Cipherpriv(F);
4)以文件F和散列值k作为输入,基于散列函数Hash2计算得到散列值key,私有云服务器在散列列表Hpr中查找key值,从而确定文件F是否存在于公有云服务器,计算key的表达式可以简计为key=Hash2(F||k);
5)如果F存在于公有云服务器,则对私有云服务器和公有云服务器共享的文件Fshare截取或重复为等长文件,并添加Δf为key首字节,ε为私有云服务器依据文件内容等级选择的相应值的拉普拉斯噪声。根据3.1.2节描述的方法构造合格的文件Fnoise,并以key作为密钥使用轻量级加密算法Cipherlight进行加密后得到的Cnoise传递给公有云;
6)如果公有云服务器上不存在文件F,则使用key作为密钥使用轻量级加密算法Cipherlight对C1进行解密得到D,根据3.1.2节描述的方法判断D是否符合私有云服务器和公有云服务器共享的文件添加噪声的结果,如果不符合,则将C1传递给公有云服务器。如果符合(这种情况发生的概率非常低),使用k作为密钥对C1进行加密得到C2,重复上述操作,直到得到的结果不符合私有云服务器和公有云服务器共享的文件添加噪声的结果为止,并记录加密次数;
7)公有云服务器收到私有云服务器发送的文件后,采用Cipherlight进行解密,并根据3.1.2节的方法对文件进行判断,如果符合私有云服务器和公有云服务器共享的文件添加噪声的结果,则认为公有云服务器中存在该文件,将该无用信息删除;如果符合,则认为公有云服务器不存在该文件,则将key值和文件保存。
3.1.2 基于差分隐私的共享文件构建方法本小节描述的私有云服务器和公有云服务器共享的文件为一个数据库表,数据库表的内容如表2所示。在文件从私有云服务器传递给公有云服务器之前向该数据库表的每一行添加拉普拉斯噪声。
私有云服务器认为构造文件合格的标准和公有云服务器判断该文件是否满足差分隐私性质的方式包括如下2条:
1)使用私有云服务器发到公有云服务器的文件与公有云服务器的文件相减,对得到的结果进行统计,判断是否满足拉普拉斯分布。
2)假设公有云服务器的数据库表文件有N行则对该文件前N行进行统计,得到结果值R,再对前N-1行进行统计,得到结果R′,如果R和R′相等,则分别对该文件的前N-1行和前N-2行进行统计,直到得到的R和R′不相同为止,记录此时统计的行号,假设为第M-1行和第M行,则对私有云服务器发来的文件的第M-1行和第M行进行统计,判断得到的结果是否满足差分隐私性质,即攻击者无法根据统计结果对第M行的值进行推断。
另外,如果用户上传的文件过小(假设仅为1个字节)、私有云服务器无法构造满足条件的共享随机文件时,则直接将文件存放在私有云服务器上。
3.2 文件下载根据舰船混合云应用场景对私有云服务器的设计,其可存储在一定时间内用户上传的文件。因此,在特定的时间范围内,用户如果需要这些文件可以从私有云服务器上直接下载。对于超出特定时间范围的文件,用户可以通过私有云服务器向公有云服务器发出请求。文件下载的具体步骤如下:
1)用户向私有云服务器发出下载文件F的请求;
2)私有云服务器对用户合法性进行判断,如果发出请求的用户是非法用户,则拒绝该用户的文件查询请求,如果发出请求的用户是合法用户,则执行下一步;
3)私有云服务器查询本地是否存在文件F;
4)如果私有云服务器上存在文件F,则直接将文件F传递给用户;
5)如果私有云服务器上不存在文件F,则私有云服务器基于key向公有云服务器发出文件下载请求;
6)公有云服务器从本地查询文件F的密文,并将文件F的密文返回给私有云服务器;
7)私有云服务器使用文件F在上传时计算得到的k值作为密钥,对公有云服务器返回的文件F的密文根据记录的加密次数进行解密,并将解密得到的文件F传递给用户。
4 方案分析 4.1 安全性分析安全性分析分为文件安全性保护、文件特征值安全性保护和抵抗侧信道攻击分析3个方面。
4.1.1 文件安全性保护在本文方案的安全假设中,用户、私有云服务器以及两者之间的通信信道是可信且安全的,不会泄露已解密的明文。而公有云服务器为半可信的服务器,攻击者通过攻击可能获得密文文件,得到原始明文的方式是对密文文件进行破译,因此本文方案的安全性可以规约为算法安全性。
4.1.2 文件特征值安全性保护文件特征值key基于文件F、密钥k和散列函数hash2计算。其中k值由散列函数hash1计算获得。攻击者想要基于key值获得文件F必须同时知道算法hash1和算法hash2,并通过穷举攻击同时计算文件F和k。另外,算法hash1和算法hash2只在私有云服务器上使用。
相比文献[4]的方法,如果攻击者想要加密文件的密钥k,在获得算法hash2的情况下加密文件的密钥安全性规约为ε10,穷举攻击的难度相对较低。并且,在获得密钥k后,如果攻击者获得了算法hash1就可以通过穷举攻击获得文件F。
4.1.3 抵抗侧信道攻击分析本文方案与文献[4]在抵抗侧信道攻击方面要优于Harnik[17]和Lee[18]方案,对于这2种方案来说,如果攻击者多次上传文件F,当上传文件F的数量达到Harnik[17]和Lee[18]方案为设定的阈值后服务器将会执行重复数据删除操作,攻击者通过服务器的重复数据删除行为可以判断出文件F是否存在于服务器上,同时可以获知文件的内容。
本文方案与文献[4]相比的优势在于:1)由于私有云服务器和公有云服务器之间的信道是不可信信道,攻击者可以进行搭线窃听,因此,攻击者可以根据信道上传递的是文件数据还是无效数据判定文件F是否存在于公有云服务器。而对于本文方案来说,每次传递的“无效数据”均基于不同的拉普拉斯噪声进行了随机扰动,因此“无效数据”均不相同,并使用加密算法进行了加密,因此攻击者无法根据无效数据判定文件F是否存在于公有云服务器。2)对于本文方案来说,公有云服务器不保存私有云服务器传递的无效数据,而对于文献[4]描述的方法,如果公有云服务器能够根据网卡通信情况判断私有云服务器传递数据的有效性,由于公有云服务器是半可信服务器,则攻击者可以利用公有云服务器的判定结果;如果公有云服务器不能判断私有云服务器传递数据的有效性,则需要保存私有云服务器传递的无效数据,这些无效数据会占用公有云服务器大量的存储空间。
4.2 开销分析 4.2.1 计算开销对于本文的方法,当私有云服务器上存在文件F时,首先在文件从私有云服务器传递给公有云服务器之前向该数据库表的每一行添加拉普拉斯噪声,这一操作的时间复杂度是O(n),然后采用轻量级加密算法对Fnoise进行加密,这一操作的时间复杂度与具体的算法设计相关。由于选择的是轻量级算法,因此时间复杂度不高。公有云服务器在收到文件后先使用轻量级算法进行解密,然后判断文件是否有效,判断文件是否有效的时间复杂度也为O(n)。
4.2.2 通信开销本文方法与文献[4]在通信开销方面要优于Harnik[17]和Lee[18]的方法,当服务器设置文件F最大可以上传的数量为n。在服务器执行重复数据删除操作之前上传一个文件F需要通信y次。而对于本文方案与文献[4]所提出的方案,私有云服务器会根据文件的特征值在特征值列表中查询,判断公有云服务器中是否已存在文件F,因此,用户和私有云服务器都不与公有云服务器通信,减小了通信的开销。
本文方法在通信开销方面要优于文献[4]所提出方法。本文方法不对私有云服务器和公有云服务器之间的文件传递方法进行限制,而文献[4]所提出的方法要求将文件按照泊松分布进行切分,增大了通信开销,同时也会增大计算开销。
5 结 语重复数据删除技术可以被攻击者利用以获取用户的隐私信息。本文针对舰船混合云环境下重复数据删除带来的安全隐患,提出一种基于差分隐私和轻量级加密的混合云数据多副本安全共享方法。该方法能够以较少的计算资源为代价抵抗重复数据删除可能导致的侧信道攻击,同时用户文件的关键信息均存放在可信的私有云服务器上。下一步,将针对舰船信息化其它应用场景下的隐私安全问题进行研究。
[1] | 李加彦, 韩敏. 基于云计算的船联网大规模数据存储研究[J]. 舰船科学技术, 2016, 38(1): 121–123. |
[2] | 付印金, 肖侬, 刘芳. 重复数据删除关键技术研究进展[J]. 计算机研究与发展, 2012, 49(1): 12–20. http://or.nsfc.gov.cn/bitstream/00001903-5/88525/1/1000002218831.pdf |
[3] | PAULO J, PEREIRA J. A survey and classification of storage deduplication systems[J]. ACM Computing Surveys(CSUR), 2014, 47(1): 11. |
[4] | 任君, 熊金波, 姚志强. 基于差分隐私模型的云数据副本安全控制方案[J]. 网络与信息安全学报, 2017, 3(5): 38–46. |
[5] | SORIA-COMAS J, DOMINGO-FERRER J. Big data privacy: challenges to privacy principles and models[J]. Data Science and Engineering, 2016, 1(1): 21–28. |
[6] | DWORK C. Differential privacy[C]//Proceedings of the 33rd International Colloquium on Automata, Languages and Programming(ICALP) Venice, Italy, 2006: 1–12. |
[7] | DWORK C, MCSHERRY F, NISSIM K, et al. Calibrating noise to sensitivity in private data analysis[C]//Proceedings of the 3th Theory of Cryptography Conference, New York, USA, 2006: 363–385. |
[8] | MCSHERRY F, TALWAR K. Mechanism design via differentail privacy[C]//Proceedings of the 48th Annual IEEE Symposium on Foundations of Computer Science, Providence, RI, USA, 2007: 94–103. |
[9] | 张啸剑, 孟小峰. 面向数据发布和分析的差分隐私保护[J]. 计算机学报, 2014, 37(4): 927–949. http://www.cqvip.com/QK/90818X/201404/49245624.html |
[10] | HAY M, RASTOGI V, MIKLAU G, et al. Boosting the accuracy of differentially private histograms through consistency[C]//Proceedings of the 36th Conference of Very Large Databases(VLDB). Istanbul, Turkey, 2010: 1021–1032. |
[11] | XU J, ZHANG Z, XIAO X, et al. Differentially private histogram publication[C]//Proceedings of IEEE 28th International Conference on Data Engineering(ICDE). Washington D C, USA, 2012: 32–43. |
[12] | CHEN R, FUNG B C M, DESAI B C, et al. Differentially private transit data publication: A case study on the montreal transportation system[C]//Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(SIGKDD). Beijing, China, 2012: 493–502. |
[13] | QARDAJI W H, YANG W, Li N. Differentially private grids for geospatial data[C]//Proceedings of IEEE 29th International Conference on Data Engineering(ICDE). Brisbane, Australia, 2013: 757–768. |
[14] | DOUCEUR J R, ADRA A, BOLOSKY J, et al. Reclaiming space from duplicate files in a serverless distributed file system[C]//The International Conference on Distributed Computing Systems. 2002: 617–624. |
[15] | BELLARE M, KEELVEEDHI S, RISTENPART T. Message-locked encryption and secure deduplication[C]//Advances in Cryptology-EUROCRYPT. 2013: 296–312. |
[16] | KEELVEEDHI S, BELLARE M, RISTENPART T. DupLESS: server-aided encryption for deduplicated storage[C]//The 22nd USENIX Security Symposium. 2013: 179–194. |
[17] | HARNIK D, PINKAS B, SHULMAN-PELEG A. Side channels in cloud services: deduplication in cloud storage[J]. IEEE Security & Privacy, 2010, 8(6): 40–47. |
[18] | LEE S, CHOI D. Privacy-preserving cross-user sourcebased data deduplication in cloud storage[C]//The International Conference on ICT Convergence, 2012: 329–330. |