外包数据库中基于随机噪声的查询完全性的发展策略_第1页
外包数据库中基于随机噪声的查询完全性的发展策略_第2页
外包数据库中基于随机噪声的查询完全性的发展策略_第3页
外包数据库中基于随机噪声的查询完全性的发展策略_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、外包数据库中基于随机噪声的查询完全性的发展策略一些企业或机构为降低总体成本,选择把非核心业务外包给其他机构。随着网络技术的快速发展,完全可以把数据库服务外包给专业的第三方,从而节省了为维护DBMS而用在硬件、软件、场地、专业人员等方面的费用。数据库外包的模型见图1【1】,该模型包括四部分:数据的所有者、客户、可信网关和服务提供商。任意两部分之间的通信都是经过加密的。数据的所有者可以直接也可以通过可信网关把数据发送到服务提供商,客户只能通过可信网关与服务提供商通信。可信网关负责数据加密、数据解密和数据检验等。在数据库外包领域中,有许多问题需要解决,包括数据保密,聚集查询和查询完整性等。数据保密是

2、一个基本问题,因为一个企业的业务数据是其核心财富。除了数据的所有者和合法的客户能够访问到数据外,即使是服务提供商也不可以。由于外包数据的特点,传统的加密加密算法如DES、RSA等都不太适合。外包的数据库要允许客户可以执行标准的查询,如求大于某个数的记录,某列的最大值,某些值的平均值等,必然会用到数据之间的大小关系,而用DES、RSA加密过的数据之间的大小关系已经发生了改变。文献【2】中,提出了一种能够维持数据间的顺序的加密方法。文献【3】【4】中,提出了解决聚集查询的方法。查询是DBMS的主要任务之一,因而保证查询的正确性也非常很重要的。查询正确性包括查询结果的正确性和查询完整性。查询结果的正

3、确性是指查询得到的数据没有被修改过,而且全部来自于数据所有者,不是其他人恶意添加的。查询完整性是指所有满足查询条件的数据都包括在结果集中。在现有允许对加密数据进行查询的基础之上,该文提出了一个解决查询正确性中的查询完整性的方法,该方法可以用来检验是否所有满足查询条件的记录都在结果集中。在已有的研究成果中,如文献【5】【6】【7】,已经提出了一些解决方案,但是,有些需要修改DBMS。1 相关工作在当前解决数据库外包中的查询完整性检验问题上,有两类方法:一类运用一些数据结构,如 MHT 【5】,aggregated signature 【6】, challenge token 【7】, ADG-H

4、 等;另一类运用了概率方法,如文献。在文献【5】中,提出在数据排序的基础上,在服务提供商端建立MHT,用该结构验证查询结果,其需要服务提供商的协助,该方法不适合数据库频繁修改的情况。文献【6】在数据排序的基础上,运用了数字签名链,该方法也不适合数据库频繁修改的情况。文献【7】提出运用令牌,用以检测服务提供商是否查询了所有记录。该方法也需要服务提供商的协助,并且不能保证服务提供商把所有查询得到的记录返回给客户。在文献中,把一些随机生成的伪元组插入到数据库中,与数据所有者原来的数据混合在一起,用同一种加密方案加密,并且记录哪些伪元组插入到数据库中。查询时,伪元组与真正元组一起返回到客户端,客户端利

5、用这些记录的信息判断是否所有满足查询条件的伪元组都返回到客户端。该方法较好地解决了查询完全性问题,试验也表明了该方法的有效性,但是在客户端仍然保留了过多的信息,尤其是在服务提供商端的数据库中有较多字段的时候。2 基于随机噪声的方法在本节中,我们介绍一种简单而有效的概率方法用以进行数据库外包中的查询完全性检验。数据库T在由数据所有者经过预处理和加密后发送到服务提供商。加密算法采用文献【2】中的方法,我们的方法用在预处理过程。在预处理阶段,先根据某种策略选出一些记录T1,然后对T1进行一些微小的修改,得到一些新的不同与T1的T1,最后把T1插入到T,得到一个新的数据库T。经过预处理,数据库T经过加

6、密后,就可以发送到服务提供商端。而在服务提供商端,由于所有的数据都是经过加密的,无法区分T1与T1,它们被视为不同的记录,而它们的关系也不会暴露。在由服务提供商返回给客户的结果集R中,如果有一些记录属于T1,那么必然应该有相同数量的属于T1的记录出现,并且T1与T1中的记录是相对应的。如果是这样,那么就满足查询完全性,否则,如果结果集R中属于T1与T1的记录不是相对应的,查询完全性就遭到了破坏。这样,就实现了查询完全性验证的目的,不论是数据库中的记录还是结果集中的记录被删除,都能检测到客户得到的结果集不是其应该得到的。整个预处理过程可以分为两个步骤:记录的选择和记录的修改。在记录选择过程中,选

7、中了一些记录,为了提高记录选择的秘密性,用到了单向散列函数H,如MD5或SHA。H的作用是将变长字符串转换固定长度的二进制串,如128个比特。一旦选中了一个记录r,接着对r进行微小修改,得到一个新记录r(称为重复记录),然后将r插入T中。在查询时,需要改写查询语句以使重复记录与其对应原始记录一起包含在结果集中,这个过程非常关键。在接下来的预处理和查询语句改写两节中,将详细介绍基于随机噪声的方法。2.1 预处理过程算法 PreProcessing (T, key, k, m) 给出了预处理过程的步骤。参数T代表数据库,key为数据所有者的密码,k,m为两个整数,也由数据所有者拥有。参数key,k

8、,m是用来提高记录选择的秘密性和随机性,k也用来决定要选择多少记录作为重复记录。r.PK表示记录r的关键词。符号⊕为字符串连接符。对数据库T中的每一个记录r,如果表达式 H(r.PK⊕key) mod k 的值等于m,那么r就被选中用以生成一个新记录r,r的每个属性的值都是对r相对应的属性值进行微小的修改得到的。即r的每个属性的值与r相对应的属性值差别很小,至于相差多少,可以由数据所有者决定,也可以根据属性的性质决定。可以为0.01,0.1,1,3等。为描述简单起见,在本文中,我们选择修改值为0.5。然后将r插入数据库中。在服务提供商端,由于所有数据都是加密的,所以r与

9、r的关系不会轻易暴露。PreProcessing (T, key, k, m)S = Foreach tuple r T doIf H(r.PK⊕key) mod k is equal to m thenr = SubtleModification (r)S = S + rEndifEndforEnd为了能够区分开T中的重复记录和非重复记录,我们采用文献的方法,即在数据库中增加一个列ah,对于非重复记录r,ah的值为 (1)对于重复记录,ah的值为 (2)这样,当在客户端需要检验查询完整性时,列ah的值可以用来区分重复记录和非重复记录。2.2 查询语句改写生成与插入重复记录的目的就

10、是为了在查询时,重复记录能够与非重复记录一起返回到客户端。通过检查重复记录与非重复记录的对应关系,就可以判断服务提供商是否返回了所有应该返回的记录。如果一个重复记录应该在但是没有结果集中,客户端就有充分的理由认为查询完全性遭到了破环。而如果将客户的查询语句直接发送到服务提供商而不做任何处理,那么插入的重复记录就没有任何意义,查询完整性检验也得不到保证。为了使重复记录与非重复记录一起返回到客户端,就改写客户的查询语句。查询语句改写工作由可信网关完成,即相关参数需要保留在可信网关。改写规则为:如果原始查询条件为等于,则改写为大于等于和小于;如果原始查询条件为小于,则不必改写;如果查询条件为大于,则

11、改写后仍为大于,但范围要扩大。当然,查询语句的改写该取决于微小修改的程度。具体地,假设修改值为0.5,并且T有一个整数字段 price,给出一个查询语句q:Select * from T where price = E (100),其中E为加密算法。如果将q直接发给服务提供商,那么在服务提供商返回的结果集Tq中,只有符合查询条件的非重复记录,而没有任何的重复记录,这样就不能保证查询完全性,客户端没有任何能力检测服务提供商是否返回了所有符合查询条件的记录。而如果将q改写为q: Select * from T where price = E (100) and price 同样,如果查询语句q为下

12、列形式:q: Select * from T where price E (100) and price E (100) and price 联合查询也需要改写,如联合查询q为下列形式(仍然假设T1与T2都有一个整数列price):q: select * from T1, T2 where T1.price = E (100) and (T2.price E (500) or T2.price = E (100) and T1.price and (T2.price E (500) or T2.price =v1 and a2随机生成100个数据对v1, v2 (v14 结论目前,数据库外包是

13、一个新的研究领域,其应用有利于许多企业的发展。一些企业可以提供专业的数据库服务,充当数据库服务提供商的角色,而另一些企业可以把自己的数据库外包给专业的公司,这也符合社会分工的原则。外包中,安全和服务质量都很重要,而查询完整性就是服务质量的一个重要方面。该文提出的随机噪声验证外包数据库查询完全性问题的方法,不需要服务提供商的任何协助,而且可以有效地解决查询完全性验证问题,并且验证过程并不复杂。参考文献:【1】 Hakan Hacigumus,Sharad Mehrotra,Balakrishna R Iyer.Providing database as a service.Proceedings

14、 of ICDE,IEEE Press,2002:29-40.【2】 Rakesh Agrawal,Jerry Kiernan,Ramakrishnan Srikant,Yirong Xu.Order-preserving encryption for numeric data.Proceedings of SIGMOD,ACM Press,2004:563-574. (下转第7018页)(上接第7011页)【3】 Hakan Hacigumus,Bala lyer,Chen Li,Sharad Mehrotra.Executing SQL over Encrypted Data in the

15、 Database-Service-Provider Model.Proceedings of SIGMOD,ACM Press,2002:216-227.【4】 Tingjian Ge,Stan Zdonik.Answering Aggregation Queries in a Secure System Model. Proceedings of VLDB,IEEE Press,2007:519-530.【5】 Premkumar T Devanbu, ichael Gertz,Charles U Martel,Stuart G.Stubblebine. Authentic third-p

16、arty data publication.Proceedings of DBSec,IFIP Press,2000:101-112.【6】 HweeHwa Pang,Arpit Jain,Krithi Ramamritham,Kian-Lee Tan Verifying completeness of relational query results in data publishing.Proceedings of SIGMOD,ACM Press,2005:407-418.【7】 Radu Sion.Query execution assurance for outsourced databases.Proceedings of VLDB,ACM Press,2005:601-612. 盛刚,温涛,郭权.云计算中偏好Top-k查询结果的验证.吉林大学学报:工学版,201

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论