CN114416720B - 云环境中高效灵活可验证的多属性范围检索方法及系统 - Google Patents
云环境中高效灵活可验证的多属性范围检索方法及系统 Download PDFInfo
- Publication number
- CN114416720B CN114416720B CN202111494270.9A CN202111494270A CN114416720B CN 114416720 B CN114416720 B CN 114416720B CN 202111494270 A CN202111494270 A CN 202111494270A CN 114416720 B CN114416720 B CN 114416720B
- Authority
- CN
- China
- Prior art keywords
- index
- data
- key
- file
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013475 authorization Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000012946 outsourcing Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于云环境安全技术领域,公开了一种云环境中高效灵活可验证的多属性范围检索方法及系统,数据所有者建立若干个索引树和用于查找索引树的索引查找表;数据所有者生成密钥,并将密钥分享给授权用户;数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;数据授权用户生成门限;云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;数据所有者对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;数据所有者对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。本发明减少了访问磁盘次数和索引占用空间,提高查询效率,满足动态范围搜索需求。
Description
技术领域
本发明属于云环境安全技术领域,尤其涉及一种云环境中高效灵活可验证的多属性范围检索方法及系统。
背景技术
目前,用户通过使用“云计算”在付出较低的成本的同时能够享受到了高性能的存储计算服务,而“云计算”的服务提供商,通过对计算资源的统一管理也大大节省了管理成本,提高了计算资源的利用率。但是,出于隐私考虑,数据所有者在外包之前会对敏感数据进行加密,这反过来又会使数据利用成为一个具有挑战性的问题。因此,在加密的云数据上开发高效的隐私保护搜索系统是非常重要的。最常见的搜索方法是使用关键字来检索文件,而不是将所有加密的文件下载到本地进行检索。为了安全地搜索加密数据,数据所有者通常使用从数据文件中提取的关键字和相应的基于索引的关键字匹配算法来构建加密索引结构,并随后将加密数据和该构建的索引结构外包给云。在搜索文件时,云服务器将关键字的陷门与索引信息相结合,然后将相应的文件返回给数据用户。此外,数据所有者可以与大量用户共享他们的数据,这要求云服务器能够通过有效的数据检索服务来满足大量的请求。
对于范围查询的可搜索加密方案目前主要分为桶方案和保序方案两大类,Hore等人分别在2004年和2012年提出了不同的桶结构加密方案。在桶结构方案中数据的所有者将数据划分为不同大小的范围段,相当于把一大桶的水分装到几个不同的小桶中,当查询时,如果桶的索引标记与查询范围存在重叠,就桶中的所有数据将作为结果返回。这种原理将会带来很多问题,如果桶的范围过大,不仅返回的结果过大浪费很多带宽资源且查询结果中将会存在过多无用信息,使得检索的作用不能够体现出来,如果桶的范围过小,则会严重削弱数据的隐私性,当桶的数量与数据数量相差不大时,通过桶的特征能够很容易估计出数据特征。对于保序方案,Li等人,在2005年首次提出基于保序方案的支持加密数据库范围查询的效率和安全权衡的可搜索加密方案。Boldyreva等人,也在2009年和2011年提出基于保序方案的范围可搜索加密方案。保序方案是采用一种保序函数f(x),当且仅当a<b时f(a)<f(b),数据项dl,…,dn的索引为f(dl),…,f(dn),范围[a,b]的门限是[f(a),f(b)]。很明显,为了隐私顺序保持也很弱,因为它们允许云以统计的方式估计数据项和查询的实际值。在2017年,由Li等人再次提出了一种基于原来保序方案的分级可验证的范围查询方案。新的方案保留了原方案的安全性和高效性,并通过在叶子节点中存储额外信息来获得验证。
虽然Li等人的方案可以在不解密情况下实现安全而高效的搜索功能,但是其只支持单属性的范围搜索,且存在密文无法更新,索引过大等缺点。
刘琴等人在2018年提出了“一种基于云环境的多属性范围查询方法-CN201810318428.9”,该发明提供了一种基于云环境的多属性范围查询方法,本地服务器将数据集索引构造成索引向量并加密,将查询请求构造成请求向量并加密,云端服务器通过计算加密后的索引向量和请求向量的内积确定目标数据,从而实现高效的查询操作。虽然该方案用户可以直接对云端服务器中的密文进行多属性的范围查询,但是该方案提出的多属性需要在数据上传服务器之前就定义多个属性,在上传服务器后无法对属性进行修改,且由于算法限制用户的每次查询需要使用所有属性条件查询出同时满足多个属性的密文,相当于只能查询满足多个属性的数据的交集。本发明用户可以根据多属性中的任一属性进行搜索,和该发明差异较大。
现有技术方案的查找方式在可用性方面尚有欠缺,在一些场景中无法满足用户需求。例如,用户希望通过文件名进行文件的检索,又希望使用文件创建时间对文件范围检索,还希望使用文件的最后修改时间对文件进行范围检索,此时现有的多属性的范围查询方案不能满足用户需求。再例如,某公司生产需要记录下属工厂生产产品的详细信息,一种产品可能由多个工厂生产,公司员工希望通过产品名字进行检索产品详细信息,又希望通过生产地检索该生产地生产的所有产品详细信息,此时现有方案的索引方式无法满足要求。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有基于桶方案的范围查询的可搜索加密方法中,如果桶范围过大,返回的结果过大浪费很多带宽资源且查询结果中会存在过多无用信息,使得检索的作用不能够体现出来;如果桶范围过小,则会严重削弱数据的隐私性;当桶的数量与数据数量相差不大时,通过桶的特征能很容易估计出数据特征。
(2)现有基于保序方案的范围查询的可搜索加密方法中,只支持单属性的范围搜索,且存在密文无法更新,索引过大等缺点。
(3)现有技术方案只能查询满足多个属性的数据的交集,且现有技术方案的查找方式在可用性方面尚有欠缺,在一些场景中无法满足用户需求。
解决以上问题及缺陷的难度为:密文形式的存储加大了数据检索难度的同时,更使密文以及其属性的更新成为了一个密文检索技术设计的一个挑战。解决以上问题难度在于设计一个支持密文更新的密文检索方案,同时保证检索效率和多属性的灵活检索方式。
解决以上问题及缺陷的意义为:目前虽然密文检索技术已经很成熟、人民对数据隐私的需求也越来越高,但是实际应用还是较少,其主要原因是目前的研究主要追求安全性以及效率却忽视了现实应用场景,解决以上问题可以使密文搜索技术应用更加贴近实际需求,拓宽密文检索应用场景并且可以降低云服务器磁盘空间占用以及I/O负载。
发明内容
针对现有技术存在的问题,本发明提供了一种云环境中高效灵活可验证的多属性范围检索方法及系统,尤其涉及一种新的针对云上海量存储的高效可验证的且支持多属性的范围查询方法及系统。
本发明是这样实现的,一种云环境中高效灵活可验证的多属性范围检索方法,所述云环境中高效灵活可验证的多属性范围检索方法包括以下步骤:
步骤一,索引生成:数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;前缀编码技术优化了插入或删除索引时索引树叶子结点的移动优化了性能,多级bloom过滤器减小了索引的占用空间,索引查找表的引入使得该方法实现了多属性检索方式,索引树中的索引和数据分离的方式实现了索引和数据的灵活增删。
步骤二,密钥生成:数据所有者生成密钥,并将密钥分享给授权用户;密钥生成为实现数据安全的基础,密钥分享使得数据所有者的数据可以分享给数据授权用户使用。
步骤三,数据加密:数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;加密数据,保证数据安全。
步骤四,门限生成:数据授权用户生成包含查询标识和查询区间门限;使用户获得检索密文的能力。
步骤五,密文检索:云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;使用户获取检索的数据。
步骤六,索引查找表的更新:数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;在当前索引满足不了用户检索数据的需求时,可以通过此步骤增加新的检索属性,实现新的检索方式。
步骤七,索引树的更新:数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。索引树中的索引的更新使得数据获得了灵活增删和修改数据属性的能力。
进一步,所述步骤一中的索引生成包括:
针对于数据所有者需要上传至云服务器的各本地数据文件,对数据文件根据数据所有者查询需求建立若干个索引,索引格式为{范围值:文件名};对于每个索引,根据索引范围值从小到大的顺序对文件主索引进行排序,根据各本地数据文件索引的排序,将索引平均分配给根节点下的每个子节点;根子节点再平均分配给子节点直到每条索引都存储在叶子节点中,根据多路平衡树对各个叶节点进行前缀编码,将前缀码分级存入多路平衡树的路径上并同时存入前编码文件。
将前缀码按顺序存入父节点中。
由数据所有者为每个索引自定义ind_tag,将格式为{ind_tag:索引树地址}的索引查找表存入线性表。
进一步,所述步骤二中的密钥生成包括:
数据所有者需要生成四部分密钥,用于加密索引查找表的安全哈希函数的随机密钥;用于加密索引数据的SM2算法公私钥对;用于加密布隆过滤器的安全哈希函数的随机密钥;用于加密文件的SM4算法密钥。
索引查找表密钥生成:数据所有者选取1个伪随机哈希函数的种子使用伪随机函数生成1个伪随机数作为安全哈希函数密钥,密钥为keyind。该密钥分享给数据授权用户。
SM2算法公私钥对生成:由数据所有者选取一个有效的Fq(q=p且p为大于3的素数,或q=2m)上椭圆曲线系统参数的集合;用随机数发生器产生整数d∈[1,n-2];G为基点,计算点P=(xP,yP)=[d]G;密钥对是(d,P),其中d为私钥,P为公钥。将私钥分享给数据授权用户。
安全哈希函数的密钥生成:数据所有者选取4个伪随机哈希函数的种子使用伪随机函数生成4个伪随机数作为安全哈希函数密钥,密钥为keyb={h1,h2,h3,h4}。将密钥keyb分享给数据授权用户。
文件密钥生成:文件密钥在上传文件时由数据所有者使用随机数生成器生成16字节的随机数fki作为文件密钥,该密钥通过SM2加密算法使用公钥P加密后存储在文件头,不需要与数据授权用户分享。
进一步,所述步骤三中的数据加密包括:
针对于索引查找表加密:所述索引查找表的格式为{ind_tag:索引地址},假设共有n个范围查询索引,即n种范围查询属性;使用HMAC对n个ind_tag分别进行加密,得到n个HMAC(keyind,ind_tagi),将该密文存入原线性表中。
针对于PBtree中各节点存储的前缀进行加密,采用Bloom过滤器来实现。设每个节点表示为node,对于每个节点需要加密的前缀码pi∈Pnode.P(r),使用四次安全哈希函数HMAC(key,pi)其中keyb={h1,h2,h3,h4};每个节点node生成一个随机密钥node.Kr,计算HMAC(node.Kr,HMAC(key,pi)),最后对每个节点的每个pi和key设置Bloom过滤器:
node.B[HMAC(node.Kr,HMAC(key,pi))mod M]=1;
其中,M为Bloom过滤器的大小(bit)。
针对于各索引{范围值:文件名}加密:将各本地数据文件的对应的每条索引使用SM2加密算法进行加密,将加密结果{SM2.Enc(ind),Hash(filename)}存放在原来的各个叶节点中;
针对于文件加密:使用伪随机数生成算法生成的文件密钥通过SM4加密算法进行文件加密,文件密钥使用SM2加密算法进行加密后存在文件头。
数据拥有者终端将上述处理后得到的索引标记表、PBtree和文件密文发送给云服务器。
进一步,所述步骤四中的门限生成包括:
由数据授权用户给出查询范围属性ind_tag和查询范围[min,max],查询本地前缀编码表得到对应于前缀编码的范围[pmin,pmax],对于每个前缀pi的各位计算四个哈希函数HMAC(key,pi)的结果,范围值min或max的门限表示为由r*4哈希值组成的矩阵M:
其中,r为PBTree的高度,范围查询门限为{HMAC(keyind,ind_tag),Mmin,Mmax}。
进一步,所述步骤五中的密文检索包括:
云服务器在接收到范围查询门限后,使用HMAC(keyind,ind_tagi)在索引标记表中进行匹配,从索引标记表中得到索引树PBTree的地址;使用矩阵Mmin的第一行来与PBTree根节点做匹配,检查Mmin的第一行HMAC(key,pi)是否满足:
root.B[HMAC(root.Kr,HMAC(key,pi))mod M]:=1;
匹配到满足条件的Bloom过滤器后根据指针找到下一级节点,使用陷门矩阵第二行进行匹配,重复以上操作直到叶子节点。
矩阵Mmax的匹配与Mmin一致,找到Mmax对应的叶子节点,从Mmin对应节点从前往后遍历,根据遍历节点中文件名的Hash值Hash(filename)匹配文件,云服务器将查找到的叶子节点中索引密文与匹配到的所有文件密文一同返回给授权用户。
授权用户使用数据所有者分享的SM2私钥d对索引密文进行解密。如果索引密文解密后的范围值与本地前缀编码文件中范围值顺序是一致的,则代表服务器返回了正确的数据。使用私钥d对文件头进行解密得到文件密钥,使用文件密钥对文件进行解密。
进一步,所述步骤六中的索引查找表的更新包括:
当用户希望通过新的属性查询数据时,按照所述索引生成方式生成新的索引树,并在索引查找表增加按照上述方式加密后的{ind_tag:索引地址}。
当用户不再需要已有索引属性查询数据时,直接删除相应索引查找表里的数据然后删除相应索引树。
所述步骤七中的索引树的更新包括:
索引树中索引的删除:按照步骤四生成要删除的索引的门限,云服务器根据门限删除对应索引。
索引树中索引的增加:根据B+树的更新方式在数据拥有者本地更新索引树,然后将更新后的编码存储在本地的前缀编码表,按照步骤三加密索引,按照步骤四生成增加索引的前一个索引的门限,按照步骤五查找到位置进行索引的增加。由于索引树初始化时构建索引树时数据平均分在各个子结点上,故未存储数据的叶子节点的空余比较均匀,在新增索引时需要移动的结点数量较少。
索引树中索引的修改:按照步骤四生成要修改的索引的门限,云服务器根据门限查找到对应索引,修改对应索引中的文件名的Hash值。
本发明的另一目的在于提供一种应用所述的云环境中高效灵活可验证的多属性范围检索方法的云环境中高效灵活可验证的多属性范围检索系统,所述云环境中高效灵活可验证的多属性范围检索系统,包括云数据外包系统,所述云数据外包系统包括三个参与方:数据所有者、授权用户和半诚实的云服务器。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;数据所有者生成密钥,并将密钥分享给授权用户;数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;数据授权用户生成包含查询标识和查询区间门限;
云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的云环境中高效灵活可验证的多属性范围检索系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的云环境中高效灵活可验证的多属性范围检索方法,涉及外包存储和可搜索加密,提出了一种高效灵活多属性密文范围搜索方案,可用于实现云环境中对密文安全而快速地进行多属性范围搜索。同时,现有方案的索引方式无法满足要求,而本发明中多属性多索引的方式可以通过再建立一个反向索引的方式满足该公司员工的通过生产地检索该生产地生产的所有产品详细信息的需求。
另外,本发明与现有技术相比具有以下优点:
第一,本发明利用多路平衡树组织索引,贴合云服务器海量数据特点,利用多路平衡树深度比二叉平衡树小的特点有效减少了访问磁盘次数,从而提高查询效率。
第二,现有方案在组织索引时对文件名简单取并集的操作致使为了减少误判率需要使用很大空间的Bloom过滤器,本发明使用多级Bloom过滤器与多路平衡树相结合的方式,大大减小了索引占用空间。
第三,本发明利用建立索引标志表的方式,实现了多属性的范围查询,用户可以根据多属性中的任一属性进行搜索,大大提高了范围查询的可用性;利用索引和数据分离存储的方式,实现了低成本多属性索引的灵活增删,满足动态的范围搜索需求。
第四,本发明提出了一种适用于范围查询的前缀编码方案,使得密文可更新和插入且更新效率较高。
本发明的索引查找表使用安全哈希函数HMAC(·)对索引树标记ind_tag进行加密,假设对手获取到了历史q次的查询的索引树标记ind_tag和查询结果索引树地址,由于HMAC(·)是安全哈希函数,在没有密钥的前提下是无法通过门限无法获得其他索引树标记对应的地址,分析索引查找表的HMAC值是无法获取到索引树地址的。
本发明的索引Btree通过安全哈希函数HMAC(·)作为随机函数,实现IND-CPA安全。假设对手获取到了历史q次的查询门限和查询结果,首先由于HMAC(·)是安全哈希函数,在没有密钥的前提下是无法通过门限。另外由于门限矩阵的大小与查询范围大小没有明显的线性或函数关系,含有相同范围的门限可能完全不相同,故单纯使用统计的方法对门限矩阵分析,并生成新的合法的查询门限也是不可行的。故Btree的加密方案也是安全的。
本发明的文件使用SM4加密函数进行加密,文件密钥密文在文件头存储,在没有SM2私钥的前提下敌手是无法获取到文件密钥的,从而无法获取文件明文。
综上,本发明将数据所有者定义的范围索引和文件均以密文形式存储在云服务器,在没有密钥的前提下,敌手无法窃取用户数据,保证云端服务器无法获知任何数据信息,保证数据的隐私安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的云环境中高效灵活可验证的多属性范围检索方法流程图。
图2是本发明实施例提供的云环境中高效灵活可验证的多属性范围检索方法原理图。
图3是本发明实施例提供的服务模型图。
图4是本发明实施例提供的前缀编码图。
图5是本发明实施例提供的索引树构建图。
图6是本发明实施例提供的索引查找表图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种云环境中高效灵活可验证的多属性范围检索方法及系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的云环境中高效灵活可验证的多属性范围检索方法包括以下步骤:
S101,索引生成:数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;
S102,密钥生成:数据所有者生成密钥,并将密钥分享给授权用户;
S103,数据加密:数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;
S104,门限生成:数据授权用户生成包含查询标识和查询区间门限;
S105,密文检索:云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;
S106,索引查找表的更新:数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;
S107,索引树的更新:数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引。
本发明实施例提供的云环境中高效灵活可验证的多属性范围检索方法原理图如图2所示。
如图3所示,本发明实施例提供的云环境中高效灵活可验证的多属性范围检索系统,包括云数据外包系统,所述云数据外包系统包括三个参与方:数据所有者、授权用户和半诚实的云服务器。
下面结合具体实施例对本发明的技术方案作进一步描述。
本发明的目的在于克服现有技术方案的缺点与不足,提供一种新的针对云上海量存储的高效可验证的且支持多属性的范围查询方案。该方法通过B+树和Bloom过滤器相结合实现了高效的密文可验证范围查询;通过索引与文件数据分离的方式,实现了多属性的范围查询。
为实现上述目的,本发明技术方案为:
本发明实施例的基于云数据外包系统的高效可验证的多属性范围搜索方法,首先构造云数据外包系统,该云数据外包系统包含三个参与方,分别为:数据所有者、授权用户和半诚实的云服务器,如图3所示。
如图2所示,本发明实施例公开了可验证的密文数据文件多属性范围查询方法,步骤如下:
步骤S1.索引生成:针对于数据所有者需要上传至云服务器的各本地数据文件,首先对数据文件根据数据所有者查询需求建立若干个索引,索引格式为{范围值:文件名}。对于每个索引,根据索引范围值从小到大的顺序对文件主索引进行排序,根据各本地数据文件索引的排序,将索引平均分配给根节点下的每个子节点,然后根子节点再平均分配给子节点直到每条索引都存储在叶子节点中;然后根据多路平衡树对各个叶节点进行前缀编码,将前缀码分级存入多路平衡树的路径上并同时存入前编码文件,如图4所示。
然后将前缀码按顺序存入父节点中,如图5所示。
由数据所有者为每个索引自定义ind_tag,将格式为{ind_tag:索引树地址}的索引查找表存入线性表,如图6所示。
步骤S2.密钥生成:数据所有者需要生成四部分密钥,用于加密索引查找表的安全哈希函数的随机密钥;用于加密索引数据的SM2算法公私钥对;用于加密布隆过滤器的安全哈希函数的随机密钥;用于加密文件的SM4算法密钥。
索引查找表密钥生成:数据所有者选取1个伪随机哈希函数的种子使用伪随机函数生成1个伪随机数作为安全哈希函数密钥,密钥为keyind。该密钥分享给数据授权用户。
SM2算法公私钥对生成:首先由数据所有者选取一个有效的Fq(q=p且p为大于3的素数,或q=2m)上椭圆曲线系统参数的集合;然后用随机数发生器产生整数d∈[1,n-2];G为基点,计算点P=(xP,yP)=[d]G;密钥对是(d,P),其中d为私钥,P为公钥。将私钥分享给数据授权用户。
安全哈希函数的密钥生成:数据所有者选取4个伪随机哈希函数的种子使用伪随机函数生成4个伪随机数作为安全哈希函数密钥,密钥为keyb={h1,h2,h3,h4}。将密钥keyb分享给数据授权用户。
文件密钥生成:文件密钥在上传文件时由数据所有者使用随机数生成器生成16字节的随机数fki作为文件密钥,该密钥通过SM2加密算法使用公钥P加密后存储在文件头,不需要与数据授权用户分享。
步骤S3.数据加密:
针对于索引查找表加密:上文提到索引查找表的格式为{ind_tag:索引地址},假设共有n个范围查询索引,即n种范围查询属性。使用HMAC对n个ind_tag分别进行加密,得到n个HMAC(keyind,ind_tagi),将该密文存入原线性表中。
针对于PBtree中各节点存储的前缀进行加密,采用Bloom过滤器来实现。设每个节点表示为node,对于每个节点需要加密的前缀码pi∈Pnode.P(r),使用四次安全哈希函数HMAC(key,pi)其中keyb={h1,h2,h3,h4},随后每个节点node生成一个随机密钥node.Kr,计算HMAC(node.Kr,HMAC(key,pi)),最后对每个节点的每个pi和key设置Bloom过滤器:
node.B[HMAC(node,Kr,HMAC(key,pi))mod M]=1
其中M为Bloom过滤器的大小(bit)。
针对于各索引{范围值:文件名}加密:将各本地数据文件的对应的每条索引使用SM2加密算法进行加密,将加密结果{SM2.Enc(ind),Hash(filename)}存放在原来的各个叶节点中;
针对于文件加密:使用伪随机数生成算法生成的文件密钥通过SM4加密算法进行文件加密,文件密钥使用SM2加密算法进行加密后存在文件头。
数据拥有者终端将上述处理后得到的索引标记表、PBtree和文件密文发送给云服务器。
步骤S4.门限生成:
由数据授权用户给出查询范围属性ind_tag和查询范围[min,max],查询本地前缀编码表得到对应于前缀编码的范围[pmin,pmax],对于每个前缀pi的各位计算四个哈希函数HMAC(key,pi)的结果,范围值min或max的门限表示为由r*4哈希值组成的矩阵M:
r为PBTree的高度,范围查询门限为{HMAC(keyind,ind_tag),Mmin,Mmax}。
步骤S5.密文检索:
云服务器在接收到范围查询门限之后,首先使用HMAC(keyind,ind_tagi)在索引标记表中进行匹配,从索引标记表中得到索引树PBTree的地址。使用矩阵Mmin的第一行来与PBTree根节点做匹配,检查Mmin的第一行HMAC(key,pi)是否满足
root.B[HMAC(root.Kr,HMAC(key,pi))mod M]:=1
匹配到满足条件的Bloom过滤器后根据指针找到下一级节点,使用陷门矩阵第二行进行匹配,重复以上操作直到叶子节点。
矩阵Mmax的匹配与Mmin一致,找到Mmax对应的叶子节点,然后从Mmin对应节点从前往后遍历,根据遍历节点中文件名的Hash值Hash(filename)匹配文件,云服务器将查找到的叶子节点中索引密文与匹配到的所有文件密文一同返回给授权用户。
授权用户使用数据所有者分享的SM2私钥d对索引密文进行解密。如果索引密文解密后的范围值与本地前缀编码文件中范围值顺序是一致的,则代表服务器返回了正确的数据。使用私钥d对文件头进行解密得到文件密钥,使用文件密钥对文件进行解密。
步骤S6.索引查找表的更新:
当用户希望通过新的属性查询数据时,可以按照上述索引生成方式生成新的索引树,然后在索引查找表增加按照上述方式加密后的{ind_tag:索引地址}。
当用户不再需要已有索引属性查询数据时,可以直接删除相应索引查找表里的数据然后删除相应索引树。
步骤S7.索引树的更新:
索引树中索引的删除:按照步骤S4生成要删除的索引的门限,云服务器根据门限删除对应索引。
索引树中索引的增加:首先根据B+树的更新方式在数据拥有者本地更新索引树,然后将更新后的编码存储在本地的前缀编码表,按照步骤S3加密索引,按照步骤S4生成增加索引的前一个索引的门限,按照步骤S5查找到位置进行索引的增加。因为索引树初始化时构建索引树时数据平均分在各个子结点上,所以未存储数据的叶子节点的空余比较均匀,在新增索引时需要移动的结点数量较少,效率较高。
索引树中索引的修改:按照步骤S4生成要修改的索引的门限,云服务器根据门限查找到对应索引,修改对应索引中的文件名的Hash值。
安全性分析
本发明的索引查找表使用安全哈希函数HMAC(·)对索引树标记ind_tag进行加密,假设对手获取到了历史q次的查询的索引树标记ind_tag和查询结果索引树地址,由于HMAC(·)是安全哈希函数,在没有密钥的前提下是无法通过门限无法获得其他索引树标记对应的地址,分析索引查找表的HMAC值是无法获取到索引树地址的。
本发明的索引Btree通过安全哈希函数HMAC(·)作为随机函数,实现IND-CPA安全。假设对手获取到了历史q次的查询门限和查询结果,首先由于HMAC(·)是安全哈希函数,在没有密钥的前提下是无法通过门限。另外由于门限矩阵的大小与查询范围大小没有明显的线性或函数关系,含有相同范围的门限可能完全不相同,故单纯使用统计的方法对门限矩阵分析,并生成新的合法的查询门限也是不可行的。故Btree的加密方案也是安全的。
本发明的文件使用SM4加密函数进行加密,文件密钥密文在文件头存储,在没有SM2私钥的前提下敌手是无法获取到文件密钥的,从而无法获取文件明文。
综上,数据所有者定义的范围索引和文件均以密文形式存储在云服务器,在没有密钥的前提下,敌手无法窃取用户数据。保证云端服务器无法获知任何数据信息,保证数据的隐私安全。
下面结合对比分析对本发明的技术效果作详细的描述。
此处给出范围检索的效率分析,与2017年由Li等人提出的范围查询方案对比分析。
假设索引项个数为n,查询范围为[min,max],查询结果个数为R。
Li等人方案使用二叉树构建索引,叶节点存储索引项,非叶节点存储bloom过滤器,由于索引项相对bloom过滤器占用存储空间较小暂且不予考虑,该方案至少需要n-1个非叶节点存储n-1个bloom过滤器结构。该方案中所有非叶节点bloom过滤器需要标识所有索引项,假设该方案中bloom过滤器大小为n,则该方案大概占用空间(n-1)*m,即O(n2)。其检索算法的平均运行时间取决于查询结果|R|,为了查询结果集R中的每个项,需要遍历至少2(log2n)-1个节点。因此,该算法的时间复杂度为O(|R|log2n)。
本发明的方案采用多路平衡树B树构建索引,假设使用的树为m路,同样使用非叶节点存储bloom过滤器,但由于使用多级bloom过滤器,每个节点中的bloom过滤器只需要标识其下一层的子节点,所以可以假设该方案中每个bloom过滤器占用空间为m,则该方案大概占用空间n*m,即O(n*m)。其检索算法需要遍历至少2(logm(n(m-1)+1)+|R|)个节点。因此,该算法的时间复杂度为O(logm(nm)+|R|)。
时间复杂度以及空间开销对比如下表1。
表1范围检索时间空间开销
可以看出,由于m比n小的多,所以本发明方案空间开销较现有方案小很多;时间开销小了一个量级。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述云环境中高效灵活可验证的多属性范围检索方法包括以下步骤:
步骤一,索引生成:数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;
步骤二,密钥生成:数据所有者生成密钥,并将密钥分享给授权用户;
步骤三,数据加密:数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;
步骤四,门限生成:数据授权用户生成包含查询标识和查询区间门限;
步骤五,密文检索:云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;
步骤六,索引查找表的更新:数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;
步骤七,索引树的更新:数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引;
所述步骤四中的门限生成包括:
由数据授权用户给出查询范围属性ind_tag和查询范围[min,max],查询本地前缀编码表得到对应于前缀编码的范围[pmin,pmax],对于每个前缀pi的各位计算四个哈希函数HMAC(key,pi)的结果,范围值min或max的门限表示为由r*4哈希值组成的矩阵M:
其中,r为PBTree的高度,范围查询门限为{HMAC(keyind,ind_tag),Mmin,Mmax};
所述步骤五中的密文检索包括:
云服务器在接收到范围查询门限后,使用HMAC(keyind,ind_tagi)在索引标记表中进行匹配,从索引标记表中得到索引树PBTree的地址;使用矩阵Mmin的第一行来与PBTree根节点做匹配,检查Mmin的第一行HMAC(key,pi)是否满足:
root.B[HMAC(root.kr,HMAC(key,pi))modM]:=1;
匹配到满足条件的Bloom过滤器后根据指针找到下一级节点,使用陷门矩阵第二行进行匹配,重复以上操作直到叶子节点;
矩阵Mmax的匹配与Mmin一致,找到Mmax对应的叶子节点,从Mmin对应节点从前往后遍历,根据遍历节点中文件名的Hash值Hash(filename)匹配文件,云服务器将查找到的叶子节点中索引密文与匹配到的所有文件密文一同返回给授权用户;
授权用户使用数据所有者分享的SM2私钥d对索引密文进行解密;如果索引密文解密后的范围值与本地前缀编码文件中范围值顺序是一致的,则代表服务器返回了正确的数据;使用私钥d对文件头进行解密得到文件密钥,使用文件密钥对文件进行解密。
2.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤一中的索引生成包括:针对于数据所有者需要上传至云服务器的各本地数据文件,对数据文件根据数据所有者查询需求建立若干个索引,索引格式为{范围值:文件名};对于每个索引,根据索引范围值从小到大的顺序对文件主索引进行排序,根据各本地数据文件索引的排序,将索引平均分配给根节点下的每个子节点;根子节点再平均分配给子节点直到每条索引都存储在叶子节点中,根据多路平衡树对各个叶节点进行前缀编码,将前缀码分级存入多路平衡树的路径上并同时存入前编码文件;
将前缀码按顺序存入父节点中;
由数据所有者为每个索引自定义ind_tag,将格式为{ind_tag:索引树地址}的索引查找表存入线性表。
3.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤二中的密钥生成包括:
数据所有者需要生成四部分密钥,用于加密索引查找表的安全哈希函数的随机密钥;用于加密索引数据的SM2算法公私钥对;用于加密布隆过滤器的安全哈希函数的随机密钥;用于加密文件的SM4算法密钥;
索引查找表密钥生成:数据所有者选取1个伪随机哈希函数的种子使用伪随机函数生成1个伪随机数作为安全哈希函数密钥,密钥为keyind,密钥分享给数据授权用户;
SM2算法公私钥对生成:由数据所有者选取一个有效的Fq(q=p且p为大于3的素数,或q=2m)上椭圆曲线系统参数的集合;用随机数发生器产生整数d∈[1,n-2];G为基点,计算点P=(xP,yP)=[d]G;密钥对是(d,P),其中d为私钥,P为公钥;将私钥分享给数据授权用户;
安全哈希函数的密钥生成:数据所有者选取4个伪随机哈希函数的种子使用伪随机函数生成4个伪随机数作为安全哈希函数密钥,密钥为keyb={h1,h2,h3,h4};将密钥keyb分享给数据授权用户;
文件密钥生成:文件密钥在上传文件时由数据所有者使用随机数生成器生成16字节的随机数fki作为文件密钥,密钥通过SM2加密算法使用公钥P加密后存储在文件头,不需要与数据授权用户分享。
4.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤三中的数据加密包括:
针对于索引查找表加密:所述索引查找表的格式为{ind_tag:索引地址},假设共有n个范围查询索引,n种范围查询属性;使用HMAC对n个ind_tag分别进行加密,得到n个HMAC(keyind,ind_tagi),将密文存入原线性表中;
针对于PBtree中各节点存储的前缀进行加密,采用Bloom过滤器实现;设每个节点表示为node,对于每个节点需要加密的前缀码pi∈Pnode.P(r),使用四次安全哈希函数HMAC(key.pi)其中keyb={h1,h2,h3,h4};每个节点node生成一个随机密钥node.Kt,计算HMAC(node.Kr,HMAC(key,pi)),最后对每个节点的每个pi和key设置Bloom过滤器:
node.B[HMAC(node.Kr,HMAC(key,pi))modM]=1;
其中,M为Bloom过滤器的大小(bit);
针对于各索引{范围值:文件名}加密:将各本地数据文件的对应的每条索引使用SM2加密算法进行加密,将加密结果{SM2.Enc(ind),Hash(filename)}存放在原来的各个叶节点中;
针对于文件加密:使用伪随机数生成算法生成的文件密钥通过SM4加密算法进行文件加密,文件密钥使用SM2加密算法进行加密后存在文件头;
数据拥有者终端将处理后得到的索引标记表、PBtree和文件密文发送给云服务器。
5.如权利要求1所述的云环境中高效灵活可验证的多属性范围检索方法,其特征在于,所述步骤六中的索引查找表的更新包括:
当用户希望通过新的属性查询数据时,按照所述索引生成方式生成新的索引树,并在索引查找表增加加密后的{ind_tag:索引地址};
当用户不再需要已有索引属性查询数据时,直接删除相应索引查找表里的数据然后删除相应索引树;
所述步骤七中的索引树的更新包括:
索引树中索引的删除:按照步骤四生成要删除的索引的门限,云服务器根据门限删除对应索引;
索引树中索引的增加:根据B+树的更新方式在数据拥有者本地更新索引树,然后将更新后的编码存储在本地的前缀编码表,按照步骤三加密索引,按照步骤四生成增加索引的前一个索引的门限,按照步骤五查找到位置进行索引的增加;由于索引树初始化时构建索引树时数据平均分在各个子结点上,故未存储数据的叶子节点的空余比较均匀,在新增索引时需要移动的结点数量较少;
索引树中索引的修改:按照步骤四生成要修改的索引的门限,云服务器根据门限查找到对应索引,修改对应索引中的文件名的Hash值。
6.一种实施权利要求1~5任意一项所述的云环境中高效灵活可验证的多属性范围检索方法的云环境中高效灵活可验证的多属性范围检索系统,其特征在于,所述云环境中高效灵活可验证的多属性范围检索系统,包括云数据外包系统,所述云数据外包系统包括三个参与方:数据所有者、授权用户和半诚实的云服务器。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
数据所有者根据查询需求利用前缀编码技术和bloom过滤器建立若干个索引树和用于查找索引树的索引查找表;数据所有者生成密钥,并将密钥分享给授权用户;数据所有者对索引树、索引查找表以及文件数据进行加密并上传到云服务器;数据授权用户生成包含查询标识和查询区间门限;
云服务器根据查询标识选取索引树进行查询,将查询结果返回给授权用户;授权用户解密数据,验证数据是否正确;数据所有者根据需求对索引查找表进行更新,并增加或删除索引查找表中对应的索引树;数据所有者根据需求对索引树进行更新,增加、修改或删除索引树叶子结点中的索引;
由数据授权用户给出查询范围属性ind_tag和查询范围[min,max],查询本地前缀编码表得到对应于前缀编码的范围[pmin,pmax],对于每个前缀pi的各位计算四个哈希函数HMAC(key,pi)的结果,范围值min或max的门限表示为由r*4哈希值组成的矩阵M:
其中,r为PBTree的高度,范围查询门限为{HMAC(keyind,ind_tag),Mmin,Mmax};
云服务器在接收到范围查询门限后,使用HMAC(keyind,ind_tagi)在索引标记表中进行匹配,从索引标记表中得到索引树PBTree的地址;使用矩阵Mmin的第一行来与PBTree根节点做匹配,检查Mmin的第一行HMAC(key,pi)是否满足:root.B[HMAC(root.Kr,HMAC(key,pi))mod M]:=1;
匹配到满足条件的Bloom过滤器后根据指针找到下一级节点,使用陷门矩阵第二行进行匹配,重复以上操作直到叶子节点;
矩阵Mmax的匹配与Mmin一致,找到Mmax对应的叶子节点,从Mmin对应节点从前往后遍历,根据遍历节点中文件名的Hash值Hash(filename)匹配文件,云服务器将查找到的叶子节点中索引密文与匹配到的所有文件密文一同返回给授权用户;
授权用户使用数据所有者分享的SM2私钥d对索引密文进行解密;如果索引密文解密后的范围值与本地前缀编码文件中范围值顺序是一致的,则代表服务器返回了正确的数据;使用私钥d对文件头进行解密得到文件密钥,使用文件密钥对文件进行解密。
8.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求6所述的云环境中高效灵活可验证的多属性范围检索系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494270.9A CN114416720B (zh) | 2021-12-08 | 2021-12-08 | 云环境中高效灵活可验证的多属性范围检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494270.9A CN114416720B (zh) | 2021-12-08 | 2021-12-08 | 云环境中高效灵活可验证的多属性范围检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416720A CN114416720A (zh) | 2022-04-29 |
CN114416720B true CN114416720B (zh) | 2024-04-30 |
Family
ID=81265684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111494270.9A Active CN114416720B (zh) | 2021-12-08 | 2021-12-08 | 云环境中高效灵活可验证的多属性范围检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416720B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
KR20180028226A (ko) * | 2016-09-08 | 2018-03-16 | 전북대학교산학협력단 | 암호화 인덱스 기반 영역 질의 처리 방법 및 영역 질의 처리 시스템 |
CN113569280A (zh) * | 2021-07-20 | 2021-10-29 | 西安电子科技大学 | 一种支持动态更新的可验证加密图像检索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11341128B2 (en) * | 2015-11-12 | 2022-05-24 | Sap Se | Poly-logarithmic range queries on encrypted data |
-
2021
- 2021-12-08 CN CN202111494270.9A patent/CN114416720B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180028226A (ko) * | 2016-09-08 | 2018-03-16 | 전북대학교산학협력단 | 암호화 인덱스 기반 영역 질의 처리 방법 및 영역 질의 처리 시스템 |
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
CN113569280A (zh) * | 2021-07-20 | 2021-10-29 | 西安电子科技大学 | 一种支持动态更新的可验证加密图像检索方法 |
Non-Patent Citations (2)
Title |
---|
一种基于相似搜索平衡二叉树的多关键词排序密文检索方案;陈兰香;陈振朝;;密码学报;20180615(03);全文 * |
基于Merkle哈希树的可验证密文检索方案;陈兰香;邱林冰;;信息网络安全(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114416720A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
CN104615692B (zh) | 一种支持动态更新及多关键字安全排序的可搜索加密方法 | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
WO2018122287A1 (en) | Method and system for search pattern oblivious dynamic symmetric searchable encryption | |
Egorov et al. | ZeroDB white paper | |
CN110457915B (zh) | 高效且具有前后向安全性的可搜索对称加密方法及系统 | |
CN106599719A (zh) | 支持高效密钥管理的密文检索方法 | |
Rashid et al. | A secure data deduplication framework for cloud environments | |
WO2013143278A1 (zh) | 数据的索引查询方法、装置及系统 | |
JP2016206918A (ja) | 秘匿化データベースシステム及び秘匿化データ管理方法 | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
CN113221155A (zh) | 一种多层级与多等级加密的云储存系统 | |
Handa et al. | A cluster based multi-keyword search on outsourced encrypted cloud data | |
Al-Sakran | Accessing secured data in cloud computing environment | |
CN109783456B (zh) | 去重结构搭建方法、去重方法、文件取回方法、去重系统 | |
CN103414555B (zh) | 阵列基于io块加密的密钥管理方法 | |
CN105897419B (zh) | 一种多用户动态关键词可搜索加密方法 | |
Wang et al. | An efficient and privacy-preserving range query over encrypted cloud data | |
CN106874379B (zh) | 一种面向密文云存储的多维区间检索方法与系统 | |
Huang et al. | A searchable encryption scheme for outsourcing cloud storage | |
CN108011713B (zh) | 一种云存储中基于同态加密的密文检索方法 | |
CN107294701B (zh) | 具有高效密钥管理的多维密文区间查询装置及查询方法 | |
CN114416720B (zh) | 云环境中高效灵活可验证的多属性范围检索方法及系统 | |
CN116107967B (zh) | 基于同态加密和树结构的多关键词密文搜索方法及系统 | |
CN115292737B (zh) | 一种多关键词模糊搜索加密方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |