CN109450935B - 云存储中可验证的语义安全的多关键词搜索方法 - Google Patents
云存储中可验证的语义安全的多关键词搜索方法 Download PDFInfo
- Publication number
- CN109450935B CN109450935B CN201811553957.3A CN201811553957A CN109450935B CN 109450935 B CN109450935 B CN 109450935B CN 201811553957 A CN201811553957 A CN 201811553957A CN 109450935 B CN109450935 B CN 109450935B
- Authority
- CN
- China
- Prior art keywords
- query
- user
- index
- data
- data owner
- 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
Images
Classifications
-
- 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/045—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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及云存储中可验证的语义安全的多关键词搜索方法,包括系统初始化,TA与数据拥有者之间建立共享密钥,数据拥有者对数据文档及其索引的加密,TA生成查询陷门,云服务端安全查询,以及查询用户验证查询结果六个步骤,本发明通过内积谓词加密和双系统加密实现了对加密索引的语义安全的多关键词连接查询,通过引入可信的TA,实现了细粒度的授权,克服了传统的“0”或者“1”授权模型的缺点,TA对查询用户的查询资格进行验证并为通过验证的用户发送查询陷门,解决了数据拥有者需要一直在线的问题,本发明能实现细粒度授权,并且可以抵御词典攻击,可以验证查询结果正确性,是一种语义安全的多关键词搜索方法。
Description
技术领域
本发明涉及加密搜索技术领域,具体涉及云存储中可验证的语义安全的多关键词搜索方法。
背景技术
云计算作为一种继分布式计算,网格计算等之后一种崭新的计算模式,可以提供强大的数据存储,管理和计算能力。近几年,随着云计算的迅速发展,很多公司或组织开始将数据外包到云端服务器,它不仅实现了用户随时随地访问远程数据,而且能减少用户的本地计算和维护开销。但是云服务器是由第三方互联网商业公司(如亚马逊、谷歌等)维护与管理的,通常与用户不属于同一个信任域。因此云计算带来便利服务的同时也可能产生严峻的安全隐患。为了保护数据安全和用户隐私,用户一般将数据加密后再存储在云服务器上。加密技术在保障外包数据安全和用户隐私的同时,也给实现安全而有效地密文搜索带来了巨大的挑战,而将所有密文下载到本地再进行解密则无疑会占用大量网络带宽和计算资源,因而也是不切实际的。
为了解决对加密数据的安全搜索问题,研究者已经提出了一些像同态加密,不经意的RAM(oblivious RAMs),但这些方法因为高昂的计算开销而不切实际。相反更加实际的方法,如可搜索加密(Searchable encryption,简称SE)方案也已经被提出,SE方案可以实现用户直接对密文进行检索,接收到密文后再对其解密,从而得到用户想要的数据,而不需要下载所有密文,然后全部解密之后才能检索自己需要的内容,这样可以节省大量的通信开销和计算开销,实现了对云端数据的高效控制,但基于公钥加密算法的SE方案具有不能抵制词典攻击(dictionaryattack)的固有缺点。
Li Ming等的论文“Authorized Private Keyword Search over EncryptedPersonal Health Records in Cloud Computing”(International Conference onDistributed Computing Systems IEEE,2011)涉及一种云环境下对加密的个人健康记录的可授权的多关键词搜索方法,文章基于现有的密码源语-分层谓词加密(hierarchicalpredicate encryption,简称HPE)提出两个可授权的关键词加密方法,他们引入了可信的授权机构TA,实现了基于用户属性的细粒度的授权模式,克服了传统的“0”或者“1”授权的弊端。在系统中,当查询用户需要进行关键词查询时,直接向TA不是数据拥有者发出查询请求,TA根据预先定义的授权规则决定是否对该用户授权,这解决了数据拥有者需要一直在线的弊端,而且他们还通过在索引的加密密文上引入一个随机数,从而克服了基于公钥加密算法的SE方案不能抵制词典攻击(dictionary attack)的固有缺点。然而该方案是假定云服务器是半诚实的,没有考虑云服务器在查询结果中插入不正确的结果的情形,没有验证查询结果正确性的功能。
申请号为CN201610243440.9的“基于公钥可搜索加密的文件存储、搜索方法及存储系统”的中国专利,涉及一种基于公钥加密的可搜索加密算法,该方案通过设置文件属性向量用于对文件的访问控制以及文件的搜索;通过设置文件的安全级别参数,来标识文件对安全强度的需求,不同的安全级别对应于不同的加密方式和加密强度。该方案解决现有的公钥可搜索加密用于属性加密时加密效率低的问题,适用对安全级别需求不同的多个应用,然而它的核心思想仍然是数据拥有者的文件属性是利用系统公钥进行加密的,这种加密的方法具有不能抵御词典攻击的固有缺陷,而且该方案也不具有查询用户验证查询结果的功能。
申请号为CN201510408903.8的“云存储中基于双线性对的多用户多关键词可搜索加密方法”的中国专利,涉及一种基于双线性对的多用户多关键词的密文搜索方法。本方案采用授权用户对关键词加密和云服务器对加密数据重加密的方式提出了一种可搜索多个关键词的加密方法,使得授权用户能够利用连接关键词的陷门搜索加密文档,而且该方案中加入了用户管理机构实现了用户的授权和管理问题。然而在这个方案中用户的授权采用的仍然是“0”或“1”授权模型,一旦用户被授权,用户管理机构将可以用于生成查询陷门的密钥发送给查询用户,也就是授权中的“1”模型,这样授权方式可以使用户请求任何多关键词连接查询,这在很多应用中是不能满足需求的,而且在这个方案中也没有查询结果验证的功能。
申请号为CN201711332605.0的“无证书的可验证多关键字密文查询系统及方法”的中国专利,具体涉及一种无证书的可验证多关键字密文查询系统及方法,引入了密钥生成中心,该方案中与传统基于公钥加密算法的密文查询不同的是,该文将密钥生成中心也假定为不可信的,通过让密钥生成中心分别根据数据拥有者和数据用户身份信息生成部分私钥,数据拥有者和数据用户根据部分私钥和秘密值生成完整的私钥,这样密钥生成中心就无法得到数据拥有者和数据用户的私钥,因而增加了私钥保护的安全性。然而在这个技术方案中,用户的授权描述不清楚,而且数据拥有者外包数据之前,数据拥用者采用公钥加密算法加密明文文档集,由于公钥加密算法具有加密速度比较缓慢的特征,所有用公钥算法加密比较大的明文文件是不切实际的。而且这个技术方案只提供了一个技术框架,并没有提供具体的算法描述。
而且上述列举的这四种现有技术都不是语义安全的,这对有语义安全需求的应用来说安全性是不够的。语义安全,是指攻击者即使拥有可选择的明密文对的知识也不能从数据拥有者外包的数据和用户提交的查询陷门中推断任何信息。
发明内容
针对现有技术的缺陷,本发明的目的是提供一种能实现细粒度授权,并且可以抵御词典攻击,可以验证查询结果正确性,语义安全的云存储中可验证的语义安全的多关键词搜索方法。
为了达到上述目的,本发明所采用的技术方案是:
云存储中可验证的语义安全的多关键词搜索方法,包括以下步骤:
步骤一、系统初始化,TA(可信的授权机构)负责系统密钥的生成,TA先后进行对偶矢量空间产生算法、正交基产生算法和初始化算法产生系统密钥(PK,SK);
步骤二、TA与数据拥有者之间建立共享密钥s,从而TA可以给数据拥有者安全地分发私密的参数,这些私密的参数用于数据拥有者对数据文档及其索引的加密;
步骤三、数据拥有者对数据文档及其索引的加密,数据拥有者需要将数据文档集F={f1,...,fm}及其索引I={I1,...,Im}进行加密后外包给云服务器,用分别表示数据文档fi的标识符的密文,数据文档fi的密文,及fi对应的索引Ii的密文,m是数据文档的个数;
步骤五、云服务器端对加密的索引执行安全的搜索,将查询结果发送给查询用户;
步骤六、查询用户验证查询结果。
进一步地,步骤一中TA生成系统密钥的具体过程为:
(1.1)TA运行对偶矢量空间产生算法δdpvs(1λ,N),输出一个DPVS组1λ是安全参数,q是一个素数,和是q阶循环群,g和gT分别是和的生成元,是一个非退化的双线性对操作,gT=e(g,g)≠1,定义在有限域Fq上的N维矢量空间 的标准基其中N是矢量空间的维度,N=2n+3,n是属性矢量和查询矢量的长度;
(1.3)TA运行初始化算法Setup(1λ,2n+3),产生系统密钥(PK,SK),用于索引矢量的加密和查询陷门的生成:
进一步地,步骤二中TA与数据拥有者利用Diffie-Hellman密钥交换协议建立共享密钥s,共同输入(q,g),q是大素数,q与对偶矢量空间DPVS中的q取值相同,g为的一个生成元,输出:A和B共享的一个中的一个元素,此处A、B分别代表TA和数据拥有者,具体过程为:
(2.1)A均匀随机选择a∈[1,q-1],计算ga←ga(modq),发送ga给B;
(2.2)B均匀随机选择b∈[1,q-1],计算gb←gb(modq),发送gb给A;
进一步地,步骤三中的索引I的加密过程如下:
(3.1)数据拥有者从TA请求用于索引加密的安全参数(r,K1)∈SK,用于索引I的加密,
进一步地,步骤(3.1)请求安全参数(r,K1)的具体过程包括:
(3.1.1)TA利用与数据拥有者共享的密钥s计算P1=sr,P2=sK1,并发送(P1,P2)给数据拥有者;
(3.1.2)数据拥有者利用共享密钥s计算s-1P1和s-1P2分别获得r和K1,这里s-1指的是s的模q逆元。
(4.1)接到从用户发来的包含查询关键词的查询Q,TA检查该用户是否拥有与查询关键词相同的属性值或者是否有资格查询那些属性值;若TA检查后发现该查询用户符合查询权限,将查询Q表示成查询矢量n是查询矢量的长度;
假设用户不关心第j(1≤j≤d)个属性的值,定义βj=1;
β=β1.β2...,βd-1.βd,这里d是属性的个数;
进一步地,步骤五云服务器端对加密的索引执行安全的搜索,将查询结果发送给查询用户的过程具体为,接到从查询用户发来的陷门云服务器根据查询陷门对存储在它上面的每条索引密文逐条执行查询,m为数据文档的数目,最后将查询结果发送给查询用户,具体过程下:
(5.3)云服务器将(αi,pfi)返回给用户,此处pfi表示文件索引Ii包含所有查询关键词的证据,αi表示Ii对应的文件标识符的密文。
进一步地,步骤六查询用户验证查询结果的具体过程为,用户从云服务器接到查询结果(αi,pfi)后,用户根据算法Verify(pfi,αi,β)验证结果的正确性,此处β=β1.β2...,βd-1.βd是步骤四中TA根据用户的查询关键词计算出来并返回给用户的,当算法输出1,查询用户认为结果是正确的,若输出0,查询用户认为结果是不正确的。
本发明的有益效果在于:
(1)利用内积谓词加密和DVPS实现了多关键词连接查询。
(2)引入可信的TA,根据查询用户的属性设定授权规则,并根据授权用户的查询关键词生成陷门发送给查询用户,而不是直接将生成查询陷门的密钥发送给查询用户,这样避免了查询用户得到用于产生查询陷门的密钥后发起对任何关键词的连接查询,也就是克服了“0”或“1”的授权的缺陷。TA对用户进行授权同时也解决了数据拥有者需要一直在线的问题。
(3)利用系统公钥加密索引后,数据拥有者将该索引密文乘以一个随机因子这个随机因子由TA选取并用TA与数据拥有者之间的共享密钥加密后发送给数据拥有者的。TA为查询用户生成查询陷门后也需要乘以r的逆元r-1,这样消除了在云服务器端查询时因为r的引入受到的影响。索引密文中引入随机数的操作克服了传统的基于公钥密码算法的可搜索加密中攻击者可以发起词典攻击的缺陷。
(4)利用内积谓词加密和双系统加密的思想,实现了语义安全的多关键词查询,也就是说在攻击者具有选择性的获取索引明密文对以及查询关键词的明密文对的前提下,本发明仍然能实现索引数据的安全以及查询关键词的安全。
附图说明
图1是本发明的系统体系结构图。
具体实施方式
本发明提供一种云存储中可验证的语义安全的多关键词搜索方法,即云环境下基于对偶矢量空间(Dual pairing vector space,简称DVPS)和内积谓词加密的对加密数据的语义安全搜索方法,为了更清晰地描述本发明的技术方案,下面首先简要介绍DVPS和内积谓词加密。
DPVS:DPVS构建在双线性对群上面,这里q是一个素数,和是q阶循环群,g1,g2,gT分别是的生成元,是一个非退化的双线性对操作,gT=e(g,g)≠1。我们的方案是构造在一个对称的双线性对群上,也就是
内积谓词加密:在标准的谓词加密(PE)中,私钥对应于一个谓词类密文对应属性集∑中的一个属性,当且仅当f(I)=1时,对应于一个谓词的私钥skf可以用来解密对应于属性I∈∑的一个密文;在内积谓词的谓词加密中,每个属性对应一个属性矢量每一个谓词对应一个谓词矢量当且仅当时(这里“·”表示内积),
在内积谓词加密中索引属性和多关键词查询都表示为一个矢量形式;我们下面介绍查询是多个属性关键词之间的AND连接时索引矢量(也称属性矢量)和谓词矢量(也称查询矢量)的表示方法;这种表示方法的基本思想是先转化为多项式,再转化为矢量,假定每个索引中有d个属性。
对于查询"(A1=a1)∧(A2=a2),...,∧(Ad=ad)",该查询可以转化为多项式p(A1,A2,...,Ad)=r1(A1-a1)+r2(A2-a2)+,...,+rd-1(Ad-1-ad-1)+(Ad-ad),这里系数ri∈Fq。
用户可能查询时只关注b(b<d)个属性,例如,对病人电子医疗记录的一个查询“性别=男”∧“疾病=胃癌”只关注病人的性别和疾病,并不关心年龄和地区等其他属性,这时查询矢量的表示方法是:对于不关注的属性,查询矢量的对应位上改为0即可。
当查询具有属性间是“与”连接,属性内包含范围查询或者“OR”特征时,如“60≤年龄≤70”∧“疾病=胃癌”,属性矢量和查询矢量还用上述的矢量表示方法,那么矢量长度会增长很多,因而会相应的增加索引矢量和查询矢量加密的计算量,为此一些研究中也提出了一些适应这种查询的矢量表示方法,他们都满足在本发明的方案中可以根据需求采用合适的索引矢量和查询矢量的表示方法。
在本发明方案中,符号“z←A(x,y,...)”表示运行输入为(x,y,...)的算法A,输出z;表示从集合A中均匀随机地选取一个元素a;“GL(N,Fq)”表示每个元素属于Fq的N×N的可逆矩阵的集合;“F:Keys(F)×D→R”是一个定义域是D,值域是R的映射,Keys(F)是F的密钥集合;F(K,x)也可表示为FK(x),本方案中我们也称F(K,x)为x的密文。
下面详细介绍本发明的技术方案,本发明的系统体系结构如图1所示,本发明的查询方法包括:系统初始化,TA(可信的授权机构)与数据拥有者之间建立共享密钥,数据拥有者对数据文档及其索引的加密,TA生成查询陷门,云服务端安全查询,以及查询用户验证查询结果六个步骤,具体如下。
步骤一、系统初始化,TA负责系统密钥的生成;具体的过程如步骤1.1-1.3。
步骤1.2:TA运行正交基产生算法δob(1λ,N)N=2n+3;
步骤1.3:TA运行初始化算法Setup(1λ,2n+3),产生系统密钥(PK,SK),用于索引矢量的加密和查询陷门的生成。
步骤二、TA和数据拥有者建立共享密钥;TA需要与数据拥有者之间建立共享密钥,从而TA可以给数据拥有者安全地分发私密的参数,这些私密的参数用于数据拥有者对数据文档及其索引的加密;本发明采用Diffie-Hellman密钥交换协议建立共享密钥s;Diffie-Hellman密钥交换协议描述如下。
Diffie-Hellman密钥交换协议:
步骤2.1:A均匀随机选择a∈[1,q-1],计算ga←ga(modq),发送ga给B;
步骤2.2:B均匀随机选择b∈[1,q-1],计算gb←gb(modq),发送gb给A;
在上述算法中,A和B分别代表着TA和数据拥有者。
步骤三、数据拥有者对文档数据及其索引的加密。为了方便搜索,数据拥有者将他拥有的数据文档集(如病人的电子医疗文档)F={f1,...,fm}建立一个索引I={I1,...,Im},m是数据文档(或电子医疗文档)的数目;我们称一条索引为一条记录,数据拥有者需要将数据文档集F={f1,...,fm}和索引I={I1,...,Im}进行加密后外包给云服务器。
文档集F的加密可以用传统的对称加密算法,如AES算法加密。
索引I的加密过程如下步骤3.1-3.4:
步骤3.1:数据拥有者从TA请求用于索引加密的安全参数(r,K1)∈SK,用于索引I的加密。请求(r,K1)的具体过程如步骤3.1.1-3.1.2。
步骤3.1.1:TA利用步骤二中建立的数据拥有者的共享密钥s计算(P1,P2),P1=sr,P2=sK1,并发送(P1,P2)给数据拥有者。
步骤3.1.2:数据拥有者利用共享密钥s计算s-1P1=r和s-1P2=K1得到(r,K1),这里s-1指的是s的模q逆元。
步骤四、TA生成查询陷门并发送给查询用户。TA根据查询用户的查询关键词需要执行以下步骤4.1-4.3产生查询陷门(即查询矢量的密文)。
步骤4.1:接到从用户发来的包含查询关键词的查询Q,TA检查这个用户是否拥有与查询关键词相同的属性值或者是否有资格查询那些属性值。
假设用户不关心第j(1≤j≤d)个属性的值,定义βj=1。
β=β1.β2...,βd-1.βd,这里d是属性的个数。
否则,返回0。
步骤5.3:云服务器将(αi,pfi)返回给用户,其中pfi表示文档的索引Ii包含所有查询关键词的证据,αi表示Ii对应的数据文档fi的标识符的密文。
步骤六、查询用户验证结果。查询用户从云服务器接到查询结果(αi,pfi)后,根据算法Verify(pfi,αi,β)验证结果的正确性;这里的β=β1.β2...,βd-1.βd是步骤四中TA根据用户的查询关键词计算出来并返回给用户的;当算法输出1,查询用户认为结果是正确的。.
Verify(pfi,αi,β):
Ift=pfi,Return 1,说明结果正确。
Otherwise,Return 0,说明结果不正确。
这里正确是基于这样一个事实:
上述列举的技术方案适用于查询用户不关心查询到的具体的病人的具体的电子文档的内容,也就是对应明文fi,只用于统计等目的,因此查询用户不需解密查询到结果;若查询用户关心查询到的病人文档的加密文件对应明文fi,那么查询用户向TA请求授权时,需要与TA建立共享密钥(方法与TA和数据拥有者建立共享密钥的方法相同),并利用共享密钥传送可以解密的密钥。
实施例一
下面我们结合如图1所示的系统结构图和表1所示的电子医疗记录EMR说明本发明的技术方案执行对电子医疗记录的多关键词的搜索过程。
表1电子医疗记录
步骤一、系统初始化,TA负责系统密钥的生成,具体的过程如步骤1.1-1.3:
步骤二、TA和数据拥有者之间建立共享密钥;TA需要与数据拥有者建立共享密钥,用于TA向数据拥有者安全地分发用于加密数据拥有者数据的私密的参数。TA与数据拥有者利用Diffie-Hellman密钥交换协议建立共享密钥s;Diffie-Hellman密钥交换协议描述如下。
Diffie-Hellman密钥交换协议:
步骤2.1:A均匀随机选择a∈[1,q-1],计算ga←ga(modq),发送ga给B;
步骤2.2:B均匀随机选择b∈[1,q-1],计算gb←gb(modq),发送gb给A;
步骤三、数据拥有者对表1中的1000个病人的电子医疗文档及文档索引进行加密,则m=1000;数据拥有者将他拥有的1000个病人的电子医疗文档F={f1,...,f1000}建立一个索引I={I1,...,I1000};我们称一条索引为一条记录,数据拥有者需要将F={f1,...,f1000}和I={I1,...,Im}进行加密后外包给云服务器。文档F的加密可以用传统的对称加密算法,如AES算法加密,加密的密文为(Cf1,...,Cf1000)。本发明中着重考虑设计安全的查询方案,因此文档F的加密不再详述。索引I的加密过程如步骤3.1-3.4。
数据拥有者从TA请求用于索引加密的安全参数(r,K1),用于索引I的加密,这一步的具体的过程又包括步骤3.1.1和3.1.2两个步骤。
步骤3.1.1:TA利用与数据拥有者的共享密钥s计算P1=sr,P2=sK1,并发送(P1,P2)给数据拥有者,这里s-1指的是s的模q逆元。
步骤3.1.2:数据拥有者利用共享密钥s计算s-1P1和s-1P2分别获得r和K1。
步骤四、产生和发送查询陷门。陷门是TA根据查询用户的查询关键词产生的,TA执行以下步骤4.1-4.4。
步骤4.1:接到从用户发来的包含查询关键词的查询Q,TA检查这个用户是否有资格进行这个查询(注意,TA已经预先定义了授权规则,这些授权规则根据这个用户是否具有与查询关键词相同的属性值或者定义一个授权规则决定用户是否被授权查询)。
假设用户不关心第j个属性的的值,定义βj=1。
步骤5.3:云服务器将(αi,pfi)传给查询用户,其中pfi表示文件索引ii包含查询关键词的证据。
步骤六、查询用户验证结果;接到查询结果后查询用户运行Verify(pfi,αi,β)验证查询结果的正确性;当算法输出1,查询用户认为结果是正确的,若输出0,查询用户认为结果是不正确的。
综上,本发明提供的多关键词连接查询的方法,相比现有技术,优点在于:
(1)实现了对加密索引的多关键词连接查询。
(2)引入可信的TA,实现了细粒度的授权,克服了传统的“0”或者“1”授权模型的缺点。
(3)TA对查询用户的查询资格验证并为通过验证的用户发送查询陷门,这种模式解决了数据拥有者需要一直在线的问题。
(4)基于内积谓词加密和双系统加密实现了语义安全的关键词连接查询。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (3)
1.云存储中可验证的语义安全的多关键词搜索方法,其特征在于,包括以下步骤:
步骤一、系统初始化,TA(可信的授权机构)负责系统密钥的生成,TA先后进行对偶矢量空间产生算法、正交基产生算法和初始化算法产生系统密钥(PK,SK),TA生成系统密钥的具体过程为:
(1.1)TA运行对偶矢量空间产生算法δdpvs(1λ,N),输出一个DPVS组1λ是安全参数,q是一个素数,和是q阶循环群,g和gT分别是和的生成元,e:是一个非退化的双线性对操作,gT=e(g,g)≠1,定义在有限域Fq上的N维矢量空间 的标准基其中N是矢量空间的维度,N=2n+3,n是属性矢量和查询矢量的长度;
(1.3)TA运行初始化算法Setup(1λ,2n+3),产生系统密钥(PK,SK),用于索引矢量的加密和查询陷门的生成:
步骤二、TA与数据拥有者之间建立共享密钥s,从而TA可以给数据拥有者安全地分发私密的参数,这些私密的参数用于数据拥有者对数据文档及其索引的加密;TA与数据拥有者利用Diffie-Hellman密钥交换协议建立共享密钥s,共同输入(q,g),q是大素数,g为的一个生成元,输出:A和B共享的一个中的一个元素,此处A、B分别代表TA和数据拥有者,具体过程为:
(2.1)A均匀随机选择a∈[1,q-1],计算ga←ga(modq),发送ga给B;
(2.2)B均匀随机选择b∈[1,q-1],计算gb←gb(modq),发送gb给A;
步骤三、数据拥有者对数据文档及其索引的加密,数据拥有者需要将数据文档集F={f1,...,fm}及其索引I={I1,...,Im}进行加密后外包给云服务器,用αi,分别表示数据文档fi的标识符的密文,数据文档fi的密文,及fi对应的索引Ii的密文,m是数据文档的个数;索引I的加密过程如下:
(3.1)数据拥有者从TA请求用于索引加密的安全参数(r,K1)∈SK,用于索引I的加密,
(4.1)接到从用户发来的包含查询关键词的查询Q,TA检查该用户是否拥有与查询关键词相同的属性值或者是否有资格查询那些属性值;若TA检查后发现该查询用户符合查询权限,将查询Q表示成查询矢量n是查询矢量的长度;
假设用户不关心第j(1≤j≤d)个属性的值,定义βj=1;
β=β1.β2…,βd-1.βd,这里d是属性的个数;
步骤五、云服务器端对加密的索引执行安全的搜索,将查询结果发送给查询用户,具体为,接到从查询用户发来的陷门云服务器根据查询陷门对存储在它上面的每条索引密文逐条执行查询,m为数据文档的数目,最后将查询结果发送给查询用户,具体过程下:
(5.3)云服务器将(αi,pfi)返回给用户,此处pfi表示文件索引Ii包含所有查询关键词的证据,αi表示Ii对应的文档标识符的密文;
步骤六、查询用户验证查询结果:用户从云服务器接到查询结果(αi,pfi)后,用户根据算法Verify(pfi,αi,β)验证结果的正确性,此处β=β1.β2…,βd-1.βd是步骤四中TA根据用户的查询关键词计算出来并返回给用户的,当算法输出1,查询用户认为结果是正确的,若输出0,查询用户认为结果是不正确的。
3.如权利要求1所述的云存储中可验证的语义安全的多关键词搜索方法,其特征在于,步骤(3.1)请求安全参数(r,K1)的具体过程包括:
(3.1.1)TA利用与数据拥有者共享的密钥s计算(P1,P2),P1=sr,P2=sK1并发送(P1,P2)给数据拥有者;
(3.1.2)数据拥有者利用共享密钥s计算s-1P1=r和s-1P2=K1得到(r,K1),这里s-1指的是s的模q逆元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811553957.3A CN109450935B (zh) | 2018-12-19 | 2018-12-19 | 云存储中可验证的语义安全的多关键词搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811553957.3A CN109450935B (zh) | 2018-12-19 | 2018-12-19 | 云存储中可验证的语义安全的多关键词搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450935A CN109450935A (zh) | 2019-03-08 |
CN109450935B true CN109450935B (zh) | 2021-02-02 |
Family
ID=65559441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811553957.3A Active CN109450935B (zh) | 2018-12-19 | 2018-12-19 | 云存储中可验证的语义安全的多关键词搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450935B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222081B (zh) * | 2019-06-08 | 2022-04-19 | 西安电子科技大学 | 多用户环境下基于细粒度排序的数据密文查询方法 |
CN110266687B (zh) * | 2019-06-21 | 2021-08-17 | 杭州云象网络技术有限公司 | 一种采用区块链技术的物联网安全代理数据共享模块设计方法 |
CN111159352B (zh) * | 2019-12-31 | 2023-07-07 | 山东齐鲁知识产权交易中心有限公司 | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 |
CN111478765B (zh) * | 2020-04-03 | 2023-06-09 | 广西大学 | 一种云环境下的同态密文范围索引方法 |
CN112733193B (zh) * | 2021-01-22 | 2023-04-07 | 福州大学 | 基于时间控制可审计匿名的谓词检索系统及方法 |
CN114338025A (zh) * | 2021-06-23 | 2022-04-12 | 河南科技大学 | 一种云环境下密文等值测试方法 |
CN113836447B (zh) * | 2021-09-29 | 2024-04-09 | 安徽大学 | 一种云平台下的安全轨迹相似性查询方法及系统 |
CN114640458B (zh) * | 2022-03-28 | 2024-04-19 | 湖南科技大学 | 云边协同环境下细粒度的多用户安全可搜索加密方法 |
CN114826575B (zh) * | 2022-04-19 | 2024-06-07 | 西安电子科技大学 | 云中基于内积谓词的单关键词可搜索加密方法 |
CN114676449B (zh) * | 2022-05-26 | 2022-10-18 | 南京畅洋科技有限公司 | 一种基于可验证数据库的物联网数据可搜索加密方法 |
CN114900318B (zh) * | 2022-06-02 | 2024-04-19 | 浙江工商大学 | 基于密钥协商协议以及可验证的一轮通信可搜索加密方法 |
CN115174568B (zh) * | 2022-06-23 | 2023-05-16 | 南京信息工程大学 | 一种基于属性的密文检索方法 |
CN114884660B (zh) * | 2022-07-12 | 2022-09-20 | 西南石油大学 | 一种基于通配符身份的可搜索加密方法 |
CN116127498B (zh) * | 2022-11-28 | 2024-06-07 | 中国民用航空总局第二研究所 | 一种密文检索结果可验证的多关键字可搜索加密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052740A (zh) * | 2014-05-22 | 2014-09-17 | 西安理工大学 | 云存储中可验证的基于词典的可搜索加密方法 |
CN105049196A (zh) * | 2015-07-13 | 2015-11-11 | 西安理工大学 | 云存储中指定位置的多个关键词可搜索的加密方法 |
CN106980796A (zh) * | 2017-03-27 | 2017-07-25 | 河南科技大学 | 云环境下基于mdb+树的多域连接关键词的搜索方法 |
CN107908779A (zh) * | 2017-12-05 | 2018-04-13 | 河南科技大学 | 云环境下基于mat树的动态多属性连接关键词的搜索方法 |
KR20180130249A (ko) * | 2017-05-29 | 2018-12-07 | 성균관대학교산학협력단 | 클라우드 저장 기반 암호화 시스템 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9894042B2 (en) * | 2015-07-24 | 2018-02-13 | Skyhigh Networks, Inc. | Searchable encryption enabling encrypted search based on document type |
-
2018
- 2018-12-19 CN CN201811553957.3A patent/CN109450935B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052740A (zh) * | 2014-05-22 | 2014-09-17 | 西安理工大学 | 云存储中可验证的基于词典的可搜索加密方法 |
CN105049196A (zh) * | 2015-07-13 | 2015-11-11 | 西安理工大学 | 云存储中指定位置的多个关键词可搜索的加密方法 |
CN106980796A (zh) * | 2017-03-27 | 2017-07-25 | 河南科技大学 | 云环境下基于mdb+树的多域连接关键词的搜索方法 |
KR20180130249A (ko) * | 2017-05-29 | 2018-12-07 | 성균관대학교산학협력단 | 클라우드 저장 기반 암호화 시스템 및 방법 |
CN107908779A (zh) * | 2017-12-05 | 2018-04-13 | 河南科技大学 | 云环境下基于mat树的动态多属性连接关键词的搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109450935A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
Liang et al. | Searchable attribute-based mechanism with efficient data sharing for secure cloud storage | |
Miao et al. | m 2-ABKS: Attribute-based multi-keyword search over encrypted personal health records in multi-owner setting | |
CN105610910B (zh) | 面向云存储并基于全同态密码的密文全文检索方法及系统 | |
CN107491497A (zh) | 支持任意语言查询的多用户多关键词排序可搜索加密系统 | |
CN105024802B (zh) | 云存储中基于双线性对的多用户多关键词可搜索加密方法 | |
CN112989375B (zh) | 一种分级优化加密无损隐私保护方法 | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
Sun et al. | A dynamic and non-interactive boolean searchable symmetric encryption in multi-client setting | |
Chen et al. | Password-authenticated searchable encryption | |
Zhang et al. | Secure and efficient searchable public key encryption for resource constrained environment based on pairings under prime order group | |
Jiang et al. | An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage. | |
Mei et al. | Verifiable identity-based encryption with keyword search for IoT from lattice | |
Chen et al. | Multi-user boolean searchable encryption supporting fast ranking in mobile clouds | |
Han et al. | TCA-PEKS: Trusted certificateless authentication public-key encryption with keyword search scheme in cloud storage | |
Cui et al. | Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database | |
Wang et al. | Attribute-based encrypted search for multi-owner and multi-user model | |
Zhou et al. | Fine‐Grained Attribute‐Based Multikeyword Search for Shared Multiowner in Internet of Things | |
Wang et al. | Attribute-based encryption with efficient keyword search and user revocation | |
Shen et al. | Keyword search with access control over encrypted data in cloud computing | |
Zhu et al. | A secure data sharing scheme with designated server | |
Li et al. | Decentralized Threshold Signatures with Dynamically Private Accountability | |
Li et al. | Two‐Party Attribute‐Based Key Agreement Protocol with Constant‐Size Ciphertext and Key | |
Shen et al. | Multi-Keywords Searchable Attribute-Based Encryption With Verification and Attribute Revocation Over Cloud Data | |
Hu et al. | Public-key encryption with keyword search via obfuscation |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190308 Assignee: Henan Kexiang Big Data Technology Co.,Ltd. Assignor: HENAN University OF SCIENCE AND TECHNOLOGY Contract record no.: X2022980017060 Denomination of invention: A Multi keyword Search Method for Verifiable Semantic Security in Cloud Storage Granted publication date: 20210202 License type: Exclusive License Record date: 20221008 |