CN108549701A - 云环境加密外包数据语义扩展搜索方法及*** - Google Patents

云环境加密外包数据语义扩展搜索方法及*** Download PDF

Info

Publication number
CN108549701A
CN108549701A CN201810345112.9A CN201810345112A CN108549701A CN 108549701 A CN108549701 A CN 108549701A CN 201810345112 A CN201810345112 A CN 201810345112A CN 108549701 A CN108549701 A CN 108549701A
Authority
CN
China
Prior art keywords
document
cloud server
keyword
vector
owned cloud
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
CN201810345112.9A
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 CN201810345112.9A priority Critical patent/CN108549701A/zh
Publication of CN108549701A publication Critical patent/CN108549701A/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/602Providing cryptographic facilities or services
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0435Network 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云环境加密外包数据语义扩展搜索方法,包含:数据拥有者发送密文文档集合和安全索引集合给公有云服务器,将文档标记向量集合发送给私有云服务器,将密钥发送给授权用户;授权用户将查询标记向量发送给私有云服务器,将陷门发送给公有云服务器完成搜索请求;私有云服务器将文档标记向量和查询标记向量进行匹配,得到满足用户查询需求的候选索引标识符集合,并将候选索引标识符集合发送给公有云服务器;公有云服务器通过收到的候选索引标识符集合和陷门找到对应的安全索引集合,并计算文档的相似度分数并排序,返回满足条件的密文文档给授权用户。其优点是:保护了用户隐私的同时,降低了用户的开销。

Description

云环境加密外包数据语义扩展搜索方法及***
技术领域
本发明涉及云计算安全技术领域,具体涉及一种云环境加密外包数据语义扩展搜索方法及***。
背景技术
目前,伴随着云计算技术的飞速发展,云计算已经成为了一个新的产业结构。越来越多的人选择将一些敏感数据外包给云,开始享受其灵活性和高质量的数据存储服务,而且将数据上传到云端,会减少用户的数据存储和维护带来的开销。但是,云环境下的数据安全问题引起大量关注,为保护数据安全,将数据加密再上传到云端是一种常见方法。数据加密使得数据不再具有原有属性,这使得传统的检索机制失效。随着数据量的增加,如何高效地在大量密文中搜索到所需要的文档已经成为重要的挑战。
可搜索加密技术主要解决在云服务器不完全可信的情况下,支持用户在密文上进行搜索。现有的基于关键词的搜索技术只能返回包含确切查询关键字的文件,并且无法找到包含相关关键词的文件。虽然一些机制如语义或者扩展搜索已经被设计来解决这个问题,但是它们一般都会在客户端进行额外的计算,会带来额外的开销。如果用户查询与索引术语相关的术语语义,则有可能只有少数匹配的结果或者没有结果被返回。因此,用户必须执行更多的查询操作才能获得所需的文件。为了解决这个问题,可以在提交搜索请求之前按照一定的规则扩展查询词,但随着查询关键词的增加,查询扩展会变得越来越复杂,导致更高的计算开销。
现有的多关键词排序搜索通常没有考虑关键词位置信息。关键词出现在标题和正文并没有区分,把所有文档是做一个域,创建的索引不能准确反映关键词在文章中的权重,导致搜索结果不准确。我们使用了域加权评分,将其引入到文档评分当中,对标题,摘要等不同域中的关键词赋予不同的权重加以区分。其次,对筛选出来的中心关键词进行语义扩展,计算语义相似度,将语义相似度、域加权评分和相关度分数三者结合,构造出更加准确的文档索引。目前的多关键词的排序方案大多采用经典的MRSE(multi-keyword rankedsearch over encrypted cloud data)算法,MRSE方案中创建的文档向量的维度通常很大,所以构建得索引所需的时间花费主要都在文档向量和矩阵相乘上。
发明内容
本发明的目的在于提供一种云环境加密外包数据语义扩展搜索方法及***,通过基于中心关键字的云环境加密外包数据语义扩展搜索,实现了关键字的语义扩展搜索,保护了用户隐私的同时,降低了用户的开销。
为了达到上述目的,本发明通过以下技术方案实现:
一种云环境加密外包数据语义扩展搜索方法,其特征是,包含以下步骤:
S1、数据拥有者从明文文档集合中抽取关键词,得到关键词集合,且生成密钥SK,根据关键词集合和密钥SK构建出安全索引集合和文档标记向量集合;
S2、数据拥有者将明文文档集合中的每篇文档分别加密成密文文档,生成密文文档的公钥和私钥sk,并将得到的密文文档集合和安全索引集合上传到公有云服务器,将文档标记向量集合发送到私有云服务器;
S3、授权用户输入查询需求时,利用斯坦福解析器来判断分析语法关系和语法结构,得到初始查询关键词并计算其权重;
S4、根据权重大小对初始查询关键词进行排序得到初始查询关键词集,对初始查询关键词集进行语义扩展,得到中心语义扩展集;
S5、授权用户使用数据拥有者给的密钥SK,根据中心语义扩展集构造相应的陷门和查询标记向量集合,并将陷门提交给公有云服务器,将查询标记向量集合发送给私有云服务器,以完成搜索请求;
S6、私有云服务器接收到授权用户发送的查询标记向量集合,将查询标记向量和文档标记向量进行匹配,得到满足授权用户查询需求的候选索引标识符集合;
S7、私有云服务器将候选索引标识符集合上传到公有云服务器,公有云服务器根据候选索引标识符集合和陷门找到对应的安全索引集合,根据对应的安全索引集合和陷门计算文档的相似度并排序,返回满足的前k篇密文文档给授权用户;
S8、授权用户使用数据拥有者给的私钥sk对返回的密文文档进行解密,得到明文文档。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S1具体包含:
S11、数据拥有者从明文文档集合F={f1,f2,…,fn}中抽取关键词,得到关键词集合W={w1,w2,…,wm};
S12、根据关键词集合W={w1,w2,…,wm},数据拥有者随机产生一个(n+2)比特的指示向量S和2h个维度为((n+2)/h)×((n+2)/h)的可逆矩阵{M11,M12,…,M1h,M21,M22,…,M2h},其中M11,M12,…,M1h,M21,M22,…,M2h皆为((n+2)/h)×((n+2)/h)维度的可逆矩阵,h是一个正整数并且满足h|(n+2),生成密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h},u是一个正整数且u|n;
S13、基于向量空间模型,数据拥有者为每篇文档fi生成一个文档向量Di,如果文档fi中包含关键词wj,则Di[j]=1,如果文档fi中不包含关键词wj,则Di[j]=0,其中wj来源于数据拥有者上传的文档所抽取的关键词集合W={w1,w2,…,wm},j=(1,2…m);
S14、将文档向量Di均分成u块,如果某个块全为0,则标记值bbs=0,否则bbs=1,其中(s=1,2,…,u),得到bi={bb1,bb2,…,bbu},进而得到文档标记向量ei={bi,sidi}以得到文档标记向量集合E=(e1,e2,…,em);
S15、将Di[j]中1的值设置为(Zij·(wft,f×idft)),其中Zij是域加权评分,wf-idf=wft,f×idfttft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数,然后,对文档向量Di进行维度扩展,第(n+1)位设置为一个随机数ε,第(n+2)位设置成1,则Di表示为(Di,ε,1),根据指示向量S将文档向量Di***成Di'和Di",将Di'和Di"分别分成h段,得到Di'=(Di1',Di2',…,Dih'),Di"=(Di1",Di2",…,Dih"),之后使用密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h}进行加密,得到和对应的安全索引Ii=(sidi,Vi),以得到安全索引集合I=(I1,I2,…,Im)。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S2具体包含:
S21、数据拥有者将明文文档集合F={f1,f2,…,fn}利用对称加密成密文文档集合C={c1,c2,…,cn};
S22、使用基于FeistelCipher的对称加密新算法,数据拥有者生成每个授权用户都能识别的公钥,以及只有数据拥有者才能识别的私钥sk,用于后续解密加密文档;
S23、将得到的密文文档集合C={c1,c2,…,cn}和安全索引集合I=(I1,I2,…,Im)上传到公有云服务器;
S24、将文档标记向量集合E=(e1,e2,…,em)发送到私有云服务器。
如权利要求3所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S3具体包含:
S31、用户输入查询需求,利用斯坦福分析器分析判断语法关系和语法结构,得到语法树结构和初始关键字;
S32、判断初始查询关键词之间的关系,用户输入的初始查询关键词的权重是一样的,定义它的初始权重为1,如果一个初始查询关键词和其他初始查询关键词有更多的语法关系,则它的权重则为1+R(Relation),其中R是包含在两个关键词之间的语法关系;
S33、根据初始查询关键词在语法解析树之间的彼此距离,对于每一个查询Q={q1,q2,…,qv},它独立于其他查询;其中v是查询Q中包含的初始查询关键词的数量;对于每一个初始查询关键词w,计算它的权重。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S4具体包含:
S41、通过计算每个初始查询关键词的权重,根据权重的大小排序得到初始查询关键词的排序,得到初始查询关键词集Q'={q1,q2,…,qs},其中权重q1≥q2≥…≥qss是授权用户可以根据自身需求设置的初始查询关键词数量;
S42、对初始查询关键词集Q'={q1,q2,…,qs},基于WordNet语料库进行扩展,得到中心语义扩展集Ω={q1,q2,…,qs1,…,δδ},其中δ是授权用户可以根据自身需求设置的扩展词数量;
S43、用Resnik算法来计算语义相似度,得到语义相似度分数;
S44、采用tf亚线性尺度变换方法计算初始查询关键词的相关度分数,对于每篇文档中的初始查询关键词t,可以将其wf和idf组合起来计算其相关度分数:wf-idf=wft,f×idft;其中tft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,wft,f为词频权重,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数;
S45、根据不同的域对应不同的权重系数,计算域加权得分Z。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S5具体包含:
S51、授权用户根据中心语义扩展集Ω创建查询向量L,若wj∈Ω,则将L[j]=1,若则L[j]=0;
S52、将查询向量L均分成u块,如果某个块全为0,则标记为0,否则为1,得到查询标记向量并将查询标记向量发送给私有云服务器;
S53、将查询向量L中的1置为对应的语义相似度分数scj,再将L扩展成(n+1)维且(n+1)位设置成1,用大于0的随机数r对L缩放,扩展成(n+2)维,第(n+2)位设置成(s+δ),其中,s是授权用户可以根据自身需求设置,δ是授权用户可以根据自身需求设置的扩展词数量,因此L表示成(rL,r,(s+δ));
S54、将查询向量L***成L'和L"之后,将L'和L"分别分成h段,得到L'=(L1',L2',…,Lh'),L"=(L1",L2",…,Lh");
S55、如果指示向量S的第j位为0,则L'[j]和L"[j]设为随机值,满足L'[j]+L"[j]=L[j];如果指示向量S的第j位为1,则L'[j]=L"[j]=L[j],使用密钥SK进行加密,生成陷门TQ
S56、将生成的陷门TQ发送给公有云服务器。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S6具体包含:
私有云服务器接收到授权用户发送的查询标记向量得到可能包含搜索关键词的索引标识符集合SID={…,sidi,…,sidj,…,sidz,…},其中sidi,…,sidj,…,sidz,…皆为索引标识符。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S7具体包含:
S71、私有云服务器将候选索引标识符集合SID上传到公有云服务器;
S72、公有云服务器根据SID,找到对应的根据安全索引集合I=(I1,I2,…,Im);
S73、根据对应的安全索引集合,用对应的Vi和陷门TQ计算文档的相似度分数;
S74、根据相似度排序,返回满足条件的前k篇密文文档给授权用户。
上述的云环境加密外包数据语义扩展搜索方法,其中,所述的步骤S8具体包含:
授权用户使用加密文件的私钥sk,对返回的k篇密文文档进行解密,得到明文文档。
一种云环境加密外包数据语义扩展搜索***,其特征是,包含数据拥有者、公有云服务器、私有云服务器和授权用户,其中:
数据拥有者发送密文文档集合和安全索引集合给公有云服务器,将文档标记向量集合发送给私有云服务器,将密钥SK发送给授权用户;
授权用户使用密钥SK,根据中心语义扩展集合构造相应的陷门和查询标记向量集合,并将查询标记向量集合发送给私有云服务器,将陷门发送给公有云服务器完成搜索请求;
私有云服务器将文档标记向量和查询标记向量进行匹配,得到满足用户查询需求的候选索引标识符集合,并将候选索引标识符集合发送给公有云服务器;公有云服务器通过收到的候选索引标识符集合和陷门找到对应的安全索引集合,并计算文档的相似度分数并排序,返回满足条件的密文文档给授权用户。
本发明与现有技术相比具有以下优点:
1、本发明考虑了查询关键词之间的关系,设计了一个查询关键词加权算法来区分关键词,以显示查询关键字之间区分的重要性,提高查询结果的相关性。通过使用关键词权重,可以准确有效地定位用户感兴趣的中心关键字。根据中心关键字来扩展,可以大大减少陷门生成时间。这样,在功能和效率之间做了很好的权衡。
2、现有的多关键词排序搜索通常没有考虑关键词位置信息。关键词出现在标题和正文并没有区分,把所有文档是做一个域,创建的索引不能准确反映关键词在文章中的权重,导致搜索结果不准确。本发明中使用了域加权评分,将其引入到文档评分当中,对标题,摘要等不同域中的关键词赋予不同的权重加以区分。其次,对筛选出来的中心关键词进行语义扩展,计算语义相似度,将语义相似度、域加权评分和相关度分数三者结合,构造出更加准确的文档索引。
3、目前的多关键词的排序方案大多采用经典的MRSE算法,MRSE方案中创建的文档向量的维度通常很大,所以构建得索引所需的时间花费主要都在文档向量和矩阵相乘上。本发明中将文档向量分段,将每一段与维度大大减小的对应维度的矩阵相乘,这使得构建索引的时间大大减少。针对现有的MRSE方案效率不高的情况,将创建的文档向量分块,生成了维数较小的标记向量。通过文档标记向量和查询标记向量的匹配,有效的过滤了大量的无关文档,减少了计算文档相关度分数和排序的时间,提高了搜索的效率。
附图说明
图1为本发明的方法流程图;
图2为本发明的方法在实施例中所应用的***功能模块示意图;
图3为本发明的步骤S1的具体流程图;
图4为本发明的步骤S4的具体流程图;
图5为本发明的步骤S5的具体流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1、3~5所示,一种云环境加密外包数据语义扩展搜索方法,其特征在于,包含以下步骤:
S1、数据拥有者从明文文档集合中抽取关键词,得到关键词集合,且生成密钥SK,根据关键词集合,用密钥SK构建出安全索引集合和文档标记向量集合;
S2、数据拥有者将明文文档集合中的每篇文档分别加密成密文文档,生成密文文档的公钥和私钥sk,并将得到的密文文档集合和安全索引集合上传到公有云服务器,将文档标记向量集合发送到私有云服务器;
S3、授权用户输入查询需求时,利用斯坦福解析器来判断分析语法关系和语法结构,得到初始查询关键词并计算其权重;
S4、根据权重大小对初始查询关键词进行排序得到初始查询关键词集,对初始查询关键词集进行语义扩展,得到中心语义扩展集;
S5、授权用户使用数据拥有者给的密钥SK,根据中心语义扩展集构造相应的陷门和查询标记向量集合,并将陷门提交给公有云服务器,将查询标记向量集合发送给私有云服务器,以完成搜索请求;
S6、私有云服务器接收到授权用户发送的查询标记向量集合,将查询标记向量和文档标记向量进行匹配,得到满足授权用户查询需求的候选索引标识符集合;
S7、私有云服务器将候选索引标识符集合上传到公有云服务器,公有云服务器根据候选索引标识符集合和陷门找到对应的安全索引集合,根据对应的安全索引集合和陷门计算文档的相似度并排序,返回满足的前k篇密文文档给授权用户;
S8、授权用户使用数据拥有者给的私钥sk对返回的密文文档进行解密,得到明文文档。
其中,所述的步骤S1具体包含:
S11、数据拥有者从明文文档集合F={f1,f2,…,fn}中抽取关键词,得到关键词集合W={w1,w2,…,wm};
S12、根据关键词集合W={w1,w2,…,wm},数据拥有者随机产生一个(n+2)比特的指示向量S和2h个维度为((n+2)/h)×((n+2)/h)的可逆矩阵{M11,M12,…,M1h,M21,M22,…,M2h},其中M11,M12,…,M1h,M21,M22,…,M2h是用来构成密钥SK的组成部分,皆为((n+2)/h)×((n+2)/h)维度的可逆矩阵,h是一个正整数并且满足h|(n+2),生成密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h},u是一个正整数且u|n;
S13、数据拥有者为每篇文档fi生成一个文档向量Di,如果文档fi中包含关键词wj,则Di[j]=1,如果文档fi中不包含关键词wj,则Di[j]=0,其中wj来源于数据拥有者上传的文档所抽取的关键词集合W={w1,w2,…,wm},j=(1,2…m);
S14、将文档向量Di均分成u块,如果某个块全为0,则标记值bbs=0,否则bbs=1,其中(s=1,2,…,u),进而得到bi={bb1,bb2,…,bbu},进而得到文档标记向量ei={bi,sidi}以得到文档标记向量集合E=(e1,e2,…,em);
S15、将Di[j]中1的值设置为(Zij·(wft,f×idft))后,其中Zij是域加权评分,wf-idf=wft,f×idfttft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数,对文档向量Di进行维度扩展,第(n+1)位设置为一个随机数ε,第(n+2)位设置成1,则Di维度扩展后表示为(Di,ε,1),根据指示向量S将文档向量Di***成Di'和Di",将Di'和Di"分别分成h段,得到Di'=(Di1',Di2',…,Dih'),Di"=(Di1",Di2",…,Dih"),之后使用密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h}进行加密,得到和对应的安全索引Ii=(sidi,Vi),以得到安全索引集合I=(I1,I2,…,Im)。
其中,所述的步骤S2具体包含:
S21、数据拥有者将明文文档集合F={f1,f2,…,fn}利用对称加密成密文文档集合C={c1,c2,…,cn};
S22、使用基于FeistelCipher的对称加密新算法,数据拥有者生成每个人都能识别的公钥,以及只有数据拥有者才能识别的私钥sk,用于后续解密加密文档;
将数据文件分成块,这些可变块的大小是随机生成的。每个块分为两部分:左半部分Li和右半部分Ri。右半部分是生成密钥的输入功能,这个键的大小和函数都是未定义的,结果和左半部分使用XOR,结果将成为下一个右半部分,而前一个右半部分成为下一个左半部分。即Li+1=Ri,Ri+1=LiXorF(Ri,Ki),Ki是第i轮的块密钥,F是Feistel函数,为每个循环(i=0,1,2…n)加密一个块(Li,Ri)。这个过程将持续不定数量的回合,得到密文(Rn+1,Ln+1);
根据FeistelCipher结构,数据拥有者根据上传的文本大小,确定范围的边界,然后在范围边界内选择文本生成块的大小,随机生成的文本可变块的大小决定了块密钥的值,每个块在加密过程中都会收到一个不同的块密钥,块密钥用于所有块循环,还会生成一个基于块的大小特定的公式,这个公式可以用来加密和解密。没有特定的公式来生成块密钥,它可能是块转位,块大小或所有块的变体,这增加了算法的灵活性;
S23、将得到的密文文档集合C={c1,c2,…,cn}和安全索引集合I=(I1,I2,…,Im)上传到公有云服务器;
S24、将文档标记向量集合E=(e1,e2,…,em)发送到私有云服务器。
其中,所述的步骤S3具体包含:
S31、用户输入查询需求,利用斯坦福分析器分析判断语法关系和语法结构,得到语法树结构和初始关键字;
S32、判断初始查询关键词之间的关系,用户输入的初始查询关键词的权重是一样的,定义它的初始权重为1,如果一个初始查询关键词和其他初始查询关键词有更多的语法关系,则它的权重则为1+R(Relation)[缩写1+R],其中R是包含在两个关键词之间的语法关系;
S33、根据初始查询关键词在语法解析树之间的彼此距离,对于每一个查询Q={q1,q2,…,qv},它独立于其他查询;其中q1,q2,…,qv是查询Q的v个关键词,v是查询Q中包含的初始查询关键词的数量,表示查询Q有v个初始查询关键词,查询的总权重为v;对于每一个初始查询关键词w,计算它的权重;
我们使用语法树之间两个关键词之间的距离来量化语法关系的重要性,根据初始关键词在语法解析树之间的彼此距离,利用公式其中r代表的是两两关键词之间的语法关系,d是语法树中两个关键词之间的距离,得到初始关键词的权重;对于每一个初始关键词w,它的权重为
其中,所述的步骤S4具体包含:
S41、通过计算每个初始查询关键词的权重,根据权重的大小排序得到初始查询关键词的排序,得到初始查询关键词集Q'={q1,q2,…,qs},其中权重q1≥q2≥…≥qss是用户可以根据自身需求设置的初始查询关键词数量;
S42、对初始查询关键词集Q'={q1,q2,…,qs},基于WordNet语料库进行扩展,得到中心语义扩展集Ω={q1,q2,…,qs1,…,δδ};
S43、用Resnik算法来计算语义相似度,得到语义相似度分数,具体的,先计算两个概念c1和c2的相似度:sim(c1,c2)=-logp(c)(lso(c1,c2)),其中lso(c1,c2)表示概念c1和c2在WordNet分类树中的最近公共祖先节点,计算的是WordNet语料库中出现概念c的名词的概率,N表示WordNet语料库中名词的个数,frep(c)表示语料库中包含概念c的单词集合,则两个单词的语义相似度为其中s(w1)和s(w2)分别表示单词w1和w2包含的概念集合,由此可得语义相似度分数SC=(sc1,sc2,…scs,scs+1,…,scs+δ);
S44、在tf-idf权值计算方法中,由于关键词的相关度分数会随词频频率线性增长,而关键词携带的信息重要性不与权重成线性关系,因此采用tf亚线性尺度变换方法计算初始查询关键词的相关度分数,这样更为准确。其中tf-idf=tft,f×idft,tft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数。在tf亚线性尺度变换方法中,对于每篇文档中的初始查询关键词t,可以将其wf和idf组合起来计算其相关度分数:wf-idf=wft,f×idft;其中wft,f为词频权重,
S45、根据不同的域对应不同的权重系数,计算域加权得分Z。具体的,计算域加权得分Z,将每篇文档分成l个,对应的权重系数分别为g1,g2,…gl,必须满足si为关键词在某篇文档的第i个域的匹配得分,si=1表示匹配,si=0表示不匹配。则域加权评分为
其中,所述的步骤S5具体包含:
S51、授权用户根据中心语义扩展集Ω创建查询向量L,若wj∈Ω,则将L[j]=1,若则L[j]=0;
S52、将查询向量L均分成u块,如果某个块全为0,则标记为0,否则为1,得到查询标记向量并将查询标记向量发送给私有云服务器;
S53、将查询向量L中的1置为对应的语义相似度分数scj,再将L扩展成(n+1)维且(n+1)位设置成1,用大于0的随机数r对L缩放,扩展成(n+2)维,第(n+2)位设置成(s+δ),其中,s是授权用户可以根据自身需求设置,δ是授权用户可以根据自身需求设置的扩展词数量;因此查询向量L表示成(rL,r,(s+δ));
S54、将查询向量L***成L'和L"之后,将L'和L"分别分成h段,得到L'=(L1',L2',…,Lh'),L"=(L1",L2",…,Lh");
S55、如果指示向量S的第j位为0,则L'[j]和L"[j]设为随机值,满足L'[j]+L"[j]=L[j];如果指示向量S的第j位为1,则L'[j]=L"[j]=L[j],使用密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h}进行加密,生成陷门TQ
S56、将生成的陷门TQ发送给公有云服务器。
其中,所述的步骤S6具体包含:
私有云服务器接收到授权用户发送的查询标记向量依次用中的每一位1去匹配文档标记向量ei中对应的块,如果块的标记值bbs为0,则说明该文档对应的块没有搜索的关键词,如果为1的话则将对应的索引标识符sidi记录下来,得到可能包含搜索关键词的索引标识符集合SID={…,sidi,…,sidj,…,sidz,…}。
其中,所述的步骤S7具体包含:
S71、私有云服务器将候选索引标识符集合SID上传到公有云服务器;
S72、公有云服务器根据SID,找到对应的根据安全索引集合I=(I1,I2,…,Im);
S73、根据对应的安全索引集合,用对应的Vi和陷门TQ计算文档的相似度分数:
S74、根据相似度排序,返回满足条件的前k篇密文文档给授权用户。
其中,所述的步骤S8具体包含:
授权用户使用加密文件的私钥sk,对返回的k篇密文文档进行解密,得到明文文档,具体的:
根据公式Ri=Li+1,Li=Ri+1XorF(Li+1,Ki),利用块加密的反向操作用于解密块,解密过程与加密相反,通过计算Ri的值,对于(i=n,n-1,n-2…0),Li可以解密加密块(Rn+1,Ln+1),解密块之后获得每个块的参数:块大小和轮次以及位置的数量,并通过数据拥有者发送给授权用户的私钥sk,授权用户使用私钥sk提取元数据对返回的top-k篇密文进行解密,得到明文文档集。
如图2所示,本发明还提出了一种云环境加密外包数据语义扩展搜索***,其包含数据拥有者、公有云服务器、私有云服务器和授权用户,其中:
数据拥有者发送密文文档集合和安全索引集合给公有云服务器,将文档标记向量集合发送给私有云服务器,将密钥SK发送给授权用户;
授权用户使用密钥SK,根据中心语义扩展集合构造相应的陷门和查询标记向量集合,并将查询标记向量集合发送给私有云服务器,将陷门发送给公有云服务器完成搜索请求;
私有云服务器将文档标记向量和查询标记向量进行匹配,得到满足用户查询需求的候选索引标识符集合,并将候选索引标识符集合发送给公有云服务器;公有云服务器通过收到的候选索引标识符集合和陷门找到对应的安全索引集合,并计算文档的相似度分数并排序,返回满足条件的密文文档给授权用户。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (10)

1.一种云环境加密外包数据语义扩展搜索方法,其特征在于,包含以下步骤:
S1、数据拥有者从明文文档集合中抽取关键词,得到关键词集合,且生成密钥SK,根据关键词集合和密钥SK构建出安全索引集合和文档标记向量集合;
S2、数据拥有者将明文文档集合中的每篇文档分别加密成密文文档,生成密文文档的公钥和私钥sk,并将得到的密文文档集合和安全索引集合上传到公有云服务器,将文档标记向量集合发送到私有云服务器;
S3、授权用户输入查询需求时,利用斯坦福解析器来判断分析语法关系和语法结构,得到初始查询关键词并计算其权重;
S4、根据权重大小对初始查询关键词进行排序得到初始查询关键词集,对初始查询关键词集进行语义扩展,得到中心语义扩展集;
S5、授权用户使用数据拥有者给的密钥SK,根据中心语义扩展集构造相应的陷门和查询标记向量集合,并将陷门提交给公有云服务器,将查询标记向量集合发送给私有云服务器,以完成搜索请求;
S6、私有云服务器接收到授权用户发送的查询标记向量集合,将查询标记向量和文档标记向量进行匹配,得到满足授权用户查询需求的候选索引标识符集合;
S7、私有云服务器将候选索引标识符集合上传到公有云服务器,公有云服务器根据候选索引标识符集合和陷门找到对应的安全索引集合,根据对应的安全索引集合和陷门计算文档的相似度并排序,返回满足的前k篇密文文档给授权用户;
S8、授权用户使用数据拥有者给的私钥sk对返回的密文文档进行解密,得到明文文档。
2.如权利要求1所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S1具体包含:
S11、数据拥有者从明文文档集合F={f1,f2,…,fn}中抽取关键词,得到关键词集合W={w1,w2,…,wm};
S12、根据关键词集合W={w1,w2,…,wm},数据拥有者随机产生一个(n+2)比特的指示向量S和2h个维度为((n+2)/h)×((n+2)/h)的可逆矩阵{M11,M12,…,M1h,M21,M22,…,M2h},其中M11,M12,…,M1h,M21,M22,…,M2h皆为((n+2)/h)×((n+2)/h)维度的可逆矩阵,h是一个正整数并且满足h|(n+2),生成密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h},u是一个正整数且u|n;
S13、基于向量空间模型,数据拥有者为每篇文档fi生成一个文档向量Di,如果文档fi中包含关键词wj,则Di[j]=1,如果文档fi中不包含关键词wj,则Di[j]=0,其中wj来源于数据拥有者上传的文档所抽取的关键词集合W={w1,w2,…,wm},j=(1,2…m);
S14、将文档向量Di均分成u块,如果某个块全为0,则标记值bbs=0,否则bbs=1,其中(s=1,2,…,u),得到bi={bb1,bb2,…,bbu},进而得到文档标记向量ei={bi,sidi}以得到文档标记向量集合E=(e1,e2,…,em);
S15、将Di[j]中1的值设置为(Zij·(wft,f×idft)),其中Zij是域加权评分,wf-idf=wft,f×idfttft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数,然后,对文档向量Di进行维度扩展,第(n+1)位设置为一个随机数ε,第(n+2)位设置成1,则Di表示为(Di,ε,1),根据指示向量S将文档向量Di***成D′i和D″i,将D′i和D″i分别分成h段,得到Di'=(Di1',Di2',…,Dih'),Di"=(Di1",Di2",…,Dih"),之后使用密钥SK={S,M11,M12,…,M1h,M21,M22,…,M2h,u,h}进行加密,得到和对应的安全索引Ii=(sidi,Vi),以得到安全索引集合I=(I1,I2,…,Im)。
3.如权利要求2所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S2具体包含:
S21、数据拥有者将明文文档集合F={f1,f2,…,fn}利用对称加密成密文文档集合C={c1,c2,…,cn};
S22、使用基于FeistelCipher的对称加密新算法,数据拥有者生成每个授权用户都能识别的公钥,以及只有数据拥有者才能识别的私钥sk,用于后续解密加密文档;
S23、将得到的密文文档集合C={c1,c2,…,cn}和安全索引集合I=(I1,I2,…,Im)上传到公有云服务器;
S24、将文档标记向量集合E=(e1,e2,…,em)发送到私有云服务器。
4.如权利要求3所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S3具体包含:
S31、用户输入查询需求,利用斯坦福分析器分析判断语法关系和语法结构,得到语法树结构和初始关键字;
S32、判断初始查询关键词之间的关系,用户输入的初始查询关键词的权重是一样的,定义它的初始权重为1,如果一个初始查询关键词和其他初始查询关键词有更多的语法关系,则它的权重则为1+R(Relation),其中R是包含在两个关键词之间的语法关系;
S33、根据初始查询关键词在语法解析树之间的彼此距离,对于每一个查询Q={q1,q2,…,qv},它独立于其他查询;其中v是查询Q中包含的初始查询关键词的数量;对于每一个初始查询关键词w,计算它的权重。
5.如权利要求4所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S4具体包含:
S41、通过计算每个初始查询关键词的权重,根据权重的大小排序得到初始查询关键词的排序,得到初始查询关键词集Q'={q1,q2,…,qs},其中权重q1≥q2≥…≥qs,s是授权用户可以根据自身需求设置的初始查询关键词数量;
S42、对初始查询关键词集Q'={q1,q2,…,qs},基于WordNet语料库进行扩展,得到中心语义扩展集Ω={q1,q2,…,qs1,…,δδ},其中δ是授权用户可以根据自身需求设置的扩展词数量;
S43、用Resnik算法来计算语义相似度,得到语义相似度分数;
S44、采用tf亚线性尺度变换方法计算初始查询关键词的相关度分数,对于每篇文档中的初始查询关键词t,可以将其wf和idf组合起来计算其相关度分数:wf-idf=wft,f×idft;其中tft,f是词项频率,表示关键词t在文档中出现的次数,idft是逆文档频率,wft,f为词频权重,表示关键词t在文档集合中的罕见程度,定义表示为N表示所有文档的篇数,dft为包含关键词t的文档篇数;
S45、根据不同的域对应不同的权重系数,计算域加权得分Z。
6.如权利要求5所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S5具体包含:
S51、授权用户根据中心语义扩展集Ω创建查询向量L,若wj∈Ω,则将L[j]=1,若则L[j]=0;
S52、将查询向量L均分成u块,如果某个块全为0,则标记为0,否则为1,得到查询标记向量并将查询标记向量发送给私有云服务器;
S53、将查询向量L中的1置为对应的语义相似度分数scj,再将L扩展成(n+1)维且(n+1)位设置成1,用大于0的随机数r对L缩放,扩展成(n+2)维,第(n+2)位设置成(s+δ),其中,s是授权用户可以根据自身需求设置,δ是授权用户可以根据自身需求设置的扩展词数量,因此L表示成(rL,r,(s+δ));
S54、将查询向量L***成L'和L"之后,将L'和L"分别分成h段,得到L'=(L1',L2',…,Lh'),L"=(L1",L2",…,Lh");
S55、如果指示向量S的第j位为0,则L'[j]和L"[j]设为随机值,满足L'[j]+L"[j]=L[j];如果指示向量S的第j位为1,则L'[j]=L"[j]=L[j],使用密钥SK进行加密,生成陷门TQ
S56、将生成的陷门TQ发送给公有云服务器。
7.如权利要求6所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S6具体包含:
私有云服务器接收到授权用户发送的查询标记向量得到可能包含搜索关键词的索引标识符集合SID={…,sidi,…,sidj,…,sidz,…},其中sidi,…,sidj,…,sidz,…皆为索引标识符。
8.如权利要求7所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S7具体包含:
S71、私有云服务器将候选索引标识符集合SID上传到公有云服务器;
S72、公有云服务器根据SID,找到对应的根据安全索引集合I=(I1,I2,…,Im);
S73、根据对应的安全索引集合,用对应的Vi和陷门TQ计算文档的相似度分数;
S74、根据相似度排序,返回满足条件的前k篇密文文档给授权用户。
9.如权利要求8所述的云环境加密外包数据语义扩展搜索方法,其特征在于,所述的步骤S8具体包含:
授权用户使用加密文件的私钥sk,对返回的k篇密文文档进行解密,得到明文文档。
10.一种云环境加密外包数据语义扩展搜索***,其特征在于,包含数据拥有者、公有云服务器、私有云服务器和授权用户,其中:
数据拥有者发送密文文档集合和安全索引集合给公有云服务器,将文档标记向量集合发送给私有云服务器,将密钥SK发送给授权用户;
授权用户使用密钥SK,根据中心语义扩展集合构造相应的陷门和查询标记向量集合,并将查询标记向量集合发送给私有云服务器,将陷门发送给公有云服务器完成搜索请求;
私有云服务器将文档标记向量和查询标记向量进行匹配,得到满足用户查询需求的候选索引标识符集合,并将候选索引标识符集合发送给公有云服务器;公有云服务器通过收到的候选索引标识符集合和陷门找到对应的安全索引集合,并计算文档的相似度分数并排序,返回满足条件的密文文档给授权用户。
CN201810345112.9A 2018-04-17 2018-04-17 云环境加密外包数据语义扩展搜索方法及*** Pending CN108549701A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810345112.9A CN108549701A (zh) 2018-04-17 2018-04-17 云环境加密外包数据语义扩展搜索方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810345112.9A CN108549701A (zh) 2018-04-17 2018-04-17 云环境加密外包数据语义扩展搜索方法及***

Publications (1)

Publication Number Publication Date
CN108549701A true CN108549701A (zh) 2018-09-18

Family

ID=63515456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810345112.9A Pending CN108549701A (zh) 2018-04-17 2018-04-17 云环境加密外包数据语义扩展搜索方法及***

Country Status (1)

Country Link
CN (1) CN108549701A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871426A (zh) * 2018-12-18 2019-06-11 国网浙江桐乡市供电有限公司 一种涉密数据的监测识别方法
CN111427998A (zh) * 2020-03-19 2020-07-17 辽宁工业大学 一种云数据多关键字扩展权值的安全密文查询方法
CN111984995A (zh) * 2020-08-14 2020-11-24 杭州视洞科技有限公司 一种基于私有云的网络摄像机的数据加密方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的***及方法
JP5347870B2 (ja) * 2009-09-25 2013-11-20 大日本印刷株式会社 商品推薦装置
CN103780380A (zh) * 2012-10-22 2014-05-07 上海俊悦智能科技有限公司 一种非对称的安全加密邮件实现方法
CN104468478A (zh) * 2013-09-17 2015-03-25 上海俊悦光纤网络科技有限公司 一种邮件加密方法
CN105915520A (zh) * 2016-04-18 2016-08-31 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储***
CN106951411A (zh) * 2017-03-24 2017-07-14 福州大学 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5347870B2 (ja) * 2009-09-25 2013-11-20 大日本印刷株式会社 商品推薦装置
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的***及方法
CN103780380A (zh) * 2012-10-22 2014-05-07 上海俊悦智能科技有限公司 一种非对称的安全加密邮件实现方法
CN104468478A (zh) * 2013-09-17 2015-03-25 上海俊悦光纤网络科技有限公司 一种邮件加密方法
CN105915520A (zh) * 2016-04-18 2016-08-31 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储***
CN106951411A (zh) * 2017-03-24 2017-07-14 福州大学 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
巴志超 等: "共现分析中的关键词选择与语义度量方法研究", 《情报学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871426A (zh) * 2018-12-18 2019-06-11 国网浙江桐乡市供电有限公司 一种涉密数据的监测识别方法
CN109871426B (zh) * 2018-12-18 2021-08-10 国网浙江桐乡市供电有限公司 一种涉密数据的监测识别方法
CN111427998A (zh) * 2020-03-19 2020-07-17 辽宁工业大学 一种云数据多关键字扩展权值的安全密文查询方法
CN111427998B (zh) * 2020-03-19 2024-03-26 辽宁工业大学 一种云数据多关键字扩展权值的安全密文查询方法
CN111984995A (zh) * 2020-08-14 2020-11-24 杭州视洞科技有限公司 一种基于私有云的网络摄像机的数据加密方法

Similar Documents

Publication Publication Date Title
CN106951411B (zh) 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法
CN104765848B (zh) 混合云存储中支持结果高效排序的对称可搜索加密方法
Fu et al. Enabling personalized search over encrypted outsourced data with efficiency improvement
Chen et al. An efficient privacy-preserving ranked keyword search method
Fu et al. Achieving effective cloud search services: multi-keyword ranked search over encrypted cloud data supporting synonym query
CN106997384B (zh) 一种排序可验证的语义模糊可搜索加密方法
CN109063509A (zh) 一种基于关键词语义排序的可搜索加密方法
CN108647529A (zh) 一种基于语义的多关键词排序搜索隐私保护***及方法
CN109992995B (zh) 一种支持位置保护和查询隐私的可搜索加密方法
CN102629261A (zh) 由钓鱼网页查找目标网页的方法
CN108171071B (zh) 一种面向云计算的多关键字可排序密文检索方法
CN112966281B (zh) 基于稀疏数据集的隐私保护关联规则挖掘方法
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN109739945B (zh) 一种基于混合索引的多关键词密文排序检索方法
CN111339539B (zh) 一种多用户环境下的高效加密图像检索方法
CN108549701A (zh) 云环境加密外包数据语义扩展搜索方法及***
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
CN108416037B (zh) 云环境中基于两级索引的中心关键词密文搜索方法
Boucenna et al. Secure inverted index based search over encrypted cloud data with user access rights management
CN109213731A (zh) 云环境中基于迭代加密的多关键词密文检索方法
CN108650268B (zh) 一种实现多级访问的可搜索加密方法及***
Liang et al. Secure and efficient image retrieval over encrypted cloud data
CN108768651A (zh) 支持多维区间范围查询的可搜索公钥加密方法
CN104572827B (zh) 一种基于跨明文与密文的混合搜索***
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: 20180918