CN111797097B - 一种基于软硬件结合的方式实现安全范围查询的方法 - Google Patents
一种基于软硬件结合的方式实现安全范围查询的方法 Download PDFInfo
- Publication number
- CN111797097B CN111797097B CN202010620518.0A CN202010620518A CN111797097B CN 111797097 B CN111797097 B CN 111797097B CN 202010620518 A CN202010620518 A CN 202010620518A CN 111797097 B CN111797097 B CN 111797097B
- Authority
- CN
- China
- Prior art keywords
- query
- sgx
- index
- data
- range
- 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 35
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012946 outsourcing Methods 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000011056 performance test Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000544061 Cuculus canorus Species 0.000 description 1
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 1
- 241000153282 Theope Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 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
- G06F16/2246—Trees, e.g. B+trees
-
- 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/23—Updating
-
- 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/24—Querying
- G06F16/242—Query formulation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于软硬件结合的方式实现安全范围查询方法,包括,提出了一种混合索引框架HybrIDX;提出了一种将密文比较操作移至SGX中的数据比较方法,以实现快速的密文比较;提出了一种多映射加密索引的方法,用于隐藏查询结果的数量;提出了批量刷新机制,以实现访问模式混淆。本发明用于数据外包的相关方法,使不受信任的服务器可根据用户提交的查询请求有效地搜索加密数据,而无需泄露查询结果及其数量。本发明适用于大型分布式存储系统,对数据并发查询支持度高,对大型数据集外包的可行性、可用性以及可扩展性强。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种支持隐私保护的针对数值型数据的范围查询的相关方法。
背景技术
加密索引技术为数据所有者提供一套将隐私数据外包给不受信任的服务器,且保证在服务器中检索数据而不会泄露数据隐私的机制。该技术已被认为是构建隐私保护数据服务的基本组件。关于安全索引构建的早期研究主要集中在关键字搜索的方向。随着外包数据的类型扩展,对外包数据进行有效范围查询已引起了学术界和工业界的广泛关注。在数据库外包场景中的一个典型示例是根据数值(例如索引值或时间戳)的排序查找所有匹配的记录。
现有通过密码学技术实现针对加密数据的范围检索的方案包括保序加密/泄序加密(OPE/ORE)方案。这些方案允许服务器直接在密文上执行排序比较。例如李洪伟等人利用OPE技术设计了一种用于实现密文空间数据访问控制和范围查询的方法,该方法主要通过使用OPE技术和安全内积运算产生密文数据索引,并用该索引实现支持隐私保护的范围查询。此外,彭延国等人还以OPE技术为基础,利用加法保序表、乘法保序表和编码树设计了一个同时支持同态密文保序、密文加法计算、密文乘法计算的同态加密保序方案。由于OPE方案是利用随机保序函数将明文数据映射到密文数据空间中,使得密文数据仍然保持明文的排序关系,因此上述两种方案均会泄露明文的排序信息。
此外由于这些方案的安全性仅通过密码学原语中的证明方法证明,在被用于实际系统中时仍然会存在许多其他的隐私泄露。具体而言,这些方案会在不同程度上泄露与查询请求有关的信息。例如,通过观察查询令牌返回的结果,攻击者即可得知该请求对应的查询结果数量。当观察结果达到一定数量时,攻击者即可通过简单的统计得出查询结果的数量分布,并以此推断出有关查询请求以及外包数据的敏感信息。最近针对查询结果数量信息泄漏的攻击已被多次提出。为了减轻此种泄漏问题,一种简单的方法是对外包的数据集进行适当填充,使得所有查询结果的数量相同。但此方法会引入昂贵的存储开销,因此无法被用于实践中。反观本专利提出的方案,其不仅可以保证明文的排序信息以及查询结果的数量信息不会被泄露,而且还可以保证方案不会引入大量额外的存储开销。
目前还有一些非密码学原语的方案用于实现支持隐私保护的范围检索。例如,刘琴等人提出的一种基于云环境的多属性范围查询方法。该方案利用KNN算法对由不同属性构造的索引向量进行加密,以实现多属性的范围查询。该方案虽然比用OPE/ORE等密码学原语实现的范围查询方案或本方案支持的查询请求类型更加丰富(基于OPE/ORE的方案以及本方案仅能实现针对单一属性的范围查询),但由于该方案在执行范围查询时同样需要泄露明文的排序信息、查询结果和查询结果的数量信息,因此在算法安全性上会低于本方案。此外考虑在用KNN算法加密索引向量时,所需的计算开销会大于本方案中使用伪随机函数加密查询索引的计算开销,因此在算法效率上刘琴等人的方案也会低于本方案。
针对查询结果数量泄露问题,目前仅由少量文献提出了一些解决办法。Kamara等人提出了第一种可防止查询结果的数量信息泄露的支持关键词检索的数据加密方案,该方案通过使用多映射索引结构减少填充时的存储开销。后续设计利用了布谷哈希(CuckooHashing)和差分隐私(differential privacy)以求进一步减少由填充带来的存储开销。但是,现有两种设计方案均无法在执行范围查询时很好的隐藏查询结果所占存储空间这一信息,因为:(1)现有设计方案均针对关键字搜索,由于在进行范围搜索时,无法预定义查询结果的存储空间,因此在对查询结果进行填充时,只能按照数据集的全集数量进行填充,如此会为系统存储带来巨大的额外开销,并在查询时对用户的带宽产生极大的挑战;(2)针对不同的范围查询,其查询结果可能存在交集,攻击者可以利用这些交集信息推断明文分布,因此即使防止了查询结果的数量信息泄露,攻击者仍然能够通过观察不同查询结果的交集推断出数据集的分布。
此外随着可信执行环境的快速发展,利用软硬件结合的方式实现高效且安全的查询方案已成为一种趋势,此种类型方案的优势在于:不仅可以达到密码学原语所要实现的安全的查询功能,而且还能在算法性能方面要远超于使用密码学原语构造的安全查询方案。例如张源境等人提出了一种基于SGX的安全索引系统,该方案利用B+树和SGX实现了高效且安全的关键词查询。该方案首先利用B+树对数据集构建关键词查询索引,并将加密的B+树存在SGX Enclave的外部。当需要执行查询操作时,将加密的B+树调入Enclave中进行解密,并在B+树上从根节点开始自上而下的执行明文关键词查询操作。该方案与本方案最大的区别在于,首先,该方案只针对关键词查询,而本方案针对的是数值数据的范围查询;其次,该方案没有保护查询结果以及查询结果的数量信息。因此,如何在对密文进行高效的范围查询时,保护明文的排序信息、查询结果、查询结果的数量仍然是一项具有挑战性的工作。
发明内容
本发明目的在于针对现有技术的不足,提出一种针对数值型数据加密的方法,使得针对密文的范围检索可以达到明文级别的效率,且泄露的信息仅包括访问模式、更新模式以及查询结果的出处。
本发明的目的是通过以下技术方案来实现的:一种基于软硬件结合的方式实现安全范围查询的方法,该方法具体步骤包括:
(1)用户对待检索的数据集根据数据集的分布构建索引,包括针对范围查询的树型索引N和针对查询结果的多映射索引Imm,并利用伪随机函数PRF对多映射索引Imm中的各项条目进行加密。
(2)用户将步骤(1)所得的树型索引N存储在可信执行环境SGX中,并将步骤(1)所得的多映射索引Imm存储在服务器。
(3)当需要对数据集进行范围查询时,用户加密查询范围的区间端点数据q生成查询令牌T,并将令牌发送给SGX。
(4)SGX在树型索引N中查找与步骤(3)所得的查询令牌T相匹配的节点vi,并获得vi存储的标签Li。
(5)若Li存储在SGX中,由SGX生成查询结果,并返回给用户;若Li未存储在SGX中,服务器在多映射索引Imm中查找与步骤(4)所得的标签Li相匹配的条目,解密该条目并返回查询结果。
(6)SGX将服务器中有关Li的条目缓存在SGX中,并删除服务器中的该条目。
进一步地,所述的范围查询方案采用软硬件结合的方式,即通过将可信执行环境SGX与利用伪随机函数和对称加密函数构造的加密方案相结合的方式,实现针对密文的高效范围查询方案。
本发明的有益效果:本发明方法可以保证明文数据的排序结果以及查询结果的数量信息在完成查询过后不被泄露。此外,在查询效率上,本发明方法相较于利用纯密码学加密方案实现的安全范围检索方案要更快。具体而言,本发明方案的查询效率可以达到亚线性复杂度O(log n),而纯密码学方案如保序加密算法(Order-preserving Encryption,OPE)或泄序加密算法(Order-revealing Encryption,ORE)的查询效率会高达线性复杂度O(n),其中n代表数据集中数据的个数。
附图说明
图1为本发明的基于软硬件结合的方式实现安全范围查询的相关方法的系统模型图;
图2为实施例1中使用本发明的索引构建方法加密160000个数据所耗费的时间;
图3为实施例1中使用本发明的填充算法填充V块所增加的存储空间;
图4为实施例1中使用本发明的查询方法对160000个加密数据进行范围查询的时间迟延;
图5为实施例1中使用本发明的查询方法进行加密数据范围查询的系统吞吐量;
图6为性能测试例1中使用本发明的查询方法在多服务器场景下进行加密数据范围查询的时间迟延;
图7为性能测试例2中使用本发明的数据插入方法对数据集进行更新操作的时间迟延。
图8为本发明方法的结构示意图。
具体实施方式
以下结合附图对本发明具体实施方式作进一步详细说明。
如图1所示,本发明提供的一种基于软硬件结合的方式实现安全范围查询的方法,具体步骤包括:
(1)索引构建
(1.1)将待检索的数据集DB(v)按照v值进行分类,并将分类结果存储在多映射索引Imm={L,V,γ}中,其中主键为加密的v值L←G(k1,v||c||t),V为对v值对应的ID信息id1,...,idp的加密结果其中G(·)为伪随机函数,k1和k2为伪随机函数G(·)的密钥,c为由相同v值产生的不同L值的个数,t为v值被访问的次数,||为字符串拼接操作符,←为生成运算结果的操作符,/>为按位异或的操作符,{0,1}λ为只包含0和1的长度为λ的字符串,$代表随机任取。为了保证查询结果的数量(communication volume)不被泄露,在生成每一个V值之前,先对v值对应ID信息(即id1,...,idp)进行填充,使得存储不同v值对应的ID信息所需的存储空间相同。为了尽可能地减少填充的存储空间,在填充ID信息id1,...,idp之前先对ID信息进行分块,具体如图1所示,并将生成的多映射索引Imm发送给存储服务器。
(1.2)对Imm中的v值构建二叉排序索引N,并将索引N通过可信安全信道发送给SGX。
(2)范围查询
(2.1)对查询q生成令牌T←Enc(k0,v||cmp||q),其中k0←F(k1,s),s++,Enc(·)为对称加密算法,k0为对称加密算法Enc(·)的密钥,v为待查询的区间端点数值,cmp为查询操作符,如小于<,大于>,小于等于≤,大于等于≥等,q为需要返回结果的个数,T为生成的令牌,F(·)为伪随机函数,k1为伪随机函数F(·)的密钥,s++为每执行一次运算s自加1,并将令牌T发送至SGX中。
(2.2)SGX将步骤(2.1)所得令牌解密,s++,k0←F(k1,s),{v||cmp||q}←Dec(k0,T),其中Dec(·)为对称加密算法Enc(·)的解密算法,k0为解密算法Dec(·)的解密密钥。
在索引N中查找v对应的条目。若该条目存储在SGX中,SGX计算查询结果其中γ*为任取的只包含0和1的长度为λ的字符串,V为对v值对应的ID信息id1,...,idp的加密结果,G(·)为伪随机函数,k2为伪随机函数G(·)的密钥,γ为生成V时所用的随机字符串,/>为按位异或的操作符,返回{V*,γ*}给用户。
(2.3)否则,SGX计算v值的标签L←G(k1,vi||c||ti),其中G(·)为伪随机函数,k1为伪随机函数G(·)的密钥,c为由相同v值产生的不同L值的个数,t为v值被访问的次数,并从服务器的Imm处查找对应L的{V,γ}。
(2.4)SGX计算和/>其中γ*为任取的只包含0和1的长度为λ的字符串,V为对v值对应的ID信息id1,...,idp的加密结果,G(·)为伪随机函数,k2为伪随机函数G(·)的密钥,γ为生成V时所用的随机字符串,/>为按位异或的操作符。
(2.5)SGX发送{V*,γ*}给用户,将{V*,γ*}缓存在SGX内部,并将{L,V*,γ*}从服务器中删除。
(3)索引更新
(3.1)当SGX内存即将不足时,将缓存的所有{V*,γ*}按照步骤(1)重新加密,并将结果发送至服务器中。
(3.2)当用户需要向数据集插入数据时,将待插入的数据和SGX缓存的所有{V*,γ*}一并按照步骤(1)重新加密,并将结果发送至服务器中。
实施例1
为了评估基于软硬件结合的方式实现安全范围查询方法(HybrIDX)的性能,使用C++实现了一个原型系统并将其部署到具有SGX功能的Ubuntu服务器(Intel(R)i7-7700处理器(3.6GHz)和16GB RAM)中进行了全面的实验评估。由于硬件限制,SGX物理内存设置为128MB。使用Redis(v5.0.3)集群维护加密的多映射索引。另外,系统使用Apache Thrift(v0.9.2)在客户端和服务器之间实现远程过程调用(RPC)。对于密码原语,使用Intel SGXSSL和OpenSSL(v1.1.0g)通过AES-128实现对称加密,并通过HMAC-256实现伪随机函数。
(1)为了评估本发明在索引构建时的算法性能,本实验测试了针对不同数据量的数据集构建索引所需的时间开销。
具体讲,数据集的选取方法为:1)初始化160K条空数据记录;2)生成1000个v值;3)将1000个v值随机插入由步骤1)生成160K条空数据记录;4)从由步骤3)生成的160K条数据记录中随机抽取10K,20K,40K,80K和160K条数据,分别组成5个数据集用以测试。图2为针对上述5个数据集构建索引的测试结果。由图2可以看出,对160K条数据记录构建索引,只需花费不到5秒的时间。实验结果证明,用本发明加密外包数据,其效率可达到用户需求,可被用于实践中。
(2)为了测试本发明的填充算法效率,本实验测量由填充导致的额外存储开销。
需要说明,为了测试本发明的填充算法的有效性,本实验采用取最大查询结果集一半作为填充结果的长度,并与简单填充方案进行对比。简单填充方案即将所有查询结果集填充至与最大查询结果集相同的数量。图3显示了利用CDF统计由填充导致的额外存储开销的实验对比结果。对比结果显示,本发明的索引填充方案使对数据集中80%的数据进行填充,每条记录需要额外的存储开销是0.4KB,而简单填充方案会使每条记录需要的额外存储开销高达1.7KB。实验结果证明本发明的填充方案可以有效地减少额外填充数量。
(3)为了测试本发明的查询效率,本实验对原型系统分别测试了查询迟延和系统吞吐量。
由于查询结果集在填充的过程中可能被分成多组标签,因此在对查询迟延和系统吞吐量进行测试时,分别对不同数量的结果集进行查询,以求测试结果的准确性。为了评估本发明的查询效率,本实验分别测试了具有0.1K,1K,2K,5K和10K个查询结果的查询迟延,并将之与纯密码学方法ORE加密方法以及明文查询方案进行对比。对比结果如图4所示。当查询结果为10K时,本发明的查询迟延为0.14秒与明文方案相差不大,而比ORE方案提速近18倍。
此外本实验还分别测试了具有10,100,200,500和1000个查询结果的系统吞吐量,并将之与明文查询方案进行对比,对比结果如图5所示。虽然,当查询结果从100个增至500个时,本发明的系统吞吐量由587条/秒降至166条/秒。但是,若每个v值可以仅对应一个标签,本发明的系统吞吐量可达到1.1K条/秒。虽然此时的系统吞吐量仍然比明文系统的吞吐量要小很多,但本发明所带来的系统安全性是明文系统无法比拟的。
性能测试例1
为了进一步测试本发明的查询效率,通过引入多个具有SGX功能的服务器,并发执行查询操作,以测得本发明的查询迟延。
实验中多个服务器的存储方式为:1)将数据均匀分成与服务器个数相匹配的份数。由于本实验采用1,2,4,8,16个服务器分别进行测试,因此数据被分别均匀地划分为1,2,4,8,16份;2)分别对由步骤1)划分好的数据使用索引构建方法构建索引,并将结果分别发送至对应的服务器中。在进行范围查询时,将查询令牌同时发送至所有参与数据存储的服务器中,并发执行范围查询。
图6显示了多服务器环境下的查询迟延。由图6可以看出,当查询结果集为15K时,8个服务器并发执行查询操作的查询迟延为0.29秒,对比由4个服务器并发执行查询操作时的查询迟延,不难发现,8个服务器并发执行的查询迟延是4个服务器并发执行的查询迟延的一半。由此可知,本发明的可扩展性强,适用于大型分布式存储系统中。
性能测试例2
为了进一步测试本发明在更新数据集时的效率,通过向原有数据集插入不同数量的数据记录,以测得本发明的更新效率。
为了保证实验结果的可信性,本实验对插入的数据记录采取随机生成的方式。图7显示了像数据集中分别插入1K,2K,4K,8K以及16K条数据记录时所产生的系统更新迟延。由图7可以看出,在向数据集插入16K条数据记录时所产生的系统更新迟延仅有0.45秒。在实际应用中,此种迟延属于用户可以承受的范围之类。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (1)
1.一种基于软硬件结合的方式实现安全范围查询的方法,该方法具体步骤包括:
(1)用户对待检索的数据集根据数据集的分布构建索引,包括针对范围查询的树型索引N和针对查询结果的多映射索引Imm,并利用伪随机函数PRF对多映射索引Imm中的各项条目进行加密;
(2)用户将步骤(1)所得的树型索引N存储在可信执行环境SGX中,并将步骤(1)所得的多映射索引Imm存储在服务器;
(3)当需要对数据集进行范围查询时,用户加密查询范围的区间端点数据q生成查询令牌T,并将令牌发送给SGX;
(4)SGX在树型索引N中查找与步骤(3)所得的查询令牌T相匹配的节点vi,并获得vi存储的标签Li;
(5)若Li存储在SGX中,由SGX生成查询结果,并返回给用户;若Li未存储在SGX中,服务器在多映射索引Imm中查找与步骤(4)所得的标签Li相匹配的条目,解密该条目并返回查询结果;
(6)SGX将服务器中有关Li的条目缓存在SGX中,并删除服务器中的该条目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620518.0A CN111797097B (zh) | 2020-06-30 | 2020-06-30 | 一种基于软硬件结合的方式实现安全范围查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620518.0A CN111797097B (zh) | 2020-06-30 | 2020-06-30 | 一种基于软硬件结合的方式实现安全范围查询的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111797097A CN111797097A (zh) | 2020-10-20 |
CN111797097B true CN111797097B (zh) | 2024-02-27 |
Family
ID=72810939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010620518.0A Active CN111797097B (zh) | 2020-06-30 | 2020-06-30 | 一种基于软硬件结合的方式实现安全范围查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797097B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965311B (zh) * | 2021-10-19 | 2023-09-08 | 北京安御道合科技有限公司 | 一种实现格式保持加密的方法、系统、介质、终端及应用 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041133A (en) * | 1996-12-13 | 2000-03-21 | International Business Machines Corporation | Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences |
CN106708921A (zh) * | 2015-11-12 | 2017-05-24 | Sap欧洲公司 | 对加密数据的多对数范围查询 |
CN106776904A (zh) * | 2016-11-30 | 2017-05-31 | 中南大学 | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 |
CN106934030A (zh) * | 2016-12-08 | 2017-07-07 | 戴林 | 一种面向数据库加密的密文索引方法和库内加密系统 |
CN108701198A (zh) * | 2016-02-17 | 2018-10-23 | 微软技术许可有限责任公司 | 合取sql语句的可搜索加密 |
CN110287262A (zh) * | 2019-06-28 | 2019-09-27 | 中国科学技术大学 | 有效保护用户隐私的比特币交易查询方法 |
CN111142876A (zh) * | 2020-04-02 | 2020-05-12 | 华控清交信息科技(北京)有限公司 | 一种编译处理方法、装置和用于编译处理的装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11366921B2 (en) * | 2017-02-22 | 2022-06-21 | Ringcentral, Inc. | Encrypting data records and processing encrypted records without exposing plaintext |
US10515077B2 (en) * | 2017-06-14 | 2019-12-24 | Microsoft Technology Licensing, Llc | Execution optimization of database statements involving encrypted data |
WO2019100063A1 (en) * | 2017-11-20 | 2019-05-23 | Moshe Shadmon | A system and apparatus to manage data using a peer-to-peer network and the blockchain |
-
2020
- 2020-06-30 CN CN202010620518.0A patent/CN111797097B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041133A (en) * | 1996-12-13 | 2000-03-21 | International Business Machines Corporation | Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences |
CN106708921A (zh) * | 2015-11-12 | 2017-05-24 | Sap欧洲公司 | 对加密数据的多对数范围查询 |
CN108701198A (zh) * | 2016-02-17 | 2018-10-23 | 微软技术许可有限责任公司 | 合取sql语句的可搜索加密 |
CN106776904A (zh) * | 2016-11-30 | 2017-05-31 | 中南大学 | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 |
CN106934030A (zh) * | 2016-12-08 | 2017-07-07 | 戴林 | 一种面向数据库加密的密文索引方法和库内加密系统 |
CN110287262A (zh) * | 2019-06-28 | 2019-09-27 | 中国科学技术大学 | 有效保护用户隐私的比特币交易查询方法 |
CN111142876A (zh) * | 2020-04-02 | 2020-05-12 | 华控清交信息科技(北京)有限公司 | 一种编译处理方法、装置和用于编译处理的装置 |
Non-Patent Citations (2)
Title |
---|
HybrIDX: New Hybrid Index for Volume-hiding Range Queries in Data Outsourcing Services;kui ren 等;《2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)》;第23-33页 * |
云外包密文查询和计算研究;全韩彧;《中国博士学位论文全文数据库信息科技辑》(第2期);第I138-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111797097A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11637689B2 (en) | Efficient encrypted data management system and method | |
US11144663B2 (en) | Method and system for search pattern oblivious dynamic symmetric searchable encryption | |
Ghareh Chamani et al. | New constructions for forward and backward private symmetric searchable encryption | |
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
Patranabis et al. | Forward and backward private conjunctive searchable symmetric encryption | |
Chase et al. | Substring-searchable symmetric encryption | |
CN110334526B (zh) | 一种支持验证的前向安全可搜索加密存储系统及方法 | |
CN112800088A (zh) | 基于双向安全索引的数据库密文检索系统及方法 | |
Hoang et al. | Practical and secure dynamic searchable encryption via oblivious access on distributed data structure | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN108595554B (zh) | 一种基于云环境的多属性范围查询方法 | |
GB2580406A (en) | A client-server computer system | |
WO2019104140A1 (en) | Efficiently querying databases while providing differential privacy | |
US20230259641A1 (en) | Device, method, and system for encryption database | |
Zuo et al. | Forward and backward private dynamic searchable symmetric encryption for conjunctive queries | |
Liu et al. | EncSIM: An encrypted similarity search service for distributed high-dimensional datasets | |
Cui et al. | Secure boolean spatial keyword query with lightweight access control in cloud environments | |
CN111797097B (zh) | 一种基于软硬件结合的方式实现安全范围查询的方法 | |
Huang et al. | Cetus: an efficient symmetric searchable encryption against file-injection attack with SGX | |
Ali et al. | Searchable encryption with conjunctive field free keyword search scheme | |
CN111552988A (zh) | 基于蒙特卡罗抽样的前向安全k近邻检索方法及系统 | |
Guo et al. | Order‐Revealing Encryption Scheme with Comparison Token for Cloud Computing | |
CN115168909A (zh) | 一种基于比较索引的密文数据范围查询方法和系统 | |
Blass et al. | Practical forward-secure range and sort queries with update-oblivious linked lists | |
Kwon et al. | Order-Hiding Range Query Over Encrypted Cloud Data |
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 | ||
GR01 | Patent grant |