CN114625768A - 一种基于oram密态数据库索引的快速连接查询方法 - Google Patents

一种基于oram密态数据库索引的快速连接查询方法 Download PDF

Info

Publication number
CN114625768A
CN114625768A CN202210249142.6A CN202210249142A CN114625768A CN 114625768 A CN114625768 A CN 114625768A CN 202210249142 A CN202210249142 A CN 202210249142A CN 114625768 A CN114625768 A CN 114625768A
Authority
CN
China
Prior art keywords
oram
index
secret
query
read
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.)
Pending
Application number
CN202210249142.6A
Other languages
English (en)
Inventor
吴志强
蔡竹斌
夏卓群
李睿
周书仁
郑少莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha University of Science and Technology
Original Assignee
Changsha University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changsha University of Science and Technology filed Critical Changsha University of Science and Technology
Priority to CN202210249142.6A priority Critical patent/CN114625768A/zh
Publication of CN114625768A publication Critical patent/CN114625768A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开的基于ORAM密态数据库索引的快速连接查询方法,包括以下步骤:S1、生成倒排索引;S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2;S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;S4、不经意连接查询:根据包含两个或者两个以上关键词的查询条件,从远程索引中快速得到匹配,获取与所述查询条件对应的所述数据文件,输出查询结果。本发明涉及的技术方案,其能够在保证查询隐私无泄漏前提下,对文本文件数据进行快速连接查询,具备较高查询效率。

Description

一种基于ORAM密态数据库索引的快速连接查询方法
技术领域
本申请涉及信息安全处理技术领域,更具体地说,尤其涉及一种基于 ORAM密态数据库索引的快速连接查询方法。
背景技术
随着互联网的快速发展,信息量呈爆炸式增长,对数据文件的查询越来越复杂,信息查询私密性也得不到保障,如何在能够在庞大数据库中准确进行文件加密搜索,是数据处理技术领域研究的方向之一。
目前,为解决用户对存储在云服务器中的加密数据进行快速搜索,现有技术中通常采用可搜索加密(Searchable Encryption,简称SE)方或者采用不经意随机访问机(Oblivious RandomAccess Machine,简称ORAM)加上倒排索引技术对数据进行加密检索。SE技术,其通常以泄露搜索特征(Search Pattern)和访问特征(Access Pattern)来实现高效查询,安全性不够强;而 ORAM是一种保护搜索特征和访问特征的技术,它提供了一个对私密数组数据的快速安全读、写接口,它是一种用户与云之间交互协议的封装,用ORAM.read(k)表示用户不经意读取键值k,得到的结果为v,用 ORAM.write(k,v)表示用户不经意写入(k,v)元组到ORAM中,ORAM在每次读或写后,通过不断变换数据存储位置并重新对访问过的数据进行加密保护每一次访问的位置和数据信息,降低了攻击者利用泄露的信息推测出真实数据的可能性。不经意随机访问机通常没有对密态数据库进行充分优化,比如用户需要对一张密态数据库表执行连接查询,如果简单地使用不经意随机访问机来存储数据,数据查询过程很有可能会遍历整个数据库表格,效率较低。并且现有ORAM方案中都只提供单关键词的查询,不满足实际应用场景中需要同时满足多个查询条件的操作,导致查询效率极其低下。
因此,如何提供一种基于ORAM密态数据库索引的快速连接查询方法,其能够在保证查询隐私无泄漏前提下,对文本文件数据进行快速连接查询,具备较高查询效率,已经成为本领域技术人员亟待解决的技术问题。
发明内容
为解决上述技术问题,本申请提供一种基于ORAM密态数据库索引的快速连接查询方法,其能够在保证查询隐私无泄漏前提下,对文本文件数据进行快速连接查询,具备较高查询效率。
本申请提供一种基于ORAM密态数据库索引的快速连接查询方法,包括以下步骤:S1、给定一组文本文件F,其中每个文件都是关键词的集合,每个文件都对应一个唯一标识符;假设w为一个关键词,W为所有可供查询的关键词的集合;记DB(w)表示匹配关键词w的所有文档标识符的集合,指的是对应的文档中都包含关键词w;随后为所有文件生成明文形式倒排索引,记为 DB,它能根据输入的任意关键词w,快速得到输出集合DB(w);
S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2
S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;
S4、不经意连接查询:执行一个u维的连接查询(w1∧w2∧…∧wu),u≥2,从远程索引中快速得到匹配此u维连接查询的文件标识符集合,查询方法记为 Search(w1∧w2∧…∧wu),得到结果集合为DB(w1∧w2∧…∧wu),记为R。
进一步地,在本发明一种优选方式中,在所述步骤S2中,所述加密方法 Enc(DB)的步骤如下:
假设ORAM为一个不经意随机访问机,其为用户与云之间交互协议的封装;用ORAM.read(k)表示用户不经意读取键值k,得到的结果为v;
用ORAM.write(k,v)表示不经意写入(k,v)元组到ORAM中;随后给予两个不经意随机访问机ORAM,假设其为初始状态为空的集合,采用初始化方法生成密态索引ORAM1和ORAM2
进一步地,在本发明一种优选方式中,所述采用初始化方法生成密态索引方法的步骤包括:
S21、初始化ORAM1:对W中的每一个关键词w,分别调用如下算法:
{ORAM1.write(w||1,id1||s),ORAM1.write(w||2,id2),…,ORAM1.write(w||s,ids)} 进行初始化;其中s为集合DB(w)的元素个数,DB(w)={id1,id2,…,ids},符号 x||y表示将两个字符串x和y连接成一个字符串;s的数值被保存到第一个数据块中,也就是ORAM1.write(w||1,id1||s);
S22、初始化ORAM2:对W中的每一个关键词w,分别调用如下算法:
{ORAM2.write(w||id1,1),ORAM2.write(w||id2,1),…,ORAM2.write(w||ids,1)}进行初始化。
进一步地,在本发明一种优选方式中,所述构建密态索引包括:构建文件标识密态索引以及构建关键词状态密态索引。
进一步地,在本发明一种优选方式中,所述查询方法 Search(w1∧w2∧…∧wu)的步骤具体为:
S41、获取所有关键词中查询结果集最小的集合,假设为DB(w1),也就是
Figure 100002_1
其中符号min表示求最小值,符号|DB(w)|表示集合DB(w)的元素个数;
S42、假设s=|DB(w1)|,依次调用不经意访问接口1:
ORAM1.read(w1||1),ORAM1.read(w1||2),…,ORAM1.read(w1||s)进行查询,得到结果集DB(w1),其中长度s在第一个数据块中获取;
S43、随后得到一组候选文件标识符的集合DB(w1);假设 DB(w1)={id1,id2,…,ids}后初始化一个空集合R;
针对标识符id1,依次调用不经意访问接口2:
ORAM2.read(w2||id1),ORAM2.read(w3||id1),…,ORAM2.read(wu||id1)进行查询;根据返回的结果将id1加入到结果集R中;
针对标识符id2,依次调用不经意访问接口2:
ORAM2.read(w2||id2),ORAM2.read(w3||id2),…,ORAM2.read(wu||id2)进行查询;根据返回的结果将id2加入到结果集R中;
重复上述过程,直到全部的文件标识符{id1,id2,…,ids}被判断完毕,得到最终结果集R。
进一步地,在本发明一种优选方式中,根据返回的结果将id1加入到结果集R中的具体规则为:
如果其中的某一次读取返回的结果集为空集,那么id1不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么将id1加入到结果集R。
进一步地,在本发明一种优选方式中,根据返回的结果将id2加入到结果集R中的具体规则为:
如果其中的某一次读取返回的结果集为空集,那么id2不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么id2被加入到结果集R。
本发明提供的一种基于ORAM密态数据库索引的快速连接查询方法,与现有技术相比,包括以下步骤:S1、给定一组文本文件F,其中每个文件都是关键词的集合,每个文件都对应一个唯一标识符;假设w为一个关键词,W 为所有可供查询的关键词的集合;记DB(w)表示匹配关键词w的所有文档标识符的集合,指的是对应的文档中都包含关键词w;随后为所有文件生成明文形式倒排索引,记为DB,它能根据输入的任意关键词w,快速得到输出集合DB(w);S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2;S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;S4、不经意连接查询:执行一个u维的连接查询(w1∧w2∧…∧wu),u≥2,从远程索引中快速得到匹配此u维连接查询的文件标识符集合,查询方法记为Search(w1∧w2∧…∧wu),得到结果集合为DB(w1∧w2∧…∧wu),记为R。本发明提供的一种基于ORAM密态数据库索引的快速连接查询方法,相对于现有技术而言,本方法其能够在保证查询隐私无泄漏前提下,对文本文件数据进行快速连接查询,具备较高查询效率。
本发明的有益效果:
1、利用不经意随机访问机密态数据库索引技术,具有较强的安全隐私保护能力,无搜索特征泄露和访问特征泄露的风险;
2、能够实现快速连接查询,可以根据多关键词的查询条件多数据文件进行检索,有效的减少了检索时间,提高了检索效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于ORAM密态数据库索引的快速连接查询方法的步骤流程图;
图2为本发明实施例提供的采用初始化方法生成密态索引的步骤流程图;
图3为本发明实施例提供的所述查询方法Search(w1∧w2∧…∧wu)的步骤流程图。
具体实施方式
为了使本领域的技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件上,它可以直接在另一个元件上或者间接设置在另一个元件上;当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至另一个元件上。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“第一”、“第二”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”、“若干个”的含义是两个或两个以上,除非另有明确具体的限定。
须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本申请可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均应仍落在本申请所揭示的技术内容得能涵盖的范围内。
如图1至图3所示,本发明提供的一种基于ORAM密态数据库索引的快速连接查询方法,包括以下步骤:S1、给定一组文本文件F,其中每个文件都是关键词的集合,每个文件都对应一个唯一标识符;假设w为一个关键词, W为所有可供查询的关键词的集合;记DB(w)表示匹配关键词w的所有文档标识符的集合,指的是对应的文档中都包含关键词w;随后为所有文件生成明文形式倒排索引,记为DB,它能根据输入的任意关键词w,快速得到输出集合DB(w);S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2;S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;S4、不经意连接查询:执行一个u维的连接查询(w1∧w2∧…∧wu),u≥2,从远程索引中快速得到匹配此u维连接查询的文件标识符集合,查询方法记为Search(w1∧w2∧…∧wu),得到结果集合为DB(w1∧w2∧…∧wu),记为R。本发明提供的一种基于ORAM密态数据库索引的快速连接查询方法,其能够在保证查询安全无泄漏的前提下,可以对文件数据进行快速连接查询,提高检索查询效率。
本发明提供的一种基于ORAM密态数据库索引的快速连接查询方法,具体包括以下步骤:
S1、假设一组文本文件F,其中每个文件都是关键词的集合,每个文件都对应一个唯一标识符;假设w为一个关键词,W为所有可供查询的关键词的集合;记DB(w)表示匹配关键词w的所有文档标识符的集合,指的是对应的文档中都包含关键词w;随后为所有文件生成明文形式倒排索引,记为DB,它能根据输入的任意关键词w,快速得到输出集合DB(w);
其中,对于倒排索引具体操作的举例说明:例如给定的一组数据文件 f1,f2,…,fi,其文件标识分别为id1,id2,…,idi,文件f1中包含三个所述关键词 {w1,w2,w3},文件f2中包含两个所述关键词{w1,w2};对f1和f2两个数据文件建立倒排索引,对应所有关键词的集合W={w1,w2,w3},关键词w1对应的文件标识集合DB(w1)={id1,id2},关键词w2对应的文件集合DB(w2)={id1,id2},关键词w3对应的文件集合DB(w3)={id1}。
S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2
具体地,在本发明的实施例中,所述加密方法Enc(DB)的步骤如下:
假设ORAM为一个不经意随机访问机,其为用户与云之间交互协议的封装;用ORAM.read(k)表示用户不经意读取键值k,得到的结果为v;
用ORAM.write(k,v)表示不经意写入(k,v)元组到ORAM中;随后给予两个不经意随机访问机ORAM,假设其为初始状态为空的集合,采用初始化方法生成密态索引ORAM1和ORAM2
具体地,在本发明的实施例中,如图2所示,所述采用初始化方法生成密态索引的方法包括:
S21、初始化ORAM1:对W中的每一个关键词w,分别调用如下算法:
{ORAM1.write(w||1,id1||s),ORAM1.write(w||2,id2),…,ORAM1.write(w||s,ids)} 进行初始化;其中s为集合DB(w)的元素个数,DB(w)={id1,id2,…,ids},符号 x||y表示将两个字符串x和y连接成一个字符串;
其中为保存结果集的大小s,s的数值被保存到第一个数据块中,也就是ORAM1.write(w||1,id1||s);
S22、初始化ORAM2:对W中的每一个关键词w,分别调用如下算法:
{ORAM2.write(w||id1,1),ORAM2.write(w||id2,1),…,ORAM2.write(w||ids,1)}进行初始化;其中s为集合DB(w)的元素个数;
其中,在初始化过程中,由于ORAM1和ORAM2都是在可信的用户端完成,可以不需要进行传统的ORAM洗牌操作。
S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;
其中,所述私密部分包括秘钥、未加密数据。
S4、不经意连接查询:执行一个u维的连接查询(w1∧w2∧…∧wu),u≥2,从远程索引中快速得到匹配此u维连接查询的文件标识符集合,查询方法记为 Search(w1∧w2∧…∧wu),得到结果集合为DB(w1∧w2∧…∧wu),记为R。
具体地,在本发明的实施例中,如附图3所示,所述查询方法 Search(w1∧w2∧…∧wu)的步骤具体为:
S41、获取所有关键词中查询结果集最小的集合,假设为DB(w1),也就是
Figure 100002_1
其中符号min表示求最小值,符号 |DB(w)|表示集合DB(w)的元素个数;
为了提升查询效率,用户根据经验估算一个所有关键词中查询结果集最小的集合,不妨假设为DB(w1);
S42、方便起见,假设s=|DB(w1)|,用户依次调用不经意访问接口1:
ORAM1.read(w1||1),ORAM1.read(w1||2),…,ORAM1.read(w1||s),得到结果集 DB(w1),其中长度s在第一个数据块中可以获得;
S43、用户得到一组候选文件标识符的集合DB(w1),不妨假设 DB(w1)={id1,id2,…,ids},用户初始化一个空集合R,针对标识符id1,用户依次调用不经意访问接口2:
ORAM2.read(w2||id1),ORAM2.read(w3||id1),…,ORAM2.read(wu||id1)进行查询;
如果其中的某一次读取返回的结果集为空集,那么id1不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么id1被加入到结果集R;
针对标识符id2,用户依次调用不经意访问接口2:
ORAM2.read(w2||id2),ORAM2.read(w3||id2),…,ORAM2.read(wu||id2)进行查询;
如果其中的某一次读取返回的结果集为空集,那么id2不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么id2被加入到结果集R;
重复上述过程,直到全部的文件标识符{id1,id2,…,ids}被判断完毕;得到最终结果集R。
由上所述,本发明实施例涉及的基于ORAM密态数据库索引的快速连接查询方法,通过步骤生成倒排索引,为所述数据文件构建倒排索引,为快速连接查询提供前提条件;其次,通过对构建的倒排索引分别进行文件标识加密处理以及所述关键词状态加密处理,使其方法具备较强的隐私保护能力,无搜索特征泄露和访问特征泄露的风险;并且,提供多所述关键词查询条件的索引通道,根据多关键词的查询条件对数据文件进行检索,能够实现快速连接准确查询,有效的减少了检索时间,提高了检索效率。相对于现有技术而言,本方法其能够在保证查询隐私无泄漏前提下,对文本文件数据进行快速连接查询,具备较高查询效率。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种基于ORAM密态数据库索引的快速连接查询方法,其特征在于,包括以下步骤:S1、给定一组文本文件F,其中每个文件都是关键词的集合,每个文件都对应一个唯一标识符;假设w为一个关键词,W为所有可供查询的关键词的集合;记DB(w)表示匹配关键词w的所有文档标识符的集合,指的是对应的文档中都包含关键词w;随后为所有文件生成明文形式倒排索引,记为DB,它能根据输入的任意关键词w,快速得到输出集合DB(w);
S2、构建密态索引:使用不经意随机访问机对明文倒排索引DB进行加密,加密方法记为Enc(DB),得到密态索引ORAM1和ORAM2
S3、外包密态索引:将构建完成的密态索引ORAM1和ORAM2存储到公开云服务器,ORAM1和ORAM2中的私密部分存储于用户端;
S4、不经意连接查询:执行一个u维的连接查询(w1∧w2∧…∧wu),u≥2,从远程索引中快速得到匹配此u维连接查询的文件标识符集合,查询方法记为Search(w1∧w2∧…∧wu),得到结果集合为DB(w1∧w2∧…∧wu),记为R。
2.根据权利要求1所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,在所述步骤S2中,所述加密方法Enc(DB)的步骤如下:
假设ORAM为一个不经意随机访问机,其为用户与云之间交互协议的封装;用ORAM.read(k)表示用户不经意读取键值k,得到的结果为v;
用ORAM.write(k,v)表示不经意写入(k,v)元组到ORAM中;随后给予两个不经意随机访问机ORAM,假设其为初始状态为空的集合,采用初始化方法生成密态索引ORAM1和ORAM2
3.根据权利要求2所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,所述采用初始化方法生成密态索引的步骤包括:
S21、初始化ORAM1:对W中的每一个关键词w,分别调用如下算法:
{ORAM1.write(w||1,id1||s),ORAM1.write(w||2,id2),…,ORAM1.write(w||s,ids)}进行初始化;其中s为集合DB(w)的元素个数,DB(w)={id1,id2,…,ids},符号x||y表示将两个字符串x和y连接成一个字符串;s的数值被保存到第一个数据块中,也就是ORAM1.write(w||1,id1||s);
S22、初始化ORAM2:对W中的每一个关键词w,分别调用如下算法:
{ORAM2.write(w||id1,1),ORAM2.write(w||id2,1),…,ORAM2.write(w||ids,1)}进行初始化。
4.根据权利要求3所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,所述构建密态索引包括:构建文件标识密态索引以及构建关键词状态密态索引。
5.根据权利要求1所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,所述查询方法Search(w1∧w2∧…∧wu)的步骤具体为:
S41、获取所有关键词中查询结果集最小的集合,假设为DB(w1),也就是
Figure 1
其中符号min表示求最小值,符号|DB(w)|表示集合DB(w)的元素个数;
S42、假设s=|DB(w1)|,依次调用不经意访问接口1:
ORAM1.read(w1||1),ORAM1.read(w1||2),…,ORAM1.read(w1||s)进行查询,得到结果集DB(w1),其中长度s在第一个数据块中获取;
S43、随后得到一组候选文件标识符的集合DB(w1);假设DB(w1)={id1,id2,…,ids}后初始化一个空集合R;
针对标识符id1,依次调用不经意访问接口2:
ORAM2.read(w2||id1),ORAM2.read(w3||id1),…,ORAM2.read(wu||id1)进行查询;根据返回的结果将id1加入到结果集R中;
针对标识符id2,依次调用不经意访问接口2:
ORAM2.read(w2||id2),ORAM2.read(w3||id2),…,ORAM2.read(wu||id2)进行查询;根据返回的结果将id2加入到结果集R中;
重复上述过程,直到全部的文件标识符{id1,id2,…,ids}被判断完毕,得到最终结果集R。
6.根据权利要求5所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,根据返回的结果将id1加入到结果集R中的具体规则为:
如果其中的某一次读取返回的结果集为空集,那么id1不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么将id1加入到结果集R。
7.根据权利要求5所述的基于ORAM密态数据库索引的快速连接查询方法,其特征在于,根据返回的结果将id2加入到结果集R中的具体规则为:
如果其中的某一次读取返回的结果集为空集,那么id2不属于最终结果集,放弃此文件标识符;如果其中所有读取返回的结果集都不为空集,那么id2被加入到结果集R。
CN202210249142.6A 2022-03-14 2022-03-14 一种基于oram密态数据库索引的快速连接查询方法 Pending CN114625768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210249142.6A CN114625768A (zh) 2022-03-14 2022-03-14 一种基于oram密态数据库索引的快速连接查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210249142.6A CN114625768A (zh) 2022-03-14 2022-03-14 一种基于oram密态数据库索引的快速连接查询方法

Publications (1)

Publication Number Publication Date
CN114625768A true CN114625768A (zh) 2022-06-14

Family

ID=81901897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210249142.6A Pending CN114625768A (zh) 2022-03-14 2022-03-14 一种基于oram密态数据库索引的快速连接查询方法

Country Status (1)

Country Link
CN (1) CN114625768A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708878A (zh) * 2023-12-08 2024-03-15 中科科界(北京)科技有限公司 基于oram带隐私保护功能的版权信息可信检索方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708878A (zh) * 2023-12-08 2024-03-15 中科科界(北京)科技有限公司 基于oram带隐私保护功能的版权信息可信检索方法
CN117708878B (zh) * 2023-12-08 2024-05-03 中科科界(北京)科技有限公司 基于oram带隐私保护功能的版权信息可信检索方法

Similar Documents

Publication Publication Date Title
US10013574B2 (en) Method and apparatus for secure storage and retrieval of encrypted files in public cloud-computing platforms
Kamara et al. Parallel and dynamic searchable symmetric encryption
Popa et al. An ideal-security protocol for order-preserving encoding
CN112272188B (zh) 一种电商平台数据隐私保护的可搜索加密方法
US20180183571A1 (en) Method for providing encrypted data in a database and method for searching on encrypted data
Hu et al. Private search on key-value stores with hierarchical indexes
Tian et al. Privacy preserving query processing on secret share based data storage
Li et al. Enabling efficient fuzzy keyword search over encrypted data in cloud computing
CN106874516A (zh) 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法
Kamel et al. Dynamic spatial index for efficient query processing on the cloud
CN114625768A (zh) 一种基于oram密态数据库索引的快速连接查询方法
Zhang et al. Conjunctive and disjunctive keyword search over encrypted mobile cloud data in public key system
Zhao et al. Verifiable single-server private information retrieval from LWE with binary errors
CN114254344B (zh) 一种基于区块链的共享数据库的隐私数据范围查询方法
Zhang et al. Secure top-k inner product retrieval
Mani Enabling secure query processing in the cloud using fully homomorphic encryption
Xu et al. A framework for privacy preserving localized graph pattern query processing
Wang et al. Enabling efficient approximate nearest neighbor search for outsourced database in cloud computing
Tian et al. EAFS: An efficient, accurate, and forward secure searchable encryption scheme supporting range search
Chatterjee et al. Secure and efficient wildcard search over encrypted data
CN106874379B (zh) 一种面向密文云存储的多维区间检索方法与系统
CN113177221A (zh) 一种计算机软件加密系统
Zheng et al. Pgsim: Efficient and privacy-preserving graph similarity query over encrypted data in cloud
CN113722366B (zh) 一种基于不经意密文倒排索引的安全数据检索方法
Pramanick et al. A comparative survey of searchable encryption schemes

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