随着信息产业的发展,企业和政府机构产生的数据量快速增长,如何管理和分析海量数据是目前医疗、通信、交通及互联网等很多领域面临的问题。传统的数据管理系统对于如此大规模的数据管理已不再有效,即便它们能够管理大规模数据,但所花费的相关软硬件以及维护成本也会让大部分企业望洋兴叹。自从2006年Google公司推出Big Table以来,云计算概念呈现在大众面前。作为云计算基础的云数据库系统是由大量性能普通、价格便宜的计算节点组成的一种无共享大规模并行处理环境,它克服了管理海量数据成本过高的缺点。另外,云数据库系统结合了网络化和虚拟化技术来实现超级计算和存储能力,具有高可靠性、高扩展性、通用性、按需分配等优点。
(一)云计算环境中的隐私问题
云计算中一般有三个角色:数据拥有者、查询用户和云计算平台。数据拥有者将数据提供给云计算平台进行存储,查询用户通过云计算平台提供的查询接口对数据进行查询。三方参与的云计算模型如图8-6所示。云计算中面向查询处理的隐私保护技术主要关注以下两个方面。
图8-6 云计算模型
(1)用户的查询隐私。在云计算环境中,查询用户通过向云计算平台发出查询来获取服务。然而,用户提交的查询有可能暴露用户的个人隐私。用户在享受查询服务的同时,更希望自己的查询隐私能得到保护。用户的查询隐私保护是指通过采用隐私保护技术,使云数据库系统和数据拥有者不能获知用户的查询内容,也不能通过用户的查询推导出关于用户的任何信息。
(2)数据拥有者的数据隐私。在云计算环境中,数据拥有者将自己持有的数据存储到云计算平台上,通过用户有偿地使用云计算提供的服务而获益。因此,数据拥有者的数据一方面不能暴露给云计算平台,另一方面也不能暴露给查询用户,也就是说,查询用户只能得到与查询相关的结果,不能额外获得任何与查询结果无关的数据,否则就损害了数据拥有者的利益。在上述例子中,用户Cindy只能得到与自己背景相近的人的姓名和联系方式,但不能获取他们具体的年龄、教育背景等信息。简单地说,数据拥有者的数据隐私保护是指通过隐私保护技术,防止查询内容以外的数据泄露给查询用户或者云计算平台。(www.daowen.com)
综上所述,对云计算的各个参与方而言,面向隐私保护的查询处理都是迫切需要解决的问题:对查询用户而言,如果在查询处理中隐私保护机制不完善,用户由于担心查询隐私的泄露,将尽量减少使用云计算服务;对数据拥有者来说,若查询处理暴露其拥有的数据的隐私,不仅涉及商业利益的问题,而且还可能面临法律诉讼的风险;对于云数据库系统而言,如果用户隐私得不到保障,其服务的可靠性将会受到质疑。因此,迫切需要一种能在云计算中同时保护查询隐私和数据隐私的新型查询处理技术,以全面保护查询用户、数据拥有者和云数据库系统的隐私,云计算中面向隐私保护的查询处理技术的研究应运而生。
(二)云计算环境中的隐私保护策略
云计算中的隐私问题受到诸多关注,研究者们针对云计算中的数据发布、数据挖掘等隐私问题展开了研究。云计算中面向查询处理的隐私保护技术需要借鉴外包数据库和分布式数据库中的隐私保护技术。在外包数据库中,隐私保护的处理主要是基于加密的方式,同时还存在着对查询结果完整性验证的机制;在分布式系统中,面向隐私保护的查询处理主要是基于安全多方计算(Secure Multi-party Computation,SMC)技术。下面分别介绍这几类技术的研究现状。
(1)基于加密的隐私保护策略。在数据外包的隐私保护处理中,数据拥有者在服务器上的数据是以加密的方式存储的。查询用户的查询也用相同的方式加密,再发送给服务器进行查询处理。不可信的服务提供者为数据拥有者提供数据存储和查询服务,查询用户通常被认为是可信的。外包数据库面向隐私保护的查询处理主要是基于加密方法实现的。在数据外包环境中,用户不但同时拥有数据并产生查询,还可以设计一个加密模式支持在加密数据上的某些查询。但是,在数据拥有者和查询用户不是同一方的应用中,很难甚至不可能找到一种加密模式可以支持在加密数据上的多种查询处理。比如,空间变换在数据外包中是一种常用的加密模式,然而因为这种方法不能保存在原始空间中的精确数据,所以该加密模式不支持一些需要精确距离的查询,比如最近邻查询。即使可以找到一种加密模式支持多种查询处理,该加密模式必须在查询方和服务器方同时部署,一方可以使用加密参数把对方的数据解密。为了防止这个漏洞,需要引入一个可信的第三方产生加密参数,这个加密参数必须分别存储在双方防止篡改的设备中。此外,许多加密模式在有安全攻击情况下是很脆弱的。比如空间变换方法在主成分分析方法下很容易被识破。数据库在外包应用中由于保护隐私的需求,需要服务提供商存储的数据是经过加密以后的数据,这样可以保证企业的机密信息不会泄露。但是数据在经过普通加密方法加密后,可用性大大下降,这样会给服务提供方,以及查询用户带来很多的额外开销。因此,在数据库外包的应用中需要能够有效支持数据操作的加密算法。
(2)基于安全多方计算的隐私保护策略。安全多方计算是在一个分布式网络下,由多个参与方提供输入来计算某个函数的值。在计算过程中,除了参与者的输入以及输出所暗含的信息之外,不会额外泄露参与方的任何信息。目前已有一些基于安全多方计算(SMC)的隐私保护方法。在SMC中最基本的问题是百万富翁问题。理论上讲,百万富翁问题和多方计算问题都可以用电路评估协议解决。在这个协议中,隐私保护函数用一个布尔电路来表示,每个部分在不暴露各自输入的情况下,联合起来对电路的输出进行评估。各个部分之间的通信代价由电路大小、输入域大小以及函数的复杂程度决定。如果数据中的属性是由不同的参与方提供的,数据会被垂直划分。在垂直数据划分上也有一些研究工作。然而,基于SMC的解决方案产生的计算代价和通信代价过高,许多基于SMC的算法都是内存算法,要求数据全部驻留在内存中,因此这种方法不能被直接用于云计算中有几百万条记录的大数据集上。
(3)查询结果的完整性验证。数据库在外包给第三方服务提供商之后,需要提供额外机制保证外包数据库中的数据不会被未经授权的攻击者修改,服务提供商不能任意向数据库中增加元组,或者删除数据库中的元组。用户查询返回的结果应该是未经修改过的数据库中的原始数据,且查询返回的结果是完整的,没有缺失任何有效解。一种基于概率的外包数据库结果完整性验证方法的思想是如果数据拥有者在将数据外包给第三方服务提供商时,在数据中混入了一组特别的监测元组,那么对于外包数据库上的所有查询,这些混在原始数据中的监测元组就会以一定概率包含在查询结果中,并返回给提交查询的用户。因此,用户可以通过监控这些额外插入的元组来监控外包数据库的完整性。如果一个满足查询条件的监控元组没有被返回,那么用户就可以断言其完整性已经被攻击。反之,如果所有满足查询条件的监控元组都完整地返回,则以一定概率断定完整性没有受到攻击。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。