密文数据库检索技术综述.docx
- 文档编号:27326183
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:12
- 大小:97.05KB
密文数据库检索技术综述.docx
《密文数据库检索技术综述.docx》由会员分享,可在线阅读,更多相关《密文数据库检索技术综述.docx(12页珍藏版)》请在冰豆网上搜索。
密文数据库检索技术综述
密文数据库检索技术综述
密文数据库检索技术综述
摘要
关键词
1引言
2相关技术
3研究分类
3.1数值型数据
2002年,Hakan等人首次提出了在数据库即服务(Databaseasaservice,DaaS)模型下,针对加密数据执行SQL查询的方法。
其核心思想是:
提出了一种过滤技术(桶划分技术)缩小解密范围,从而快速查询加密数据。
并基于桶划分技术提出了一种对关系数据库进行加密和存储的模型,在此模型上存储数据时,除了对关系表中的记录采用常规加密外,还给每个属性值增加一个桶号,桶号表示明文数据值位于某段区间内。
在该模型中,数据拥有者(即用户)对数据库进行加密后将数据库密文保存在服务提供商处,只有数据拥有者能够解密。
用户提交查询指令后,服务器端无需对密文解密即可进行粗粒度的查询,得到包含查询结果的一个候选结果集合,然后将该候选结果集合返回给用户,用户解密该候选结果集合并对明文进行计算即可得到最终的查询结果。
该方法返回一个比正确结果集合更大一些的集合,其中可能包含一些并不匹配查询条件的密文元组,因此需要再对这个结果集合进行解密和过滤处理,才能得到最终的查询结果。
此外,该方法仅通过值域分区的方式建立数据库值索引,容易造成数据库信息泄漏。
数据库通常采用哈希技术分区的方式,这种方式的分区数量越多,检索性能越好,但同时会造成更多的数据冗余。
当每个分区中的数据记录较多时,检索效率会受到较大影响。
2003年,Damiani等人提出基于索引的密文检索方法。
与桶划分方法不同,该方法将数据进行元组级的加密,因此能够进行元组级的检索。
该方法不按数值的顺序分类,增加了安全性。
其缺点是不能实现范围搜索。
Damiani又使用B-tree编码方式,这种方法可以实现范围检索,但是每次进行检索时需要检索的
端和服务器端的传送过程中,不会受到攻击或发生泄漏等问题,保证了搜索信息、加密数据的安全性。
2005年,Wang等人提出一种基于对偶编码的特征值提取方法,将字符型明文数据拆分为多个字符对偶,根据这些字符对偶提取字符型数据的特征值,存储到一个新的字段中,在数据库密文检索时,根据这个辅助字段将不符合关键词字符特征的数据库记录过滤掉,再对剩余的数据库记录做解密处理,得到明文的解密结果,最后在解密结果中进行明文检索,获得最终检索结果。
2006年,Curtmola等人在Song的基础上给出更严格的安全性定义和更高效的对称密钥可检索加密方法构造,利用加密Hash表存储关键词和密文文件标识的映射关系实现密文数据查询。
2007年,Zhu等人提出一种基于字符特征矩阵的数据库加密策略。
这种加密策略也将数据库的密文检索分为过滤和解密两个阶段,字符特征矩阵记录了每个字符型数据中包含的字符,同时也记录了每个字符与哪些字符相邻,这种加密策略可以检索任意长度的字符关键词,解决了基于对偶编码的数据库加密策略不能检索单个字符的问题,第一阶段的过滤效率较高,但字符特征矩阵中存储了大量特征数据,产生了较多的数据冗余,因此,在这种数据库加密策略中采取A.Tan提出的矩阵压缩方法存储特征索引,降低了索引存储的占用空间,在安全性和密文检索效率间取得了较好的平衡.
2007年,Zhang等人基于数值型数据的数据库分区方法,提出一种字符型数据密文的分区索引。
这种索引通过将字符信息转换为数值型来记录字符间的关系特征,利用索引过滤掉部分不符合检索条件的数据库记录,再对剩余一记录解密,进行二次检索后返回检索结果。
2008年,Zhang等人提出了一种数据库密文索引策略,将字符数据映射为索引值,通过SQL语句翻译器将SQL检索语句转换为对索引的快速匹配,为了保证密文索引的安全性,策略采用了哈希技术和数字扰乱的方法,这样不同记录中的相同字符将会对应不同的索引值,索引值不再具有统计特征,从而避免基于频率统计的数据库攻击。
2009年,Zerr等人发现即使列表元素(倒序包含每个关键词的文档ID)被加密,仍然可以根据发布列表的词频分布来重新确认关键词。
所以他们改变了相关性分数,使每个关键词的词频相等。
在此基础上,提出了在加密数据中进行安全的排序搜索的方法。
这个方案在统计意义上满足安全定义,被称之为R-机密性(r-confidentiality)。
不足之处为:
它需要大量的预处理,而且不能简单地处理动态分数,所以安全级别很低。
3.2.2模糊匹配查询
2009年,Liu等人提出一种基于BloomFilter的数据库索引方法。
BloomFilter能够支持数据库模糊检索,根据数据库索引的匹配可将部分不符合检索条件的数据库记录排除。
2010年,Li等人针对关键词精确匹配的不足,提出云计算环境下基于编辑距离的加密字符串模糊检索方案。
它使用编辑距离来量化字符串的相似度,并为每个字符串附加一个基于通配符的模糊字符串组,用多个精确匹配来实现模糊检索。
其不足为:
该方法需要语义库的支持,且仅仅针对“all-or-nothing”的查询方式,并返回给用户完全无区分性的查询结果。
对于Li等人提出的基于编辑距离d的加密字符串模糊检索方案,他们解决的是d=1的情况,当d>1时,Wang等人提出了方案来扩展它。
当d很大时,他们所用的通用抑制技术就节省了很多空间。
他们使用单词查找树(一种数据结构)来保存序列跟编码,把检索的复杂度从O(N)降到了O
(1)。
这两者的缺点都是返回给用户的查询结果不可区分,并且因为都使用了SSE框架,因此均没有实现查询的不可连接性。
(王伟,单关键词or多关键词)
3.2.3分级检索(RankedSearch)
2010年,Wang等人考虑关键词词频信息,提出基于对称密钥保序加密技术OPSE的单关键词分级密文排序查询方法(RSSE),采取了OPSE方案来提高实际性能,采用此方案后,明文的数值顺序在加密后将被维持原状。
具体来说,在查询过程中,每个文档的相关性顺序(用OPSE加密过的相关性分数)将被告知服务器。
通过这个方式,相关性分数的排序将会像在明文中一样高效。
然而,因为原始的OPSE算法是确定性的加密方案,这仍然会泄漏很多信息。
如果服务器上的数据集中包含很多此类背景信息,例如每个明文关键词的相关性分数的分布,那么就能反向推导出关键词。
为了打破这种确定性,作者提出了一对多保序映射(OPM),它把相同的相关性分数映射到不同的加密数值上。
因此,相同的明文不再是确定的加密成确定的密文。
他们更进一步对不同的列表使用了不同的密钥来加密相关性分数,这使得OPM更加可靠。
RSSE方案正是通过使用OPSE和OPM来实现数据和索引的隐私保护。
该方法的不足之处为:
该方法对相似度计算并未全面考虑,因为需要扫描所有文档而不易进行索引更新,且仅支持关键词的排序查询。
2012年,Wang等人为解决以往密文检索中布尔检索(Booleansearch)的局限性,提出了一种分级检索(Rankedsearch)方法。
该方法按照检索结果的相关性,设置一种分类标准,例如对相关性进行评分,建立安全的可检索的索引,形成一对多的保序映射。
与不分类的返回结果相比,能够提高系统的稳定性。
3.3多关键词检索
3.3.1多关键词密文排序查询
2005年,D.J.Park等人提出多关键字可搜索公钥加密方案(简称:
PECK方案),这个可搜索加密方案是对现有可搜索加密技术的一种改进,符合现实可搜索加密的场景,不过后来被被人证明这种多关键字可搜索加密方案不能抵抗关键字猜想攻击。
2012年,程芳权等提出了云环境下在大规模加密云数据上进行高效且具有隐私保护能力的个性化密文排序查询方法。
其贡献为:
a)提出了针对云环境下多数据拥有者数据外包及选择性数据查询授权特征的多属性多关键词密文排序查询,并定义其系统模型和攻击模型.基于无证书认证思想设计不依赖于可信第三方和安全传输信道的可认证PKES(支持关键词检索的公钥加密),并构建支持系统模型的RQED框架以增强查询隐私保护。
b)基于RQED框架,设计支持多属性数据隐私保护词权重、查询词权重及用被授权可访问数据范围等更客观、合理的密文查询排序函数。
c)考虑到单数据不确定性、数据和授权更新不确定性以及大规模密文数据查询,提出基于层次动态布隆过滤器的RQED索引机制,来提高密文查询执行与密文索引的时空效率。
结果:
RQED机制中动态布隆过滤器索引大大降低了索引空间开销.对于索引私钥,RQED机制中用户只需存储一对公私钥,现有方法则需存储密钥矩阵且随着关键词词典规模增大而带来巨大空间开销,并且当涉及多数据拥有者选择性查询授权时,客户端更是无法承受。
总结所有实验结果可以看出,RQED机制较之现有多关键词密文排序查询方法有明显的时空效率优势.
2012年,丁茂震针对现有部分关键字公钥可搜索加密方案效率不高、安全性较低、必须使用安全信道传输数据等缺陷,提出了一种新的、高效的多关键字可搜索公钥加密方案(NSCF-PECK)。
这种方案基于双线性对构造,并采用公共信道来传输密文。
在整个算法的设计上,仅仅使用了两次双线性对运算,极大的减小了可搜索公钥加密技术的计算开支。
同时在客户端和云服务器之间釆用公共信道来传送加密的数据,减少了建设安全信道的费用。
在上述NSCF-PECK可搜索公钥加密方案的基础上,本文提出了一种云端密文搜索系统的应用方案。
该应用方案利用MapReduce并行计算模型技术设计该应用方案的并行搜索引擎,把一些开源技术和分布式计算思想应用到该应用方案之中,充分利用云计算技术优势提高对海量密文的搜索效率。
该系统采用分层化和模块化的设计思路保证了方案的可维护性、可扩展性和应用的灵活性。
为了进一步满足用户个性化查询需求,Cao等人第一次提出多关键词密文排序查询问题,并基于安全KNN查询技术中索引向量与查询向量间“内积相似度”来实现排序查询并进行隐私保护增强。
其不足为:
该方法并未考虑数据中索引关键词权重及查询关键词权重等因素,从而不能返回满足用户查询请求的准确排序结果;并且该方法需要构建系统枚举索引关键词词典并在用户端存储,这无疑不符合实际应用且造成较大客户端负担。
例如,当词典规模为N时,其用户需要安全传输和存储的密钥矩阵空间开销为O(N2)则随着N增大将带给客户端难以承受的负担。
3.3.2语义关键词检索
在实际的应用场景中,用户的输入不一定是预定义的关键字,而是关键字的同义词,这些同义词无法通过精确或者模糊查找的方法搜索。
2013年,Fu等人首次提出了一种有效的语义查询的解决方案。
通过建立一个高效灵活的可搜索加密机制,它允许基于多关键字分级的搜索和语义搜索。
使用VSM(VectorSpaceModel)建立索引文件。
为了提高查询的效率,使用了树状索引结构,即平衡二叉树。
通过构造搜索树和文件索引树,能够找到相关文件。
该加密模型能够满足两方面的安全需求:
已知密文和已知后台。
分级(rank):
Ininformationretrieval,arankingfunctionisusuallyusedtoevaluaterelevantscoresofmatchingfilestoarequest.对于搜索文件进行评级,搜索最接近用户输入的文件。
2014年,Cao等人提出了一种能够实现可靠语义查询的方法。
根据可能出现的词语,建立一个语义库,记录词语之间的相近关系。
同时利用两种云结构,一种是私有云,另一种是公有云。
查询的过程分为两个阶段。
第一阶段,我们将搜索关键词进行扩展(在私有云上);第二阶段,我们按照扩展后的关键词搜索(在公有云上)。
最终,匹配的文件会按序回传。
2014年,Fu等人提出了在加密云数据中进行语意关键词检索的方法。
其过程为:
数据拥有者向云服务商上传经过控制算法(基于前缀树)生成的“关键词限制集”索引文件和加密后的文件,授权用户发起查询指令后,云服务商利用索引文件在密文数据中进行指定的查询操作,并将查询到的有关加密文件返回给查询者。
其能达到的效果为:
能给返回包含跟查询词语语意相近的词汇的文档。
采用了控制算法消除了在索引机构和在查询中列举所有相近关键词的需求,并且减少了索引的维度。
平衡单词查找树也通过建立索引提高了搜索效率。
3.3.3多关键词连接查询
2004年,Golle等人提出了在加密数据中进行关键词连接查询的协议,使用了“指数模块(modularexponentiation)”(因此比song等人需要更多的计算开销)和随机化搜索功能来确保搜索到的文件中包含的连接关键词。
作者提出了两个方案,第一种方案的通信开销和文件的数量有关,但是这些开销可以在查询发生之前的离线阶段产生。
这种方案的安全性能是基于决策性迪菲-赫尔曼(DDH)假设的。
第二种方案的通信开销取决于关键词段的数量,它的安全性是基于新的硬件假设的。
2007年,Hwang和Lee等人在随机语言机模型中基于决策线性迪菲-赫尔曼(DDLH)假设提出了更简单高效的公钥加密方案,实现了连接词查询。
其核心思想是:
通过使用多接受者公钥加密方法(multi-receiverpublickeyencryption)将所有接受者的公钥对关键字集合进行加密,通过支持连接关键字的公钥加密方法,实现了支持每个接受者只需要使用自己的私钥就能对连接关键字进行搜索,实现了在“单个发送者-多个接受者”场景下支持密文搜索的效果。
他们的方案在服务器和用户之间有高效的通信和存储开销,并且有合理的计算开销。
4密文数据库系统
一般情况下构建安全数据库系统的三种方式:
(1)静止数据加密(EncryptionatRest):
数据加密存储在商用存储系统(如硬盘)中,查询时将密文数据发送给可信域,在可信域中解密、处理或者缓存。
这是主流数据库产品如Oracle和MSSQLServer的使用原则,加密特定的数据(数据表或者分区),认为硬盘不可靠,而系统其他组件可靠(如CPU、内存等)。
基于桶划分的SQL查询(2002SIGMOD)也属于这一类。
尽管这种方式可以保证服务器端数据的私密性,但将密文数据(如完整的数据表)发送给客户终端会带来过高的通信代价。
(2)安全服务器:
通过在服务器端增加特殊的高安全性处理节点,解决
(1)中的不足。
如AWSGovCloud(AmazonWebServices)由商用服务器构成,通过运行特殊的受审查的软件栈、限制性的安全策略和主机隔离(网路连接及物理位置)增强了安全性。
缺点:
物理和逻辑上的隔离限制了应用的类型和客户端的类型;使云碎片化;最终导致构建和维护云设施成本增加、使云计算的一些特性如无缝故障切换、动态可扩展性等复杂化。
其他的安全服务器解决方案采用了IBMsecurecoprocessors(SCPs)或者HardwareSecurityModules(HSMs)等设备,这些设备是和服务器独立的,可作为扩展卡方便地部署到商用服务器内部,形成一个可信计算区域。
缺点是安全协处理器内存及处理能力有限,不实用于运行工业强度的数据库系统。
(3)全同态加密:
直接对密文进行计算而无需解密,可用于传统不可信服务器,密文结果由服务器发送给可信客户端。
但是,目前最先进的全同态加密方法成本过高因此不实用。
目前有一些部分同态加密方法(限制运算操作,如加法同态或者乘法同态;限制特定运算的次数,如最多N次乘法),具有一定的实用性,但不能提供完整的正交安全需求。
参考文献
1)C.Gentry.Computingarbitraryfunctionsofencrypteddata.Commun.ACM,53(3),2010.
2)S.BajajandR.Sion.TrustedDB:
atrustedhardwarebaseddatabasewithprivacyanddataconfidentiality.InSIGMOD,2011.
3)R.A.Popa,C.M.S.Redfield,N.Zeldovich,etal.Cryptdb:
protectingconfidentialitywithencryptedqueryprocessing.InSOSP,pages85–100,2011.
4.1CryptDB
CryptDB,是第一个可实用的、能够对加密数据执行大多数SQL查询的数据库系统。
CryptDB在应用和数据库管理系统之间加入了代理服务器,通过代理服务器截取所有的SQL查询语句,将其转换后再进行密文数据查询。
优点:
可应用于现有的DBMS服务器而无需进行内部更改,并且支持大多数现有的标准SQL数据库管理系统。
缺点:
CryptDB假定所有的查询都经过代理,因此无法应用于现有的云DaaS模型。
在云计算环境下,所有用户只要连接上因特网即可随时随地获取、修改以及存储云中的数据。
4.2TrustedDB
TrustedDB综合了安全服务器和静止数据加密两种方式,提出了一种新的架构:
由IBMSCP和商用服务器构成。
它在SCP中运行轻量级的SQLite数据器,在商用服务器中运行功能更加完善的MySQL数据库。
TrustedDB不实用于在SCP中运行工业级的数据库。
查询处理过程被分配到两个数据库中:
通过SCP中的SQLite执行加密数据的处理,在商用服务器中的MySQL数据库中执行明文数据处理。
TrustedDB充分利用了目前可用的构建模块(安全硬件设备、商用硬件设备、SQLite、MySQL)
参考文献:
(1)MartenvanDijk,CraigGentry,ShaiHalevi,andVinodVaikuntanathan.Fullyhomomorphicencryptionovertheintegers.InHenriGilbert,editor,EUROCRYPT,volume6110ofLectureNotesinComputerScience,pages24–43.Springer,2010.
全同态加密。
不实用。
(RosarioGennaro,CraigGentry,andBryanParno.
Non-interactiveverifiablecomputing:
Outsourcingcomputationtountrustedworkers.InTalRabin,editor,CRYPTO,volume6223ofLectureNotesinComputerScience,pages465–482.Springer,2010.)
(2)LucBouganimandPhilippePucheral.Chip-secureddataaccess:
confidentialdataonuntrustedserver.InProceedingsofthe28thinternationalconferenceonVeryLargeDataBases,pages131–141.VLDBEndowment,2002.
采取智能卡技术快速实现加密数据的查询。
(3)RakeshAgrawal,DmitriAsonov,MuratKantarcioglu,andYapingLi.Sovereignjoins.InLingLiu,AndreasReuter,Kyu-YoungWhang,andJianjunZhang,editors,ICDE,page26.IEEEComputerSociety,2006.
(4)MuratKantarciogluandChrisClifton.Securityissuesiningencrypteddata.InSushilJajodiaandDumindaWijesekera,editors,DBSec,volume3654ofLectureNotesinComputerScience,pages325–337.Springer,2005.
(5)EinarMykletunandGeneTsudik.Incorporatingasecurecoprocessorinthedatabase-as-a-servicemodel.InIWIA’05:
ProceedingsoftheInnovativeArchitectureonFutureGenerationHigh-PerformanceProcessorsandSystems,pages38–44,Washington,DC,USA,2005.IEEEComputerSociety.
4.3Cipherbase
2013年,Arvind等人提出了Cipherbase系统的设计。
Cipherbase是一个成熟的SQL数据库系统,具有很好的性能,并通过存储和处理强加密数据达到很高的安全性。
该系统包含有定制的可信硬件设备(安全协处理器),扩展了微软的SQLServer,结合安全硬件设备和商用服务器,从而能够有效地执行密文数据的查询处理。
Cipherbase系统支持多种加密等级(从不加密到强加密,列粒度),支持不同的端到端安全设置,使所有数据都可选择合适的私密等级。
Cipherbase采用了和TrustedDB相同的策略,即把可信硬件设备和商用服务器结合起来使用,其核心思想是结合可信硬件设备在非同态加密方法之上模拟全同态加密操作。
。
但Cipherbase具有更高级和细分的硬件-软件联合设计:
同时在可信(专用)硬件设备和不可信(商用)硬件设备上执行与密文数据有关的操作。
这尽可能多地利用了商业云服务器的运算力而尽可能少的使用性能相对受限的可信硬件。
另一个优点是:
Cipherbase只扩展了工业级数据库系统(MSSQLServer)这一个数据库去执行所有的查询操作。
这样,Cipherbase能够给所有数据提供全部的数据库查询操作,而TrustedDB只能对未加密的公开数据执行各种SQL查询(richSQLfeatures)。
参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 检索 技术 综述