CN110427771A - 一种检索模式隐藏的可搜索加密方法、云服务器 - Google Patents
一种检索模式隐藏的可搜索加密方法、云服务器 Download PDFInfo
- Publication number
- CN110427771A CN110427771A CN201910554386.3A CN201910554386A CN110427771A CN 110427771 A CN110427771 A CN 110427771A CN 201910554386 A CN201910554386 A CN 201910554386A CN 110427771 A CN110427771 A CN 110427771A
- Authority
- CN
- China
- Prior art keywords
- search
- enc
- multinomial
- encryption
- user
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于云计算安全技术领域,公开了一种检索模式隐藏的可搜索加密方法、云服务器,包括:数据拥有者,用于建立索引和加密文件集,并将加密文件集和索引外包至云服务器,同时生成搜索陷门信息;数据用户,向数据拥有者提交关键词进行查询请求;服务器C2,主要为云服务器C1提供帮助,辅助C1执行检索;云服务器C1,根据数据拥有者提交的陷门信息,在服务器C2的辅助下执行检索操作,向用户返回匹配的结果。本发明不仅可以隐藏检索模式,同时支持多关键词的查找。本发明可以达到预期的安全性目标。在检索过程中,服务器选择适当次数的随机多项式,利用加法同态性生成结果多项式,保证搜索结果多项式中除了用户想要的检索结果外,不会泄露任何其他信息。
Description
技术领域
本发明属于云计算安全技术领域,尤其涉及一种检索模式隐藏的可搜索加密方法、云服务器。
背景技术
目前,最接近的现有技术:云计算是网格计算、分布式计算等概念的发展和应用。由于云计算能够使得用户以现付现用的方式享受高质量的存储服务,越来越多的用户愿意将他们的数据外包给云服务器。然而,云计算的主要挑战之一是数据隐私,由于商业目的,云服务提供商会尽可能的挖掘用户外包数据的价值。端到端加密技术可以保护用户数据的机密性,但它会导致对加密数据的搜索能力丧失。可搜索加密技术(SearchableEncryption,SE)使服务器能够对加密数据执行基于关键词的检索。具体地,数据所有者将其加密文档与索引一起外包给服务器,服务器借助于搜索陷门直接在索引上执行搜索,最后将匹配结果返回给用户。
自从Song等人开创性的提出可搜索加密方案后,很多工作致力于提高其效率、安全性和丰富查询方式。然而,现有方案提高检索性能的代价为降低其安全性。也就是说,它们会泄露访问模式和检索模式。其中,访问模式定义为哪些文档与查询匹配,检索模式定义为哪两个查询是针对相同的关键词。最近,一系列攻击手段说明访问模式和检索模式可用于获取用户的查询内容。保护访问模式的有效方法是使用ORAM技术取回满足检索条件的文档。但是,如何保护检索模式仍然是一个挑战。原因是检索模式不仅来自于确定性的查询陷门,而且可以由其它方面推断,如访问模式和检索结果的数量。
保护检索模式的一种方法是基于平方根ORAM的思想。在该方法中,相同关键词的查询陷门不会重复使用。但是,在一定数量的查询后,用户和服务器必须交互以重建存储在服务器端的加密数据。另一种方法是wang等人基于隐私集合求交集的协议提出的检索模式隐藏的方案。在该方案中,服务器必须同时使用加密方案的加法和乘法同态性质来正确地执行检索。然而,该方案中使用的Paillier加密无法实现所需的乘法同态性质。解决此问题的一个简单方法是使用全同态加密方案。然而,全同态加密的低效性使得SE方案不实用。因此,如何高效地实现加法和乘法同态性质是本发明需要解决的其中一个问题。其次,在安全性方面,该方案除了向用户返回满足条件的检索结果之外,还会向用户泄漏一些额外的信息。具体地,在服务器执行多关键词检索后,用户能够从得到的多项式中计算出该多项式的解,这些解中包含了想要的文档对应的标识符。但是,结果多项式为每个查询关键词的文档标识符多项式的简单求和。根据Boneh和Song等人的理论,这样的结果多项式会向用户泄漏除期望结果外的其它信息。
综上所述,现有技术存在的问题是:现有在云存储中存在如何在密文数据中检索;对于相同的两次检索,如何随机化检索模式;在检索模式不同的情况下,如何保证服务器能正确的执行检索操作,而且如何保证不向用户泄露不必要的信息。
解决上述技术问题的难度:要实现检索模式隐藏的可搜索加密方案,一方面,难度在于对相同的检索,随机化导致检索模式不同,如何使云服务器对于不同的检索模式返回相同正确的检索结果;另一方面,对于用户端安全,难度在于如何使得云服务器返回的多项式是满足结果多项式和一个随机多项式的乘积。
解决上述技术问题的意义:通过隐藏检索模式,能够防止敌手利用检索模式获取用户的检索内容。此外,通过特殊的加法同态方案和辅助服务器,实现高效的同时满足加法和乘法同态的性质,相比传统的全同态加密方法,很大程度上能够提高服务器检索的效率,节省计算资源。另一方面,通过随机的多项式,不仅能够实现检索模式的隐藏,还可以提高用户端的安全性,减少向用户泄露不必要的信息。
发明内容
针对现有技术存在的问题,本发明提供了一种检索模式隐藏的可搜索加密方法、云服务器。
本发明是这样实现的,一种检索模式隐藏的可搜索加密方法,所述检索模式隐藏的可搜索加密方法包括:
第一步,数据拥有者生成系统参数和索引,并将索引和加密的文档外包至云服务器C1中;
第二步,当用户想要进行多关键词查询时,由数据拥有者生成陷门信息并发送给服务器C1;
第三步,当云服务C1接收到陷门信息时,在云服务器C2的帮助下在索引上执行检索操作,并返回用户加密的多项式;
第四步,当用户接收到加密的多项式时,通过解密该多项式的系数,并重构多项式,计算出所重构的多项式的解;获得所查询多关键词对应的文件标识符。
进一步,所述检索模式隐藏的可搜索加密方法对于每个关键词wi,根据计算多项式采用BCP加密算法Enc对进行加密得到加密的多项式通过这种方式,所有的加密多项式构成了搜索索引I。对于陷门的生成,W中的每个关键词有一个对应标量;如果wi属于查询集合Q,标量ri是一个随机数,则wi对应的陷门是Ei=Enc(ri);如果wi不属于查询集合Q,此时ri为0,则有Ei=Enc(0),生成的陷门Tr={E1,...,EM};当接收到陷门信息时,在云服务器C2的辅助下,云服务器C1执行检索操作;
首先,在C2的辅助下,C1计算随后,C1选择一个随机的多项式vi(x)并计算Enc(Qi(x))=vi(x)*hEnc(qi(x));最后,C1给用户返回加密的多项式Enc(PΔ(x))=Enc(Q1(x))+h...+hEnc(QM(x));用户收到加密的多项式后,通过解密加密的系数,重新构造多项式PΔ(x)并找到对应的解,获得对应文件的标识符。
进一步,所述检索模式隐藏的可搜索加密方法包括以下四个算法:
由数据拥有者执行,输入安全参数k和数据集DB,输出系统公共参数PP、数据密钥SKO和索引I;同时,该算法为数据集DB生成索引I;
Tr←TGen(W,QPP):由数据拥有者和数据用户执行,输入关键词集合W,用户的查询多关键词集合Q和公共参数PP,最后,数据拥有者生成关键词的陷门信息Tr;如果一个用户想要进行多关键词查找时,他需要向数据拥有者发送多关键词的集合Q;当数据拥有者接收到Q时,生成相应的陷门信息Tr;Tr是由M个加密的标量Ei组成,M是集合W的长度,即Tr={E1,E2,....,EM};其中,Ei←BCP.Enc(pk,r);
由云服务器C1和服务器C2执行;输入陷门Tr、索引I、公共参数PP和密钥当接收到陷门后,云服务器C1在服务器C2的辅助下在索引I上执行检索,并返回加密的多项式Enc(PΔ(x))给用户;id′s←Decrypt(SKO,Enc(PΔ(x))):该算法由数据使用者和数据用户执行;输入用户的解密密钥SKO和接收到的加密的多项式Enc(PΔ(x))后,用户重构一个多项式PΔ(x)并找到该多项式的解,于获得所查询关键词对应的文件标识符id′s。
进一步,所述检索模式隐藏的可搜索加密方法的中,数据拥有者运行BCP.Setup算法和BCP.KeyGen算法生成参数(pp,msk,pk,sk),公开系统参数PP=(pp,pk);向云服务器C2发送密钥数据拥有者保留密钥SKO=sk;构造多项式Pw(x)=aLxL+aL-1xL-1...a1x+a0,对于0≤i<L,采用BCP算法加密,即ci←BCP.Enc(pk,ai),令C={cL,cL-1,...,c1,c0},最后将C存储在/中得到索引;
Tr←TGen(W,QPP)中,当一个用户想要进行查询多关键词w′1∩w′2∩...∩w′q时,将查询的关键词集合Q={w′1,w′2,...,w′q}发送给数据拥有者,随后数据拥有者生成陷门信息Tr;若对于每个关键词wi∈W,若wi∈Q,r随机选择;否则,r=0,加密的标量为Ei←BCP.Enc(pk,r),陷门为Tr={E1,E2,....,EM};最后,数据拥有者将Tr发送给云服务器C1;
中,当接收到数据拥有者提交的陷门Tr后,云服务器C1在服务器C2的辅助下在索引I上执行检索操作,并返回加密的多项式Enc(PΔ(x))给用户;对于0≤i<M,计算随机选取一个多项式vi(x),计算vi(x)*hEnc(qi(x));计算Enc(PΔ(x))=Enc(Q1(x))+h...+hEnc(QM(x));最后,返回加密的多项式Enc(PΔ(x))给用户;
id′s←Decrypt(SKO,Enc(PΔ(x)))中,当用户接收到加密的多项式Enc(PΔ(x))时,首先,用户在数据拥有者的辅助下解密加密的系数σi;其次,用户重构多项式PΔ(x)=σ2Lx2L+σ2L-1x2L-1+...+σ0并找到其解,通过多项式就获取到明文文件对应的标识符。
本发明的另一目的在于提供一种应用所述检索模式隐藏的可搜索加密方法的云服务器。
综上所述,本发明的优点及积极效果为:利用一种满足加法和乘法同态加密方法和两个互不勾结的服务器,能够保证服务器成功地检索相关信息。此外,利用随机多项式提高了用户端的安全性。具体地,在检索过程中,服务器选择适当次数的随机多项式,利用加法同态性生成结果多项式,保证搜索结果多项式中除了用户想要的检索结果外,不会泄露任何其他信息。
附图说明
图1是本发明实施例提供的检索模式隐藏的可搜索加密方法流程图。
图2是本发明实施例提供的检索模式隐藏的可搜索加密方法原理示意图。
图3是本发明实施例提供的检索模式隐藏的可搜索加密方法实现流程图。
图4是本发明实例提供的索引生成时间开销示意图。
图5是本发明实例提供的查询标签生成时间开销示意图。
图6是本发明实例提供的检索时间开销示意图。
图7是本发明实例提供的解密找到明文文件标识符的时间开销示意图。
图8是本发明实例提供的检索时间开销对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种检索模式隐藏的可搜索加密方法、云服务器,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的检索模式隐藏的可搜索加密方法包括以下步骤:
S101:系统建立:数据拥有者生成系统参数和索引,并将索引加密的密文外包至云服务器C1中;
S102:生成陷门:当用户想要进行多关键词查询时,由数据拥有者生成陷门信息并发送给服务器C1;
S103:检索:当云服务C1接收到陷门信息时,在云服务器C2的帮助下在索引上执行检索操作,并返回用户加密的多项式;
S104:解密:当用户接收到加密的多项式时,通过解密该多项式的系数,并重构多项式,计算出所重构的多项式的解;因此,获得所查询多关键词对应的文件标识符。
本发明实施例提供的检索模式隐藏的可搜索加密方法的主要思想是基于多重集合的多项式表示技术。具体地,对于每个关键词wi,根据计算多项式为了保护多项式,本发明采用BCP加密算法[A simple public key cryptosystem with a doubletrapdoor decryption mechanism and its applications]Enc对进行加密得到加密的多项式通过这种方式,所有的加密多项式构成了搜索索引I。对于陷门的生成,w中的每个关键词有一个对应标量。也就是说,如果wi属于查询集合Q,标量ri是一个随机数,则wi对应的陷门是Ei=Enc(ri);如果wi不属于查询集合Q,此时ri为0,则有Ei=Enc(0)。通过这种方式,生成的陷门Tr={E1,...,EM}。当接收到陷门信息时,在云服务器C2的辅助下,云服务器C1执行检索操作。具体地,首先,在C2的辅助下,C1计算随后,C1选择一个随机的多项式vi(x)并计算Enc(Qi(x))=vi(x)*hEnc(qi(x))。最后,C1给用户返回加密的多项式Enc(PΔ(x))=Enc(Q1(x))+h...+hEnc(QM(x))。用户收到加密的多项式后,通过解密加密的系数,重新构造多项式PΔ(x)并找到对应的解,即获得了对应文件的标识符。
本发明实施例提供的检索模式隐藏的可搜索加密方法包括以下四个算法:
该算法由数据拥有者执行。输入安全参数k和数据集DB,输出系统公共参数PP、数据密钥SKO和索引I。同时,该算法为数据集DB生成索引I。
Tr←TGen(W,Q,PP):该算法由数据拥有者和数据用户执行。输入关键词集合W,用户的查询多关键词集合Q和公共参数PP,最后,数据拥有者生成关键词的陷门信息Tr。具体地,如果一个用户想要进行多关键词查找时,他需要向数据拥有者发送多关键词的集合Q。当数据拥有者接收到Q时,生成相应的陷门信息Tr。Tr是由M(M是集合W的长度)个加密的标量Ei组成,即Tr={E1,E2,....,EM}。其中,Ei←BCP.Enc(pk,r)。
该算法由云服务器C1和服务器C2执行。输入陷门Tr、索引I、公共参数PP和密钥当接收到陷门后,云服务器C1在服务器C2的辅助下在索引I上执行检索,并返回加密的多项式Enc(PΔ(x))给用户。
id′s←Decrypt(SKO,Enc(PΔ(x))):该算法由数据使用者和数据用户执行。输入用户的解密密钥SKO和接收到的加密的多项式Enc(PΔ(x))后,用户重构一个多项式PΔ(x)并找到该多项式的解,于是就能够获得所查询关键词对应的文件标识符id′s。
本发明实施例提供的检索模式隐藏的可搜索加密方法的中,数据拥有者运行BCP.Setup算法和BCP.KeyGen算法生成参数(pp,msk,pk,sk),公开系统参数PP=(pp,pk);向云服务器C2发送密钥数据拥有者保留密钥SKO=sk。除此之外,构造多项式Pw(x)=aLxL+aL-1xL -1...a1x+a0,对于0≤i<L,采用BCP算法加密,即ci←BCP.Enc(pk,ai),令C={cL,cL-1,...,c1,c0},最后将C存储在I中得到了索引。
Tr←TGen(W,Q,PP)中,当一个用户想要进行查询多关键词w′1∩w′2∩...∩w′q时,将查询的关键词集合Q={w′i,w′2,...,w′q}发送给数据拥有者,随后数据拥有者生成陷门信息Tr。若对于每个关键词wi∈W,若wi∈Q,r随机选择;否则,r=0,加密的标量为Ei←BCP.Enc(pk,r),陷门为Tr={E1,E2,....,EM}。最后,数据拥有者将Tr发送给云服务器C1。
中,当接收到数据拥有者提交的陷门Tr后,云服务器C1在服务器C2的辅助下在索引I上执行检索操作,并返回加密的多项式Enc(PΔ(x))给用户。详细地,对于0≤i<M,计算随机选取一个多项式vi(x),计算vi(x)*hEnc(qi(x));计算Enc(PΔ(x))=Enc(Q1(x))+h...+hEnc(QM(x));最后,返回加密的多项式Enc(PΔ(x))给用户。
id′s←Decrypt(SKO,Enc(PΔ(x)))中,当用户接收到加密的多项式Enc(PΔ(x))时,首先,用户在数据拥有者的辅助下解密加密的系数σi。其次,用户重构多项式PΔ(x)=σ2Lx2L+σ2L-1x2L-1+...+σ0并找到其解。因此,通过此多项式就能够获取到明文文件对应的标识符。
下面结合附图对本发明的技术方案作进一步的描述。
1、本发明能够在隐藏检索模式的同时支持多关键词检索功能。主要利用多重集合的多项式表示,建立文件的标识符相关的多项式,并采用BCP加密算法加密多项式,从而构建了文件的索引。在生成陷门时,本发明通过引入随机数使得陷门是随机的而不是确定的,因此,能够隐藏检索模式。同时,本发明构造特殊的同态加密方法,相比传统的同态加密方法,云服务器C1在云服务器C2的辅助下执行高效的检索操作。因此,本发明在提高效率的基础上,可以更进一步保护数据安全。
1.1在表1中总结了本发明中使用的符号含义。
表1符号定义
1.2具体构造
检索模式隐藏的可搜索加密方案系统模型。其中本发明主要由以下4个算法(Setup,TGen,Search,Decrypt)组成:
该算法由数据拥有者执行。输入安全参数k和数据集DB,输出系统公共参数PP、数据密钥SKO和索引I。同时,该算法为数据集DB生成索引I。
具体地,数据拥有者采用BCP.Setup和BCP.KeyGen算法生成参数(pp,msk,pk,sk),其中,系统公共参数PP=(pp,pk),将生成的数据密钥发送给云服务器C2。数据拥有者自身保留密钥SKO=sk。并构造多项式利用BCP.Enc算法加密并获得索引I。细节见算法1。
Tr←TGen(W,Q,PP):
当某一个用户查询多关键词w′1∩w′2∩...∩w′q时,他将查询的关键词集合Q={w′1,w′2,...,w′q}发送给数据拥有者。随后数据拥有者生成陷门信息Tr={E1,E2,....,EM}。
具体地,数据拥有者检查判断wi(wi∈W)是否属于集合Q。如果wi∈Q,数据拥有者随机生成并用BCP加密算法加密r,即Ei=BCP.Enc(pk,r);如果将r设置为0,即r=0,Ei=BCP.Enc(pk,0)。
最后,数据拥有者生成陷门信息Tr并发送给云服务器C1。
在服务器C2的辅助下,云服务器C1能够在索引I上执行检索并返回用户加密的多项式。
具体地,由于乘法同态的性质,服务器C2主要负责计算Enc(qi(x))。除此之外,因为只需要加法同态的属性,云服务器C1独立生成Enc(Qi(x))和Enc(PΔ(x))。执行完检索操作后,云服务器C1向用户返回加密的多项式Enc(PΔ(x))。算法的细节见算法2。
id′s←Decrypt((SKO,Enc(PΔ(x))):
当用户接收到云服务器C1返回的加密的多项式Enc(PΔ(x))时,在数据拥有者的辅助下能够解密获得所包含查询关键词对应文件的标识符。具体地,首先,用户首先在数据拥有者的辅助下解密获得多项式的系数σi。用户重构多项式PΔ(x)=σ2L 2L+σ2L-1 2L-1+...+σ0,并且找到它的解。关于查询关键词的检索结果是此多项式的根,该根属于域U。
下面结合实验对本发明的技术效果作详细地描述:
首先进行功能对比。本发明将本发明、Cash方案[Highly-scalable searchablesymmetric encryption withsupport for boolean queries]、Boneh方案[Privatedatabase queries using somewhat homomorphic encryption]、Cao方案[Privacy-preservingmulti-keyword ranked search over encrypted cloud data]、Kamara方案[Structured encryptionand leakage suppression]从以下几个功能方面作一对比,如表2。
表2功能比较
从表2中可以看出本发明能够保护检索模式,同时支持连接(多)关键词检索。虽然Cash方案和Boneh方案支持多关键词的检索,但并不能保护检索模式。Cao方案的主要目的在于保护检索模式,但是泄露了访问模式和响应相等模式。Kamara方案可以保护检索模式,然而,一旦询问的次数超过了某一设定的访问时间,则需要服务器和数据拥有者交互重新建立整个索引。而本发明并没有这一缺陷。
下面是对本发明与Boneh方案从效率方面(主要包括Setup阶段、TGen阶段和Search阶段)的对比结果,如表3所示。
表3效率对比
本发明和Boneh方案都是基于集合的多项式表示技术,因此本发明主要对Boneh方案和本发明在效率方面进行分析比较。表示一次哈希操作,表示一次乘法运算,ε表示一次幂运算,|Q|表示查询得关键词数。本发明中为了保护检索模式,需要云服务器在整个数据库中执行检索。检索操作可以并行执行。具体来说,每个关键词的检索操作是独立的,可以并行执行。这种良好的性能可以用来提高检索效率。
进一步,对提出的检索模式隐藏的可搜索加密方法进行了实验仿真,实验环境是Linux系统,1.60GHZ的CPU,8G运行内存。
当安全参数分别取128位、512位和1024位时,本发明在Setup阶段生成索引的时间开销如图4所示。可以很直观地看出索引的生成时间开销随着安全参数的长度增长而增大,因此用户可以考虑在选取参数时,需要在安全性和效率之间折中衡量。
当安全参数分别取128位、512位和1024位时,本发明在TGen阶段生成陷门的时间开销如图5所示。本发明可以看出,随着数据集中关键词数量的增多,陷门的生成时间变长。但是,从用户角度考虑,该时间性能是可以接受的,理由是当安全参数选择1024位、关键词-文件对数是10×104时,生成陷门的时间不超过35ms。
Search阶段,为了提高检索效率,本发明使用14台Linux机器(56个线程)部署的分布式网络,其中用Intel Core I3-2120处理器,3.30GHz的CPU,4G运行内存的Linux系统来模拟C1,用Inte1 Core I3-2120处理器,3.30GHz的CPU,4G运行内存的Linux系统来模拟C2。如图6所示,执行检索的时间开销随着数据集的增大而增大。
Decrypt阶段,用户通过解密加密的多项式,重构多项式并找到其解的过程是非常快的,即找到对应明文的文件标识符是非常高效的。如图7所示,当安全参数选择1024位、关键词-文件对数是10×104时,用户找到所查询关键词对应的明文文件的标识符的时间低于20ms。当安全参数选择128位、关键词-文件对数是10×104时,用户找到所查询关键词对应的明文文件的标识符的时间不超过4ms。所以,整体上此阶段时间开销是很短的。
最后,对比本发明与Karama方案和Boneh方案的检索效率。本发明在具有1.6GHz的CPU、8G内存、Intel Core I5处理器的LINUX系统上实现了这三种方案的检索操作。Boneh方案和本发明采用的BCP加密都选择256位的安全参数,并以并行的方式实现。与Boneh方案相比,本发明的方案效率略低。因为在Boneh方案中只使用了加性同态性质,而在本发明的方案中同时需要加性和乘性同态性质。如图8所示,展示了本发明与Karama方案和Boneh方案的检索时间开销,在Karama方案中,本发明采用AES-256安全参数模式加密文件标识符。由于Karama方案使用了二分法查找技术,因此检索是非常高效的。然而,该方案的检索效率是以大量重建加密数据为代价的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种检索模式隐藏的可搜索加密方法,其特征在于,所述检索模式隐藏的可搜索加密方法包括:
第一步,数据拥有者生成系统参数和索引,并将索引和加密的文档外包至云服务器C1中;
第二步,当用户想要进行多关键词查询时,由数据拥有者生成陷门信息并发送给服务器C1;
第三步,当云服务C1接收到陷门信息时,在云服务器C2的帮助下在索引上执行检索操作,并返回用户加密的多项式;
第四步,当用户接收到加密的多项式时,通过解密该多项式的系数,并重构多项式,计算出所重构的多项式的解;获得所查询多关键词对应的文件标识符。
2.如权利要求1所述的检索模式隐藏的可搜索加密方法,其特征在于,所述检索模式隐藏的可搜索加密方法对于每个关键词wi根据计算多项式采用BCP加密算法Enc对进行加密得到加密的多项式通过这种方式,所有的加密多项式构成了搜索索引I;对于陷门的生成,W中的每个关键词有一个对应标量;如果wi属于查询集合Q,标量ri是一个随机数,则wi对应的陷门是Ei=Enc(ri);如果wi不属于查询集合Q,此时ri为0,则有Ei=Enc(0),生成的陷门Tr={E1,...,EM};当接收到陷门信息时,在云服务器C2的辅助下,云服务器C1执行检索操作;
首先,在C2的辅助下,C1计算随后,C1选择一个随机的多项式vi(x)并计算Enc(Qi(x))=vi(x)*hEnc(qi(x));最后,C1给用户返回加密的多项式Enc(PΔ(x))=Enc(Q1(x))+h…+hEnc(QM(x));用户收到加密的多项式后,通过解密加密的系数,重新构造多项式PΔ(x)并找到对应的解,获得对应文件的标识符。
3.如权利要求1所述的检索模式隐藏的可搜索加密方法,其特征在于,所述检索模式隐藏的可搜索加密方法包括以下四个算法:
由数据拥有者执行,输入安全参数k和数据集DB,输出系统公共参数PP、数据密钥SKO和索引I;同时,该算法为数据集DB生成索引I;
Tr←TGen(W,QPP):由数据拥有者和数据用户执行,输入关键词集合W,用户的查询多关键词集合Q和公共参数PP,最后,数据拥有者生成关键词的陷门信息Tr;如果一个用户想要进行多关键词查找时,他需要向数据拥有者发送多关键词的集合Q;当数据拥有者接收到Q时,生成相应的陷门信息Tr;Tr是由M个加密的标量Ei组成,M是集合W的长度,即Tr={E1,E2,...,EM};其中,Ei←BCP.Enc(pk,r);
由云服务器C1和服务器C2执行;输入陷门Tr、索引I、公共参数PP和密钥当接收到陷门后,云服务器C1在服务器C2的辅助下在索引I上执行检索,并返回加密的多项式Enc(PΔ(x))给用户;id′s←Decrypt(SKO,Enc(PΔ(x))):该算法由数据使用者和数据用户执行;输入用户的解密密钥SKO和接收到的加密的多项式Enc(PΔ(x))后,用户重构一个多项式PΔ(x)并找到该多项式的解,于获得所查询关键词对应的文件标识符id′s。
4.如权利要求1所述的检索模式隐藏的可搜索加密方法,其特征在于,所述检索模式隐藏的可搜索加密方法的中,数据拥有者运行BCP.Setup算法和BCP.KeyGen算法生成参数(pp,msk,pk,sk),公开系统参数PP=(pp,pk);向云服务器C2发送密钥数据拥有者保留密钥SKO=sk;构造多项式Pw(x)=aLxL+aL-1xL-1...a1x+a0,对于0≤i<L,采用BCP算法加密,即ci←BCP.Enc(pk,ai),令C={cL,cL-1,...,c1,c0},最后将C存储在I中得到索引;
Tr←TGen(W,QPP)中,当一个用户想要进行查询多关键词w′1∩w′2∩...∩w′q时,将查询的关键词集合Q={W′1,w′2,...,w′q}发送给数据拥有者,随后数据拥有者生成陷门信息Tr;若对于每个关键词wi∈W,若wi∈Q,r随机选择;否则,r=0,加密的标量为Ei←BCP.Enc(pk,r),陷门为Tr={E1,E2,...,EM};最后,数据拥有者将Tr发送给云服务器C1;
中,当接收到数据拥有者提交的陷门Tr后,云服务器C1在服务器C2的辅助下在索引I上执行检索操作,并返回加密的多项式Enc(PΔ(x))给用户;对于0≤i<M,计算随机选取一个多项式vi(x),计算vi(x)*hEnc(qi(x));计算Enc(PΔ(x))=Enc(Q1(x))+h…+hEnc(QM(x));最后,返回加密的多项式Enc(PΔ(x))给用户;
id′s←Decrypt(SKO,Enc(PΔ(x)))中,当用户接收到加密的多项式Enc(PΔ(x))时,首先,用户在数据拥有者的辅助下解密加密的系数σi;其次,用户重构多项式PΔ(x)=σ2Lx2L+σ2L- 1x2L-1+…+σ0并找到其解,通过多项式就获取到明文文件对应的标识符。
5.一种应用权利要求1~4任意一项所述检索模式隐藏的可搜索加密方法的云服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554386.3A CN110427771B (zh) | 2019-06-25 | 2019-06-25 | 一种检索模式隐藏的可搜索加密方法、云服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554386.3A CN110427771B (zh) | 2019-06-25 | 2019-06-25 | 一种检索模式隐藏的可搜索加密方法、云服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427771A true CN110427771A (zh) | 2019-11-08 |
CN110427771B CN110427771B (zh) | 2021-04-13 |
Family
ID=68408622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910554386.3A Active CN110427771B (zh) | 2019-06-25 | 2019-06-25 | 一种检索模式隐藏的可搜索加密方法、云服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427771B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132345A (zh) * | 2021-03-04 | 2021-07-16 | 北京航空航天大学 | 具有可搜索功能的代理隐私集合求交方法 |
CN113177167A (zh) * | 2021-04-28 | 2021-07-27 | 湖南大学 | 一种基于云计算隐私保护的空间关键词搜索方法 |
CN116107967A (zh) * | 2023-02-14 | 2023-05-12 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005594A1 (en) * | 2005-06-30 | 2007-01-04 | Binyamin Pinkas | Secure keyword search system and method |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN107463849A (zh) * | 2017-07-21 | 2017-12-12 | 西安电子科技大学 | 基于单服务器的隐私信息恢复方法 |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
-
2019
- 2019-06-25 CN CN201910554386.3A patent/CN110427771B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005594A1 (en) * | 2005-06-30 | 2007-01-04 | Binyamin Pinkas | Secure keyword search system and method |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN107463849A (zh) * | 2017-07-21 | 2017-12-12 | 西安电子科技大学 | 基于单服务器的隐私信息恢复方法 |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
Non-Patent Citations (4)
Title |
---|
MANISH KUMAR YADAV ETC.: "Encrypted Keyword Search in Cloud Computing using Fuzzy Logic", 《IEEE》 * |
ZHIRONG SHEN ETC: "Keyword Search With Access Control Over Encrypted Cloud Data", 《IEEE》 * |
王贇玲: "基于模糊关键字的可搜索加密方案", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陆海宁: "可隐藏搜索模式的对称可搜索加密方案", 《万方数据》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132345A (zh) * | 2021-03-04 | 2021-07-16 | 北京航空航天大学 | 具有可搜索功能的代理隐私集合求交方法 |
CN113132345B (zh) * | 2021-03-04 | 2022-07-26 | 北京航空航天大学 | 具有可搜索功能的代理隐私集合求交方法 |
CN113177167A (zh) * | 2021-04-28 | 2021-07-27 | 湖南大学 | 一种基于云计算隐私保护的空间关键词搜索方法 |
CN116107967A (zh) * | 2023-02-14 | 2023-05-12 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
CN116107967B (zh) * | 2023-02-14 | 2024-04-30 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110427771B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108494768B (zh) | 一种支持访问控制的密文搜索方法及系统 | |
Chase et al. | Substring-searchable symmetric encryption | |
US9342707B1 (en) | Searchable encryption for infrequent queries in adjustable encrypted databases | |
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
CN109145079B (zh) | 基于个人兴趣用户模型的云端可搜索加密方法 | |
CN110427771A (zh) | 一种检索模式隐藏的可搜索加密方法、云服务器 | |
CN106921674A (zh) | 抗后量子攻击的代理重加密语义可搜索加密方法 | |
Bösch et al. | Selective document retrieval from encrypted database | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
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 | |
Kim et al. | Better security for queries on encrypted databases | |
CN107766739B (zh) | 面向加密文本数据的短语检索方法及其装置 | |
Wu et al. | Executing SQL queries over encrypted character strings in the Database-As-Service model | |
Gu et al. | Public key encryption with keyword search from lattices | |
Wang et al. | An efficient and privacy-preserving range query over encrypted cloud data | |
Strizhov et al. | Secure Multi-keyword Similarity Search Over Encrypted Cloud Data Supporting Efficient Multi-user Setup. | |
DAYIOĞLU | Secure database in cloud computing-cryptdb revisited | |
Peng et al. | hOPE: improved order preserving encryption with the power to homomorphic operations of ciphertexts | |
Sun et al. | Secure keyword-based ranked semantic search over encrypted cloud data | |
Poh et al. | Structured encryption for conceptual graphs | |
Moataz et al. | Privacy-preserving multiple keyword search on outsourced data in the clouds | |
CN116226466A (zh) | 一种最小社区搜索方法、装置、系统及存储介质 | |
Reddy et al. | A secure, fast insert and efficient search order preserving encryption scheme for outsourced databases | |
Hou et al. | Public-key searchable encryption from lattices |
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 |