CN107704768A - 一种密文的多关键字分级安全检索方法 - Google Patents

一种密文的多关键字分级安全检索方法 Download PDF

Info

Publication number
CN107704768A
CN107704768A CN201710827310.4A CN201710827310A CN107704768A CN 107704768 A CN107704768 A CN 107704768A CN 201710827310 A CN201710827310 A CN 201710827310A CN 107704768 A CN107704768 A CN 107704768A
Authority
CN
China
Prior art keywords
mrow
file
vector
msub
data
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
CN201710827310.4A
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.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime University
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 Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201710827310.4A priority Critical patent/CN107704768A/zh
Publication of CN107704768A publication Critical patent/CN107704768A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种密文的多关键字分级安全检索方法,通过对云存储服务器中数据拥有者上传的密文文件集和索引进行分级检索。数据使用者发送一个检索请求生成一个陷门向量后,数据拥有者使用同态加密算法将该陷门向量形成安全陷门向量并上传云存储服务器,被授权的数据使用者能获取解密秘钥并对云存储服务器计算陷门和安全索引内积的密文,返回加密的相关性分数序列并解密排序,选取前k个相关性分数最高的文件标识符发送给云存储服务器,最后通过云存储服务器返回最相关的文件到数据的使用者。本发明不仅解决了云环境下用户的隐私与数据安全的问题,而且降低了通信开销,解决了密文的检索问题。

Description

一种密文的多关键字分级安全检索方法
技术领域
本发明涉及网络密文检索,具体是一种密文的多关键字分级安全检索方法。
背景技术
目前,采用分级的多关键字同态加密技术实现密文在安全性、精度和效率上三大综合指标的检索,是目前云环境下的密文检索技术的主要挑战。新型的多关键字分级检索方法在对文档关键字的检索上更有优势:一方面多关键字检索提供了精炼的检索结果;另一方面多关键字检索解决了云存储下用户的隐私与数据安全的问题,同时也是实现高级查询功能的基础。
该方法的综合优势体现的前提是云存储服务器作为可信第三方,对于上传的数据没有任何泄露的可能。然而,目前的云存储服务器并不总是可靠的。自云计算诞生之日起,便伴随着数据泄露的安全事件。2016年4月,土耳其发生重大数据泄露,直接导致约近5000万人的信息得到公开。2016年5月,轻博客网站Tumblr超过6500万邮箱账号和密码泄露。2016年6月,美国LinkedIn超过1.67亿个账户被公开销售。2016年12月,京东出现大规模数据泄露,约12G的用户数据信息流出,这些安全威胁不仅严重阻碍了云计算的发展,而且严重阻碍了云数据的高效使用。
为了在保护用户隐私的同时,使云数据获得高效的利用,多关键字分级检索技术通过构造可搜索的加密方案,在保护用户数据的前提下,给用户提供有效的检索服务。数据拥有者在上传数据时,首先利用加密方案对原始数据和索引进行加密,然后再上传到云端。检索时,根据用户的查询内容构建查询门限,然后云存储服务器在密文环境下进行相关分数计算,最后根据相关分数得分排序输出计算结果。整个过程中,云存储服务器得到的数据和进行的计算都是在加密环境下进行的。该方案利用向量空间模型构建可搜索索引,使用同态加密算法进行加解密,支持查询结果的分级检索,有效避免了服务器端返回相关度不大的文件,降低了通信开销,也消除了不必要的流量开销。而且既能在效率,安全性和精度上进行密文检索,又能满足用户需求的方案,而目前还少见文献报道。
发明内容
本发明提供的一种密文的多关键字分级安全检索方法,支持多关键字分级检索的同时保护了用户的查询隐私,增强了多关键字可搜索加密方案的安全性,提高了云环境中多关键字密文检索的效率,减少了数据使用者检索的工作量,提高了文件的查准率。
为了达到上述目的,本发明提供一种密文的多关键字分级安全检索方法,该算法包含以下步骤:
步骤1、使用同态加密算法生成公私钥:数据拥有者需要将文件集中所有文件上传至云存储服务器,上传之前需要对文件集进行加密,数据拥有者调用KeyGen生成同态加密算法的公私钥PK,SK;
所述的KGen算法指的是同态加密方案中的密钥生成算法;
所述的PK指的是同态算法生成的公钥,SK指的是同态算法生成的私钥;
步骤2、对文件向量构成可搜索索引:数据拥有者从包含的数据集中提取关键字集合,并且计算每个关键字的词频和逆文件频率,对每个文件生成文件向量,对所有的文件向量构成可搜索索引并使用同态加密算法进行加密生成安全的可搜索索引;
所述可搜索索引指的是为文件集合每一个文件中的文件生成一个它所包含的所有关键字的序列。
所述的词频指的是某一个关键字在该文件中出现的频率;
所述的逆文件频率指的是对一个关键字普遍重要性的度量;(可以由总文件数目除以包含该关键字文件的数目,再将得到的商取对数得到。)
所述的同态加密算法指的是允许直接对密文进行操作的加密变换算法。
步骤3、将检索请求生成陷门向量:当数据使用者想要检索某些包含特定关键字的文件时,检索请求向量被扩展成陷门向量。数据拥有者使用同态加密算法加密陷门向量,得到安全的陷门向量,最后安全的陷门向量传送至云存储服务器;
所述的陷门向量指的是数据使用者利用密钥生成的与他输入的关键字集合相对应的安全门限;
步骤4、用户选择前k个相关性最高的文件进行检索:云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文,若相关性分数越高,则文件中含有的被检关键字数量越多,云存储服务器返回加密的相关性分数的序列,数据使用者解密相关性分数序列,排序后把前k个分级的文件标识符发送给云存储服务器,然后数据使用者便可以检索到相关的文件;
所述的相关性分数指的是文件向量和查询向量的内积;
所述的文件标识符指的是唯一的能够标识文档的ID符号,此标识符是由服务器提供。
(1)在步骤1中,数据拥有者要将文件集上传至云存储服务器,上传之前需要对文件集进行加密,调用KeyGen生成同态加密算法的公私钥PK,SK的算法为;
g=1+kn (2)
y=ga mod n2 (3)
y”=z1 az2 tn mod n2 (4)
λ=lcm(p-1,q-1) (5)
则公钥PK=(y,y’,y”,z1,N),私钥SK=(a,t,λ,λ/t),其中,g指的是算法的基,k是系统参数,p和q是n比特长度的大素数,指的是同态加密方案,包含密钥生成算法,加密算法和解密算法,p,q,n是通过运行获取得到,且满足n=pq,a,k是随机选取的,λ指的是求取其最小公倍数,t指的是λ的任意一个因子,z1,z2∈Zn*;
其中加密算法Enc具体如下:
Bx=yb mod n2 (6)
B’x=(y’)b mod n2 (7)
C1=Z1 b(r+1)mod n2 (8)
C=Bx mt B’x(y”)br mod n2 (9)
其中r,r1是随机选取的,b∈Zn*;
其中解密算法Dec具体如下:
其中m指的是根据解密算法得到的密钥;
(2)在步骤2中,数据拥有者首先从包含的数据集中提取关键字集合,
并且计算每个关键字的词频和逆文件频率计算公式为:
ti,j=tf-idfwj,fi(1≤j≤l) (11)
其中tf指的是每个关键字的词频,idf指的是逆文件频率。
其次对文件向量构成可搜索索引:构建索引BuildIndex(C,PK);
其中C指的是基于文件的数据集合;
对于每个文件fi∈C,数据拥有者生成一个l+1维的文件向量vi=(idi,ti,1,ti,2,…,ti,i),所有的文件向量构成可搜索索引,其计算公式为:
I={vi|1≤i≤n} (12)
数据拥有者使用同态加密算法加密可搜索索引后生成的安全的可搜索索引为:I'={v'i|1≤i≤n},具体的计算公式为:
V’i={id’i,t’i,1,t’i,2,…,t’i,i} (13)
id’i=Henc(Ri,0,idi) (14)
t’i,j=Henc(Ri,j,ti,j) (15)
其中,I指的是数据拥有者构建的索引,I'指的是使用同态加密算法加密后生成的安全的可搜索索引,
数据拥有者选取一个对称密码算法Enc(·),例如AES,对文件集合进行加密,最后加密的文件集合C'={f'1,f'2,...,f'n}和安全索引I'被发送到云存储服务器端。
(3)在步骤3中,将检索请求生成陷门向量:当数据使用者发送一个检索请求REQ={(w’1,w’2,…w’s)丨w’i∈W,1≤s≤l}其计算公式为,调用TrapdoorGen算法生成陷门向量:
Tw=(w1w2…wl) (16)
数据使用者使用同态加密算法加密陷门向量,得到安全的陷门向量:
最后,安全的陷门向量传送给云存储服务器,云存储服务器当接收到安全的陷门后计算内积,内积的计算公式为:
其中vi指的是安全索引,是l+1维向量,指的是安全陷门,是l维向量;
(4)在步骤4中,用户选择前k个相关性最高的文件进行检索:云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文的计算公式为:
其中,Q表示需要检索的关键字,fd,t表示包含关键字t的文件的数目,N表示文件总数,|fd|表示文件fd长度;
当授权用户发送检索请求时,若此请求也为向量形式时,文件与请求的相关性分数的另一种计算公式为:
Score=vf·q (20)
其中,vf指的是文件向量,q指的是查询向量;云存储服务器把相关性分数的序列Ⅱ={(id'1,p1),(id'2,p2),...,(id'n,pn)}发送给数据使用者,数据使用者通过解密获得.Ⅱ={(id'1,p'1),(id'2,p'2),...,(id'n,p'n)},(p'i=Hdec(SK,pi))。
本发明具有以下优点及效果:
1、支持多关键字分级检索的同时保护了用户的查询隐私,增强了多关键字可搜索加密方案的安全性。在多数据拥有者共享数据的应用场景下,支持多关键字查询,使用同态加密算法对文件集和可搜索索引进行加解密,而云存储服务器不能获取文件和关键字的密文,这满足了CCA2安全性,因此,这满足了加密文件的多关键字检索需求并保护了云存储下用户的隐私和数据安全。
2、提高了云环境中多关键字密文检索的效率。通过建立可搜索索引,根据关键字在该文件中的权重从小到大进行排序,这样检索每一个关键字的文件序列是变长的,这在某种程度上能够大大节省存储空间,有利于在文件集合规模较大时提高检索的效率。因此,提高了云环境中多关键字密文检索的效率。
3、减少了数据使用者检索的工作量,提高了文件的查准率。数据使用者解密相关性分数序列,排序后把前k个分级的文件标识符发送给云存储服务器,云存储服务器通过分级检索返回的都是相关性较大的文件,然后用户便可以访问相关的文件。因此,极大地优化了查询结果的筛选,保证了用户只会检索到最相关的条目,不会对用户造成不必要的通信和计算负担,提高了文件检索的查准率。
附图说明
图1是本发明的流程图。
具体实施方式
以下根据图1,具体说明本发明的较佳实施例。
如图1所示,本发明提供一种密文的多关键字分级安全检索方法,该方法包含以下步骤:
步骤1、使用同态加密算法生成公私钥:数据拥有者需要将文件集中所有文件上传至云存储服务器,上传之前需要对文件集进行加密,数据拥有者调用KeyGen生成同态加密算法的公私钥PK,SK。
所述的KGen算法指的是同态加密方案中的密钥生成算法;
所述的PK指的是同态算法生成的公钥,SK指的是同态算法生成的私钥;
步骤2、对文件向量构成可搜索索引:数据拥有者从包含的数据集中提取关键字集合,并且计算每个关键字的词频和逆文件频率,对每个文件生成文件向量,对所有的文件向量构成可搜索索引并使用同态加密算法进行加密生成安全的可搜索索引;
所述可搜索索引指的是为文件集合每一个文件中的文件生成一个它所包含的所有关键字的序列。
所述的词频指的是某一个关键字在该文件中出现的频率;
所述的逆文件频率指的是对一个关键字普遍重要性的度量;(可以由总文件数目除以包含该关键字文件的数目,再将得到的商取对数得到。)
所述的同态加密算法指的是允许直接对密文进行操作的加密变换算法。
步骤3、将检索请求生成陷门向量:当数据使用者想要检索某些包含特定关键字的文件时,检索请求向量被扩展成陷门向量,数据拥有者使用同态加密算法加密陷门向量,得到安全的陷门向量,最后安全的陷门向量传送至云存储服务器;
所述的陷门向量指的是数据使用者利用密钥生成的与他输入的关键字集合相对应的安全门限;
步骤4、用户选择前k个相关性最高的文件进行检索:云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文,若相关性分数越高,则文件中含有的被检关键字数量越多,云存储服务器返回加密的相关性分数的序列,数据使用者解密相关性分数序列,排序后把前k个分级的文件标识符发送给云存储服务器,然后数据使用者便可以检索到相关的文件;
所述的相关性分数指的是文件向量和查询向量的内积;
所述的文件标识符指的是唯一的能够标识文档的ID符号,此标识符是由服务器提供。
下面用一个实例来阐述本方法。
假定目前针对对称可搜索加密方案(SSE)和改进的多关键字分级的可搜索同态加密方案(MMRSE)这两种方案,研究其在不同的关键字数目和文件集合规模的大小来评估二者的性能以及其他的影响其性能的因素,各方案时间复杂度如表1所示。
表1时间复杂度执行情况
关键字字典 1000 2000 3000 3500 4000
SSE时间开销 20ms 80ms 150ms 185ms 220ms
MMRSE时间开销 20ms 45ms 80ms 85ms 90ms
表1通过不同规模的关键字集合的变化,对比观察两种方案所产生的时间复杂度,传统的服务器分级的时间是指数增长的,而改进的多关键字分级的可搜索同态加密方案生成陷门的时间是线性的,需要的时间是相对较少的。
表2生成陷门的时间对比
被检索关键字数目 1000 2000 3000 3500 4000
SSE时间开销 220ms 220ms 220ms 220ms 220ms
MMRSE时间开销 90ms 90ms 90ms 90ms 90ms
表2中两种方案在不同的检索关键字数目变化情况下维持原值没有发生任何变化,因为生成陷门的开销主要是方案中向量的维度引起的,MMRSE方案中安全陷门的维度和字典中关键字的数目是相等的,所以,关键字的数目对陷门生成的复杂度几乎没有影响。
表3相关性分数时间对比(关键字规模为1000)
根据表3可看出,在指定关键字集合规模为1000时,在不同规模的文件集合上进行相关性分数计算的时间开销。通过对比可知在文件规模相对较小时MMRSE方案的时间相对比SSE方案的多,即文件集合规模相对较小时SSE方案比较适合用来计算相关性分数。
表4相关性分数时间对比(关键字规模为4000)
根据表4可看出,当指定关键字规模为4000时,被检索关键字数量的变化并不会影响相关性分数的时间开销问题,相比之下,MMRSE方案计算相关性分数的时间比SSE方案较少。表明当文件集合规模增长到3500以上后,改进方案的性能将超过服务器端分级的可搜索加密方案。
尽管本发明的内容已经通过上述实例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (1)

1.一种密文的多关键字分级安全检索方法,其特征在于,该方法包括以下步骤:
步骤1、使用同态加密算法生成公私钥:数据拥有者要将文件集中包含的所有文件上传至云存储服务器,上传之前需要对文件集进行加密,数据拥有者调用KeyGen生成同态加密算法的公私钥PK,SK,调用KeyGen生成同态加密算法的公私钥PK,SK的算法为;
g=1+kn (2)
y=ga mod n2 (3)
y”=z1 az2 tn mod n2 (4)
λ=lcm(p-1,q-1) (5)
则公钥PK=(y,y’,y”,z1,N),私钥SK=(a,t,λ,λ/t),其中,g指的是算法的基,k是系统参数,p和q是n比特长度的大素数,指的是同态加密方案,包含密钥生成算法,加密算法和解密算法,p,q,n是通过运行获取得到,且满足n=pq,a,k是随机选取的,λ指的是求取其最小公倍数,t指的是λ的任意一个因子,z1,z2∈Zn *,y’=(g’)a mod n2,而g’=gab modn2,可以带入运算所得;
其中加密算法Enc具体如下:
Bx=yb mod n2 (6)
B’x=(y’)b mod n2 (7)
C1=Z1 b(r+1)mod n2 (8)
C=Bx mt B’x(y”)br mod n2 (9)
其中r,r1是随机选取的,b∈Zn *
其中解密算法Dec具体如下:
<mrow> <mi>m</mi> <mo>=</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>&amp;Gamma;</mi> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mi>C</mi> <mo>&amp;CenterDot;</mo> <msubsup> <mi>C</mi> <mn>1</mn> <mrow> <mi>t</mi> <mi>n</mi> <mo>-</mo> <mi>a</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mfrac> <mi>&amp;lambda;</mi> <mi>t</mi> </mfrac> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <mi>&amp;Gamma;</mi> <mrow> <mo>(</mo> <msubsup> <mi>C</mi> <mn>2</mn> <mi>&amp;lambda;</mi> </msubsup> <msup> <mi>modn</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>mod</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>a</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
其中m指的是根据解密算法得到的密钥,Γ指的是数学上的与阶乘有关的运算的函数;
所述的KGen算法指的是同态加密方案中的密钥生成算法;
所述的PK指的是同态算法生成的公钥,SK指的是同态算法生成的私钥;
步骤2、对文件向量构成可搜索索引:数据拥有者从包含的所有数据集中提取所有关键字集合,并且计算每个关键字的词频和逆文件频率,计算每个关键字的词频和逆文件频率计算公式为:
ti,j=tf-idfwj,fi(1≤j≤l) (11)
其中tf指的是每个关键字的词频,idf指的是逆文件频率;
F:收集的n个纯文本数据文档表示为:F={Fi,i=1,…,n};
C:收集的存储在云存储服务器端的n个加密数据文档集合表示为:C={fi,i=1,…,n};
W:数据拥有者设定了n个关键字集合,与其对应的数据文档表示为:W={Wi,i=1,…n};
对每个文件生成文件向量,对所有的文件向量构成可搜索索引并使用同态加密算法进行加密生成安全的可搜索索引,构建索引为BuildIndex(C,PK)
其中C指的是基于文件的数据集合;
对于每个文件fi∈C,数据拥有者生成一个l+1维的文件向量vi=(idi,ti,1,ti,2,…,ti,i),所有的文件向量构成可搜索索引,其计算公式为:
I={vi|1≤i≤n} (12)
数据拥有者使用同态加密算法加密可搜索索引后生成的安全的可搜索索引为:I'={v'i|1≤i≤n},具体的计算公式为:
V’i={id’i,t’i,1,t’i,2,…,t’i,i} (13)
id’i=Henc(Ri,0,idi) (14)
t’i,j=Henc(Ri,j,ti,j) (15)
其中,I指的是数据拥有者构建的索引,I'指的是使用同态加密算法加密后生成的安全的可搜索索引,
数据拥有者选取一个对称密码算法Enc(·),例如AES,对文件集合进行加密,最后加密的文件集合C'={f'1,f'2,...,f'n}和安全索引I'被发送到云存储服务器端;所述可搜索索引指的是为文件集合中每一个文件生成一个它所包含的所有关键字的序列;
所述的词频指的是某一个关键字在该文件中出现的频率;
所述的逆文件频率指的是对一个关键字普遍重要性的度量;
所述的同态加密算法指的是允许直接对密文进行操作的加密变换算法。
步骤3、将检索请求生成陷门向量:当数据使用者想要检索某些包含特定关键字的文件时,检索请求向量被扩展成陷门向量,数据拥有者使用同态加密算法加密陷门向量,得到安全的陷门向量,经授权的数据使用者调用TrapdoorGen(REQ,PK)算法通过发送请求的通道使用获取的公私钥,当数据使用者发送一个检索请求REQ={(w’1,w’2,…w’s)丨w’i∈W,1≤s≤l}其计算公式为,调用TrapdoorGen算法生成陷门向量:
Tw=(w1w2…wl) (16)
数据使用者使用同态加密算法加密陷门向量,得到安全的陷门向量:
<mrow> <msub> <mi>T</mi> <mover> <mi>W</mi> <mo>&amp;OverBar;</mo> </mover> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mover> <msub> <mi>W</mi> <mn>1</mn> </msub> <mo>&amp;OverBar;</mo> </mover> <mover> <msub> <mi>W</mi> <mn>2</mn> </msub> <mo>&amp;OverBar;</mo> </mover> <mn>...</mn> <mover> <msub> <mi>W</mi> <mi>l</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mover> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>=</mo> <mi>H</mi> <mi>e</mi> <mi>n</mi> <mi>c</mi> <mo>(</mo> <mrow> <msub> <mi>R</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> </mrow> <mo>)</mo> <mo>,</mo> <msub> <mi>R</mi> <mi>i</mi> </msub> <mo>&amp;SubsetEqual;</mo> <mi>P</mi> <mi>K</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>
最后,安全的陷门向量传送给云存储服务器,云存储服务器当接收到安全的陷门后计算内积,内积的计算公式为:
<mrow> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>&amp;lsqb;</mo> <mi>l</mi> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>T</mi> <mover> <mi>W</mi> <mo>&amp;OverBar;</mo> </mover> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>
其中vi指的是安全索引,是l+1维向量,指的是安全陷门,是l维向量;
所述的TrapdoorGen(REQ,PK)算法指的是将数据使用者的检索请求向量REQ生成陷门向量TW然后发送给数据拥有者,数据拥有者使用同态加密算法加密该陷门向量得到安全的的陷门向量,然后数据拥有者将其发送给云存储服务器;
所述的陷门向量指的是数据使用者利用密钥生成的与他输入的关键字集合相对应的安全门限;
步骤4、用户选择前k个相关性最高的文件进行检索:云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文,若相关性分数越高,则文件中含有的被检关键字数量越多,云存储服务器返回加密的相关性分数的序列,数据使用者解密相关性分数序列,排序后把前k个分级的文件标识符发送给云存储服务器,然后数据使用者便可以检索到相关的文件,云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文的计算公式为:
<mrow> <mi>S</mi> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>e</mi> <mo>=</mo> <mrow> <mo>(</mo> <mi>Q</mi> <mo>,</mo> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <mi>t</mi> <mo>&amp;Element;</mo> <mi>Q</mi> </mrow> </munder> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <msub> <mi>f</mi> <mi>d</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>lnf</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>19</mn> <mo>)</mo> </mrow> </mrow>
其中,Q表示需要检索的关键字,fd,t表示包含关键字t的文件的数目,N表示文件总数,|fd|表示文件fd长度;
当授权用户发送检索请求时,若此请求也为向量形式时,文件与请求的相关性分数的另一种计算公式为:
Score=vf·q (20)
其中,vf指的是文件向量,q指的是查询向量;
云存储服务器把相关性分数的序列Ⅱ={(id'1,p1),(id'2,p2),...,(id'n,pn)}发送给数据使用者,数据使用者通过解密获得.Ⅱ={(id'1,p'1),(id'2,p'2),...,(id'n,p'n)},(p'i=Hdec(SK,pi))
对相关性分数进行分级使用Rank(Ⅱ,SK,k),随后数据使用者调用top-kSelect(Ⅱ’,k)选取前k个相关性分数最高的文件,然后把它们的标识符{i1,i2,…,ik}发送给云存储服务器;随后数据使用者可以根据云存储服务器返回的标识符检索到相关的数据文件;
所述的相关性分数指的是文件向量和查询向量的内积;
所述的文件标识符指的是唯一的能够标识文档的ID符号,此标识符是由服务器提供;
所述的文件向量vf指的是在已构造的的向量空间模型中将一个文件表示为一个关键字向量的形式;
所述的查询向量q指的是当授权用户发送的检索请求也通过向量空间模型表示为向量的形式。
CN201710827310.4A 2017-09-14 2017-09-14 一种密文的多关键字分级安全检索方法 Pending CN107704768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710827310.4A CN107704768A (zh) 2017-09-14 2017-09-14 一种密文的多关键字分级安全检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710827310.4A CN107704768A (zh) 2017-09-14 2017-09-14 一种密文的多关键字分级安全检索方法

Publications (1)

Publication Number Publication Date
CN107704768A true CN107704768A (zh) 2018-02-16

Family

ID=61172645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710827310.4A Pending CN107704768A (zh) 2017-09-14 2017-09-14 一种密文的多关键字分级安全检索方法

Country Status (1)

Country Link
CN (1) CN107704768A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145079A (zh) * 2018-07-24 2019-01-04 南京邮电大学 基于个人兴趣用户模型的云端可搜索加密方法
CN109582818A (zh) * 2018-11-07 2019-04-05 南京邮电大学 一种基于可搜索加密的曲库云检索方法
WO2019178792A1 (zh) * 2018-03-22 2019-09-26 深圳大学 一种支持访问控制的密文搜索方法及系统
CN110928980A (zh) * 2019-11-15 2020-03-27 中山大学 一种面向移动云计算的密文数据存储与检索方法
CN111404679A (zh) * 2020-03-10 2020-07-10 上海市大数据中心 一种面向大数据的安全认证的密文检索方法
CN112332979A (zh) * 2020-11-11 2021-02-05 深圳技术大学 云计算环境中的密文搜索方法及系统、设备
CN114679272A (zh) * 2022-05-27 2022-06-28 浙江九州量子信息技术股份有限公司 一种使用量子密钥加密的云存储系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710668A (zh) * 2012-06-29 2012-10-03 上海海事大学 一种适于云存储的数据隐私性保障方法
CN105610910A (zh) * 2015-12-18 2016-05-25 中南民族大学 面向云存储并基于全同态密码的密文全文检索方法及系统
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN105678189A (zh) * 2016-01-15 2016-06-15 上海海事大学 加密数据文件存储和检索系统及方法
CN105743888A (zh) * 2016-01-22 2016-07-06 河南理工大学 一种基于关键字搜索的代理重加密方案
CN106330865A (zh) * 2016-08-12 2017-01-11 安徽大学 云环境下支持高效撤销的属性基关键字搜索方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710668A (zh) * 2012-06-29 2012-10-03 上海海事大学 一种适于云存储的数据隐私性保障方法
CN105610910A (zh) * 2015-12-18 2016-05-25 中南民族大学 面向云存储并基于全同态密码的密文全文检索方法及系统
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN105678189A (zh) * 2016-01-15 2016-06-15 上海海事大学 加密数据文件存储和检索系统及方法
CN105743888A (zh) * 2016-01-22 2016-07-06 河南理工大学 一种基于关键字搜索的代理重加密方案
CN106330865A (zh) * 2016-08-12 2017-01-11 安徽大学 云环境下支持高效撤销的属性基关键字搜索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张猛: "《面向密文的多关键词模糊检索方法研究》", 《中国优秀硕士学位论文全文数据库》 *
李宏霞等: "《支持多关键字分级的可搜索同态加密方案》", 《计算机工程与应用》 *
韩德志等: "《云存储中数据持有性证明方法研究》", 《计算机研究与发展》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019178792A1 (zh) * 2018-03-22 2019-09-26 深圳大学 一种支持访问控制的密文搜索方法及系统
CN109145079A (zh) * 2018-07-24 2019-01-04 南京邮电大学 基于个人兴趣用户模型的云端可搜索加密方法
CN109145079B (zh) * 2018-07-24 2022-07-19 南京邮电大学 基于个人兴趣用户模型的云端可搜索加密方法
CN109582818A (zh) * 2018-11-07 2019-04-05 南京邮电大学 一种基于可搜索加密的曲库云检索方法
CN109582818B (zh) * 2018-11-07 2020-03-27 南京邮电大学 一种基于可搜索加密的曲库云检索方法
CN110928980A (zh) * 2019-11-15 2020-03-27 中山大学 一种面向移动云计算的密文数据存储与检索方法
CN110928980B (zh) * 2019-11-15 2023-05-30 中山大学 一种面向移动云计算的密文数据存储与检索方法
CN111404679A (zh) * 2020-03-10 2020-07-10 上海市大数据中心 一种面向大数据的安全认证的密文检索方法
CN112332979A (zh) * 2020-11-11 2021-02-05 深圳技术大学 云计算环境中的密文搜索方法及系统、设备
CN112332979B (zh) * 2020-11-11 2023-06-27 深圳技术大学 云计算环境中的密文搜索方法及系统、设备
CN114679272A (zh) * 2022-05-27 2022-06-28 浙江九州量子信息技术股份有限公司 一种使用量子密钥加密的云存储系统及方法
CN114679272B (zh) * 2022-05-27 2022-09-20 浙江九州量子信息技术股份有限公司 一种使用量子密钥加密的云存储系统及方法

Similar Documents

Publication Publication Date Title
CN107704768A (zh) 一种密文的多关键字分级安全检索方法
CN113194078B (zh) 一种云端支持隐私保护的排序多关键字搜索加密方法
Wang et al. Secure ranked keyword search over encrypted cloud data
Wang et al. Search in my way: Practical outsourced image retrieval framework supporting unshared key
CN106921674B (zh) 抗后量子攻击的代理重加密语义可搜索加密方法
Wang et al. Enabling secure and efficient ranked keyword search over outsourced cloud data
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
Xu et al. Efficient multi-keyword ranked query on encrypted data in the cloud
CN105610910B (zh) 面向云存储并基于全同态密码的密文全文检索方法及系统
US9515994B2 (en) Keyword ordered storage, search and retrieval on encrypted data for multiuser scenario
CN105320896A (zh) 一种云存储加密以及其密文检索方法与系统
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
CN104765848A (zh) 混合云存储中支持结果高效排序的对称可搜索加密方法
CN102314580A (zh) 一种基于向量和矩阵运算的支持计算的加密方法
CN109493017A (zh) 基于区块链的可信外包存储方法
Wang et al. A privacy-preserving and traitor tracking content-based image retrieval scheme in cloud computing
CN109471964A (zh) 一种基于同义词集的模糊多关键词可搜索加密方法
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN106559422A (zh) 基于密钥协商的多维密文区间查询方法
CN104636462A (zh) 一种能抵抗统计分析攻击的快速密文检索方法和系统
CN108282328A (zh) 一种基于同态加密的密文统计方法
Malik et al. A homomorphic approach for security and privacy preservation of Smart Airports
DAYIOĞLU Secure database in cloud computing-cryptdb revisited
CN109766314A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180216