一种密文数据库隐私保护查询方法技术

技术编号:2914305 阅读:363 留言:0更新日期:2012-04-11 18:40
本发明专利技术在不改变数据库管理系统内部运行机制的前提下,利用结构化的附加数据结构实现密文数据库表单查询,它包括含有索引查询结构的密文数据生成方法、以及全密文查询处理过程。数据库服务器首先判断用户持有的一定等级的密钥可检索的信息范围,之后在这个信息范围中进行快速信息检索,从而保护了数据库中信息的隐私性。

【技术实现步骤摘要】

本专利技术涉及数据库以及信息安全技术,尤其涉及一种密文数据库的查询方法。
技术介绍
随着信息技术的不断发展,数据库系统的应用日益普及,利用数据库系统实现数据共享,可以使人们的日常生活和工作更加方便、快捷,但同时也给非正当地获取数据库的数据信息提供了更多的机会,数据库系统中的敏感数据保护问题日趋严重。在诸多针对敏感数据的保护方法中,对数据库中的数据信息进行加密是一种非常有效的方案。但是另一方面,数据库中的数据经过加密后,原来相同的关键字可能变成了不同的密文信息,关键字之间的序关系也被破坏,从而使基于这些关键字进行查询的算法无法正常工作,如何在不对密文数据进行解密的条件下,针对密文数据进行查询是一项富有挑战性的工作。近几年,国内外学者围绕该问题进行了一系列的研究工作,并取得了一些成果,其中主要包括:基于对称密码的隐私保护数据查询方法;基于公钥密码的隐私保护数据查询方法;基于同态加密理论,对有序数据进行保序加密的数据查询方法。隐私保护数据查询方法可应用于涉及政府、企业和个人的敏感数据的信息系统中,实现对不同部门、不同类型和不同涉密级别的分类管理,使不同的用户在查询同一个数据库,甚至是同一张数据表中的信息时,可使用的信息量各不相同。例如,在医院的电子病历管理系统中,通过使用本方案可以使患者的-->电子病历只可由患者本人、该患者的主治医生、该主治医生所在科室的主管医生,以及分管医疗的院长查看,包括数据库管理员在内的其他人均无法查看该患者的病历信息。最理想的情况下,可以实现该患者不同病症的主治医生和该主治医生所在科室的主管医生只能查看其负责诊治的病症对应的病历,该患者的其他病症的病历记录无法查看。参考文献1(Zhiqiang Yang,Sheng Zhong,Rebecca N.Wright:“Privacy-Preserving Queries on Encrypted Data”,In ESORICS,2006)描述以隐私保护查询概念和最小信息暴露的理论为基础,以非可信服务器平台的攻击与信任模型为假设环境,设计的基于对称加密算法的隐私保护数据查询方案。在该方案中,使用随机产生的密钥对明文表中每个元素进行加密处理。加密后对应每一个元素的密文数据都包含两部分,第一部分是使用分组加密算法对元素进行加密得到的结果;第二部分为检查值,是使用相同的加密算法对第一部分进行加密的结果,加密过程中采用的加密密钥是一个函数;该检查值能够使数据库判断其对应的元素是否符合查询的条件,因此在使用中又称该检查值为索引值。在存储的密文数据表中,密文数据的两个部分满足一个与用户输入的查询值相关联的检验等式,当把数据库中的元素导入这个与查询值相关联的检验等式时,通过把密文数据的两部分放入检验等式中就能够检验出该密文单元是否满足查询要求。在本专利技术中,该方案简称为“Y&R方案”。该方案中构造的检验等式的特点是将用户输入的查询值加密后,以密钥的形式带入检验等式中,使存储在数据库中的数据与查询信息有效的关联在一起。当用户使用查询值进行查询时,客户端发送用户查询值加密后的数据给数据库服务器。该方案中,由于检验等式的使用,数据库服务器端进行数据检索过程中使用的数据均为密文数据;同时,服务器端不具备解密数据的能力。但是,参考文献1设计的方案中存在以下不足之处:-->1.运算速度较慢:在建立密文数据表时,针对每一条记录的每一个属性值分别采用两次分组加密算法,其计算的复杂度较大,从而造成密文数据表产生时的速度受到制约;而在进行查询时,如可能获得的查询结果较多时,由于同样的原因,会在查询时产生处理时间较长的问题,从而其方案在效率上有待提高。2.查询方式单一:在建立密文数据表时,并未将序关系以某种方式存储在索引值中,从而使产生的密文数据表并未保持相同属性不同属性值之间的序关系。使得参考文献1中的方案只能处理精确查询一种查询方式。而在实际使用中,查询方式一般为精确查询与模糊查询两种方式。因此参考文献1设计的方案在实际使用中存在比较大的局限性。3.安全性有限:在参考文献1设计的方案中,索引值以及检验等式中使用的密钥值的加密算法均使用分组加密算法。分组加密算法加解密过程使用同一个密钥,分组加密算法的安全性依赖于密钥。这样在一定程度上影响了安全性。
技术实现思路
为了克服上面归纳的技术问题,提出了本专利技术的数据存储结构和查询方案,本专利技术的目的是有效地提高数据表产生和查询过程的运算速度,并基于这种数据结构设计适用于密文数据区间查询的查询方案。本专利技术改进了参考文献1设计的基于分组密码的密文数据库存储与查询方案的显著缺点,设计了一种基于对称密码与安全散列函数的隐私保护数据查询方案,该方案在实现效率上明显优于现有的基于对称密码的隐私保护数据查询方案,并提供区间查询方式,满足不等式查询条件。本专利技术的技术方案是:在加密表T′上存储了由保序列Aj的元素Ti,j生成的二元组T′i,j(T′i,j<1>,T′i,j<2>),其中T′i,j<1>是采用分组加密算法,使用随机产生的-->加密密钥S1处理Ti,j得到的密文值,通过解密过程Ds1(T′i,j<1>)可以得到Ti,j;T′i,j<2>是元素Ti,j的索引值,在进行密文查询过程中,通过验证检验等式Ti,j<2>=H(Ti,j<1>,H(v))是否成立,判断是否返回该检验等式中对应的T′i,j<1>,其中v为用户输入的查询值明文,H为加密运算函数。通过上面对于Y&R方案中未利用的技术特点的分析,本专利技术利用了散列函数计算方法H(*)改进Y&R方案中索引值生成算法,以及查询等式中保持密码隐私性的f运算,并借鉴单项散列函数中MAC的思想,构造了基于安全散列函数SHA—1算法的检验等式,改进的等式在不降低Y&R方案安全性的前提下,提高了数据处理速度,并充分利用了索引值使用时的特点。安全散列函数特点在于:能够对于任意的x,得到H(x)的处理速度快;对于任意给定h,要发现满足H(x)=h的x在计算上是不可行的;能够处理任意长度的输入;以及原始数据与生成的消息摘要一一对应,即使原始数据的变化很小,也可以引起消息摘要的很大变化。这些特点满足检查等式的构造条件,并且满足本专利技术的设计要求。本专利技术中使用的检验等式T′i,j<2>=H(T′i,j<1>,H(v))在应用现有技术中检验等式设计思想的基础上,通过改造等式中使用的函数和数据结构,使原来f(v)计算的密钥值转化为类似于MAC密钥的查询值密钥H(v)。在新构成的检验等式中,通过对用户查询值v进行散列运算,得到用户查询值v的摘要信息,并将该摘要信息H(v)作为查询密钥发送给数据库服务器。数据库服务器通过使用查询密钥和数据库中存储的元素密文值T′i,j<1>,得到与索引值进行比对的查询值。通过判断是否满足检验等式,判断这个元素对应的密文值T′i,j<1>是否符合查询条件。通过新构造的等式进行查询,客户端与数据库服务器之间通信的内容为敏感信息的摘要值,且安全散列函数运算中不包含加-->解密密钥,所有相关信息均作为输入,从而保证了本本文档来自技高网
...

【技术保护点】
一种密文数据库隐私保护查询方法,其特征在于,该方法包括以下步骤: A、向第一查询单元输入明文查询; B、第一查询单元对所述明文查询进行加密处理,将处理后的密文值查询发送给第二查询单元; C、第二查询单元处理所述通过第一查询 单元得到的密文值查询,将加密结果返回给第一查询单元; D、第一查询单元利用预先存储在第一查询单元的第一密钥,对所述加密结果进行解密,得到解密结果; E、第一查询单元将解密结果输出。

【技术特征摘要】
1.一种密文数据库隐私保护查询方法,其特征在于,该方法包括以下步骤:A、向第一查询单元输入明文查询;B、第一查询单元对所述明文查询进行加密处理,将处理后的密文值查询发送给第二查询单元;C、第二查询单元处理所述通过第一查询单元得到的密文值查询,将加密结果返回给第一查询单元;D、第一查询单元利用预先存储在第一查询单元的第一密钥,对所述加密结果进行解密,得到解密结果;E、第一查询单元将解密结果输出。2.根据权利要求1所述的方法,其特征在于:在上述步骤A之前,还存在根据明文数据表生成第一密钥、第二密钥并将所述第一密钥、第二密钥预先存储在第一查询单元中的步骤。3.根据权利要求1所述的方法,其特征在于:在上述步骤C中具体包括以下步骤:...

【专利技术属性】
技术研发人员:刘吉强杨光韩臻
申请(专利权)人:北京交通大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1