云环境中高效灵活可验证的多属性范围检索方法及系统技术方案

技术编号:33280091 阅读:60 留言:0更新日期:2022-04-30 23:40
本发明专利技术属于云环境安全技术领域,公开了一种云环境中高效灵活可验证的多属性范围检索方法及系统,数据所有者建立若干个索引树和用于查找索引树的索引查找表;数据所有者生成密钥,并将密钥分享给授权用户;数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;数据授权用户生成门限;云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;数据所有者对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;数据所有者对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。本发明专利技术减少了访问磁盘次数和索引占用空间,提高查询效率,满足动态范围搜索需求。范围搜索需求。范围搜索需求。

【技术实现步骤摘要】
云环境中高效灵活可验证的多属性范围检索方法及系统


[0001]本专利技术属于云环境安全
,尤其涉及一种云环境中高效灵活可验证的多属性范围检索方法及系统。

技术介绍

[0002]目前,用户通过使用“云计算”在付出较低的成本的同时能够享受到了高性能的存储计算服务,而“云计算”的服务提供商,通过对计算资源的统一管理也大大节省了管理成本,提高了计算资源的利用率。但是,出于隐私考虑,数据所有者在外包之前会对敏感数据进行加密,这反过来又会使数据利用成为一个具有挑战性的问题。因此,在加密的云数据上开发高效的隐私保护搜索系统是非常重要的。最常见的搜索方法是使用关键字来检索文件,而不是将所有加密的文件下载到本地进行检索。为了安全地搜索加密数据,数据所有者通常使用从数据文件中提取的关键字和相应的基于索引的关键字匹配算法来构建加密索引结构,并随后将加密数据和该构建的索引结构外包给云。在搜索文件时,云服务器将关键字的陷门与索引信息相结合,然后将相应的文件返回给数据用户。此外,数据所有者可以与大量用户共享他们的数据,这要求云服务器能够通过有效的数据检索服务来满足大量的请求。
[0003]对于范围查询的可搜索加密方案目前主要分为桶方案和保序方案两大类,Hore等人分别在2004年和2012年提出了不同的桶结构加密方案。在桶结构方案中数据的所有者将数据划分为不同大小的范围段,相当于把一大桶的水分装到几个不同的小桶中,当查询时,如果桶的索引标记与查询范围存在重叠,就桶中的所有数据将作为结果返回。这种原理将会带来很多问题,如果桶的范围过大,不仅返回的结果过大浪费很多带宽资源且查询结果中将会存在过多无用信息,使得检索的作用不能够体现出来,如果桶的范围过小,则会严重削弱数据的隐私性,当桶的数量与数据数量相差不大时,通过桶的特征能够很容易估计出数据特征。对于保序方案,Li等人,在2005年首次提出基于保序方案的支持加密数据库范围查询的效率和安全权衡的可搜索加密方案。Boldyreva等人,也在2009年和2011年提出基于保序方案的范围可搜索加密方案。保序方案是采用一种保序函数f(x),当且仅当a<b时f(a)<f(b),数据项d
l


,d
n
的索引为f(d
l
),

,f(d
n
),范围[a,b]的门限是[f(a),f(b)]。很明显,为了隐私顺序保持也很弱,因为它们允许云以统计的方式估计数据项和查询的实际值。在2017年,由Li等人再次提出了一种基于原来保序方案的分级可验证的范围查询方案。新的方案保留了原方案的安全性和高效性,并通过在叶子节点中存储额外信息来获得验证。
[0004]虽然Li等人的方案可以在不解密情况下实现安全而高效的搜索功能,但是其只支持单属性的范围搜索,且存在密文无法更新,索引过大等缺点。
[0005]刘琴等人在2018年提出了“一种基于云环境的多属性范围查询方法

CN201810318428.9”,该专利技术提供了一种基于云环境的多属性范围查询方法,本地服务器将数据集索引构造成索引向量并加密,将查询请求构造成请求向量并加密,云端服务器通过
计算加密后的索引向量和请求向量的内积确定目标数据,从而实现高效的查询操作。虽然该方案用户可以直接对云端服务器中的密文进行多属性的范围查询,但是该方案提出的多属性需要在数据上传服务器之前就定义多个属性,在上传服务器后无法对属性进行修改,且由于算法限制用户的每次查询需要使用所有属性条件查询出同时满足多个属性的密文,相当于只能查询满足多个属性的数据的交集。本专利技术用户可以根据多属性中的任一属性进行搜索,和该专利技术差异较大。
[0006]现有技术方案的查找方式在可用性方面尚有欠缺,在一些场景中无法满足用户需求。例如,用户希望通过文件名进行文件的检索,又希望使用文件创建时间对文件范围检索,还希望使用文件的最后修改时间对文件进行范围检索,此时现有的多属性的范围查询方案不能满足用户需求。再例如,某公司生产需要记录下属工厂生产产品的详细信息,一种产品可能由多个工厂生产,公司员工希望通过产品名字进行检索产品详细信息,又希望通过生产地检索该生产地生产的所有产品详细信息,此时现有方案的索引方式无法满足要求。
[0007]通过上述分析,现有技术存在的问题及缺陷为:
[0008](1)现有基于桶方案的范围查询的可搜索加密方法中,如果桶范围过大,返回的结果过大浪费很多带宽资源且查询结果中会存在过多无用信息,使得检索的作用不能够体现出来;如果桶范围过小,则会严重削弱数据的隐私性;当桶的数量与数据数量相差不大时,通过桶的特征能很容易估计出数据特征。
[0009](2)现有基于保序方案的范围查询的可搜索加密方法中,只支持单属性的范围搜索,且存在密文无法更新,索引过大等缺点。
[0010](3)现有技术方案只能查询满足多个属性的数据的交集,且现有技术方案的查找方式在可用性方面尚有欠缺,在一些场景中无法满足用户需求。
[0011]解决以上问题及缺陷的难度为:密文形式的存储加大了数据检索难度的同时,更使密文以及其属性的更新成为了一个密文检索技术设计的一个挑战。解决以上问题难度在于设计一个支持密文更新的密文检索方案,同时保证检索效率和多属性的灵活检索方式。
[0012]解决以上问题及缺陷的意义为:目前虽然密文检索技术已经很成熟、人民对数据隐私的需求也越来越高,但是实际应用还是较少,其主要原因是目前的研究主要追求安全性以及效率却忽视了现实应用场景,解决以上问题可以使密文搜索技术应用更加贴近实际需求,拓宽密文检索应用场景并且可以降低云服务器磁盘空间占用以及I/O负载。

技术实现思路

[0013]针对现有技术存在的问题,本专利技术提供了一种云环境中高效灵活可验证的多属性范围检索方法及系统,尤其涉及一种新的针对云上海量存储的高效可验证的且支持多属性的范围查询方法及系统。
[0014]本专利技术是这样实现的,一种云环境中高效灵活可验证的多属性范围检索方法,所述云环境中高效灵活可验证的多属性范围检索方法包括以下步骤:
[0015]步骤一,索引生成:数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;前缀编码技术优化了插入或删除索引时索引树叶子结点的移动优化了性能,多级bloom过滤器减小了索引的占用空间,索引查找表
的引入使得该方法实现了多属性检索方式,索引树中的索引和数据分离的方式实现了索引和数据的灵活增删。
[0016]步骤二,密钥生成:数据所有者生成密钥,并将密钥分享给授权用户;密钥生成为实现数据安全的基础,密钥分享使得数据所有者的数据可以分享给数据授权用户使用。
[0017]步骤三,数据加密:数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;加密数据,保证数据安全。
[0018]步骤四,门限生成:数据授权用户生成包含查询标识和查询区间门限;使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述云环境中高效灵活可验证的多属性范围检索方法包括以下步骤:步骤一,索引生成:数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;步骤二,密钥生成:数据所有者生成密钥,并将密钥分享给授权用户;步骤三,数据加密:数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;步骤四,门限生成:数据授权用户生成包含查询标识和查询区间门限;步骤五,密文检索:云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;步骤六,索引查找表的更新:数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;步骤七,索引树的更新:数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。2.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤一中的索引生成包括:针对于数据所有者需要上传至云服务器的各本地数据文件,对数据文件根据数据所有者查询需求建立若干个索引,索引格式为{范围值:文件名};对于每个索引,根据索引范围值从小到大的顺序对文件主索引进行排序,根据各本地数据文件索引的排序,将索引平均分配给根节点下的每个子节点;根子节点再平均分配给子节点直到每条索引都存储在叶子节点中,根据多路平衡树对各个叶节点进行前缀编码,将前缀码分级存入多路平衡树的路径上并同时存入前编码文件;将前缀码按顺序存入父节点中;由数据所有者为每个索引自定义ind_tag,将格式为{ind_tag:索引树地址}的索引查找表存入线性表。3.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤二中的密钥生成包括:数据所有者需要生成四部分密钥,用于加密索引查找表的安全哈希函数的随机密钥;用于加密索引数据的SM2算法公私钥对;用于加密布隆过滤器的安全哈希函数的随机密钥;用于加密文件的SM4算法密钥;索引查找表密钥生成:数据所有者选取1个伪随机哈希函数的种子使用伪随机函数生成1个伪随机数作为安全哈希函数密钥,密钥为key
ind
,密钥分享给数据授权用户;SM2算法公私钥对生成:由数据所有者选取一个有效的F
q
(q=p且p为大于3的素数,或q=2
m
)上椭圆曲线系统参数的集合;用随机数发生器产生整数d∈[1,n

2];G为基点,计算点P=(x
P
,y
P
)=[d]G;密钥对是(d,P),其中d为私钥,P为公钥;将私钥分享给数据授权用户;安全哈希函数的密钥生成:数据所有者选取4个伪随机哈希函数的种子使用伪随机函数生成4个伪随机数作为安全哈希函数密钥,密钥为key
b
={h1,h2,h3,h4};将密钥key
b
分享给数据授权用户;文件密钥生成:文件密钥在上传文件时由数据所有者使用随机数生成器生成16字节的随机数fk
i
作为文件密钥,密钥通过SM2加密算法使用公钥P加密后存储在文件头,不需要与
数据授权用户分享。4.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤三中的数据加密包括:针对于索引查找表加密:所述索引查找表的格式为{ind_tag:索引地址},假设共有n个范围查询索引,n种范围查询属性;使用HMAC对n个ind_tag分别进行加密,得到n个HMAC(key
ind
,ind_tag
i
),将密文存入原线性表中;针对于PBtree中各节点存储的前缀进行加密,采用Bloom过滤器实现;设每个节点表示为node,对于每个节点需要加密的前缀码p
i
∈P
node
.P(r),使用四次安全哈希函数HMAC(key,p
i
)其中key
b
={h1,h2,h3,h4};每个节点node生成一个随机密钥node.K
r
,计算HMAC(node.K
r
,HMAC(key,p
i
)),最后对每个节点的每个p
i
和key设置Bloom过滤器:node.B[HMAC(node.K
r
,HMAC(key,p
i
))mod M]=1;其中,M为Bloom过滤器的大小(bit);针对于各索引{范围值:文件名}加密:将各本地数据文件的对应的每条索引使用SM2加密算法进行加密,将加密结果{SM2.Enc(ind),Hash(filename)}存放在原来的各个叶节点中;针对于文件加密:使用伪...

【专利技术属性】
技术研发人员:赵兴文卢嘉威李晖张芙蓉
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1