一种混合云中基于同态加密的多关键词密文排序检索方法技术

技术编号:23852074 阅读:39 留言:0更新日期:2020-04-18 09:10
本发明专利技术公开了一种混合云中基于同态加密的多关键词密文排序检索方法,数据拥有者对文件集加密后发送给公有云服务器,然后与可信私有云服务器交互获得公共词典,更新公共词典并对文件集生成明文索引发送给私有云服务器;私有云服务器构建动态权重模型计算数据拥有者的加权权重并生成加权索引,然后构建二叉索引树并使用同态加密算法对索引树加密得到安全索引,将安全索引发送给公有云服务器。私有云服务器根据数据使用者的查询数据生成查询向量,并将查询向量扩展成陷门作为检索请求发送到公有云服务器;公有云服务器接收到陷门后在安全索引中检索,将排名靠前的加密文件下载链接列表返回给数据使用者。本发明专利技术具有较高的检索效率和准确率。

A multi keyword ciphertext sorting and retrieval method based on homomorphic encryption in hybrid cloud

【技术实现步骤摘要】
一种混合云中基于同态加密的多关键词密文排序检索方法
本专利技术属于云计算和信息检索
,具体涉及一种混合云中基于同态加密的多关键词密文排序检索方法。
技术介绍
随着云计算的发展,越来越多的个人和企业将大量数据和应用外包给云服务器,从而获得价格低廉、高效率、高容量、可扩展的计算和存储资源、随时随地灵活的访问支持等云服务带来的诸多好处。混合云是近年来云计算的主要模式和发展方向,融合了公有云和私有云。公有云由大型的企业运营,具有很大的计算能力和存储空间,能够服务于大量的用户,私有云将提供服务的基础设施、应用和数据都纳入到组织内部的管理中,使其能更加符合组织使用需求,混合云由多个公有云、私有云组合而成,基于云间服务的协同和组合,构建一个动态、灵活、无缝的集成云环境,兼有公有云易扩展、节约成本和私有云安全、可控的优势。在混合云中,用户通常将关键数据放在私有云中存储和处理,而将大量应用数据外包到公有云中,而且在一些特殊的混合云应用场景中,例如云爆发、云灾备等,用户需要将更多的重要数据在公有云上存储。由于公有云服务器提供商通常不完全可信,他们可能窥探和分析用户存储的一些重要隐私信息,因此将数据交由公有云服务器托管就意味着数据的安全性和隐私性受到了威胁,需要将数据进行加密后外包给公有云服务器,但与此同时给数据的访问和操作带来新的困难和挑战。目前针对云中外包密文数据的多关键词检索,大多数现有工作都遵循“单一拥有者”模式,即仅独立实现对属于一个数据拥有者的外包数据的检索。现实中,由于不同数据拥有者所属的权威领域不同,多个数据拥有者上传文件存在较大的质量差异,数据使用者通常期望同时从多个数据拥有者上传的所有数据集中检索出高质量的数据,即需要实现“多拥有者”模式。然而,将“单一拥有者”模式直接扩展为“多拥有者”模式面临着两大挑战:一是密钥管理不方便以及高通信成本;二是不同数据拥有者的主题相似文件的质量有明显差别,对文件质量的排名比较困难。因此,研究混合云中针对“多拥有者”模式的安全、高效、准确、灵活的多关键词密文检索方法具有重要的现实意义。针对加密文件进行关键词的密文检索技术,Liu等人首先提出了基于对称加密的密文检索方案,它支持对加密的数据进行关键词检索,并且能够保证文件和关键词的隐私性(文献1)。同时,云服务器能够参与部分解密,以减少用户的计算开销。该方案构建基于双线性映射来实现密文的检索,效率较低。Wang等人设计了一种基于非对称加密的密文检索方案,使用不同的密钥加密每个数据块,实现灵活的基于加密的访问控制,并且使用基于散列函数的密钥派生过程减少计算开销(文献2)。该方案还设计了一些机制来处理用户访问权限的更改,但是服务提供商只支持通过关键词检索数据拥有者自己的数据,不允许其他人检索。随后,Dawn等人提出了一种基于非对称加密的密文检索方案,用于帮助用户A将用户B的数据存储到云服务器,只有B可以检索数据(文献3)。Yasuhiro提出了一种基于布隆过滤器的方案,不需要预先定义词典,查询效率较高,但是在该方案中,用户的查询都需要数据拥有者来处理,因此不适用于云存储(文献4)。Prakash等人首次将ElGamal型椭圆曲线密码应用于可搜索的索引,由于其附加的同态性质,保证数据安全性的同时,可以对加密文件进行有效排序(文献5)。但是该方案中关键词查询的效率较低,并且不适用于“多拥有者”模式的情况。针对“单一拥有者”模式的弊端,Guo等人提出了在云服务器上针对“多拥有者”模式的安全多关键词排序检索,用可信代理来管理密钥的分配,并构建分组平衡索引树实现高效的查询。然而,该方案中使用的非对称标量积保持方法虽然可以很方便的实现可搜索加密,但是它的安全风险比较高,容易受到攻击(文献6)。综上所述,目前并没有一种能在混合云环境中实现针对“多拥有者”模式的安全高效的多关键词密文排序检索方法,已有相关方案存在不支持“多拥有者”模式或多关键词检索、检索效率较低及安全风险较高等问题。文献1:LiuQ,WangGJ,WuJ.Anefficientprivacypreservingkeywordsearchschemeincloudcomputing.ProceedingsoftheInternationalConferenceonComputationalScienceandEngineering,IEEEComputerSociety,Washington,DC,USA,2009.715-720.文献2:WangWC,LiZW,RodneyO,etal.Secureandefficientaccesstooutsourceddata.ProceedingsoftheACMWorkshoponCloudComputingSecurity,ACMPress,NewYork,USA,2009.55-66.文献3:SongXD,DavidP,WagnerP.Practicaltechniquesforsearchesonencrypteddata.ProceedingsoftheIEEESymposiumonSecurityandPrivacy,IEEEComputerSociety,Washington,DC,USA,2000.44-56.文献4:YasuhiroO.Partialdisclosureofsearchableencrypteddatawithsupportforbooleanqueries.ProceedingsoftheInternationalConferenceonAvailabilityReliabilityandSecurity,IEEEComputerSociety,Washington,DC,USA,2008.1083-1090.文献5:PrakashS,AndolaN,VenkatesanS,etal.SecureaccessofmultiplekeywordsoverencrypteddataincloudenvironmentusingECC-PKIandECCElGamal.ProceedingsoftheInternationalConferenceonPublicKeyInfrastructureandItsApplications,IEEEComputerSociety,Washington,DC,USA,2017.49-56.文献6:GuoZQ,ZhangH,SunC,etal.Securemulti-keywordrankedsearchoverencryptedclouddataformultipledataowners.JournalofSystemsandSoftware,2017.137:380-395.
技术实现思路
针对现有技术的以上缺陷和改进需求,本专利技术提供了一种混合云环境中支持“多拥有者”模式的安全高效的多关键词密文排序检索方法。本专利技术所采用的技术方案是:一种混合云中基于同态加密的多关键词密文排本文档来自技高网
...

【技术保护点】
1.一种混合云中基于同态加密的多关键词密文排序检索方法,其特征在于,包括以下步骤:/n步骤1:初始化;/n可信私有云服务器选择一个大素数作为私有密钥,私有云服务器选择一个远大于私有密钥的大素数作为共享密钥;/n步骤2:文件加密和上传;/n数据拥有者对要上传的文件进行加密后发送到公有云服务器;/n步骤3:生成明文索引;/n具体实现包括以下子步骤:/n步骤3.1:数据拥有者与私有云服务器进行交互获得公共词典;/n步骤3.2:数据拥有者对其所有文件进行语法分析、分词和提取关键词,得到关键词集合,并根据关键词集合更新公共词典;/n步骤3.3:数据拥有者利用向量空间模型和公共词典为每个文件分别生成明文形式的二进制索引向量,所有的二进制索引向量构成了明文索引;/n步骤3.4:数据拥有者将公共词典和明文索引发送给私有云服务器;/n步骤4:生成安全索引;/n具体实现包括以下子步骤:/n步骤4.1:私有云服务器首先计算公共词典中每两个关键词之间的相关系数并生成相关矩阵;/n步骤4.2:私有云服务器为数据拥有者的每个文件生成流行度信息,计算数据拥有者对公共词典中所有关键词的平均流行度向量;/n步骤4.3:私有云服务器利用相关矩阵和平均流行度向量计算数据拥有者对公共词典中所有关键词的原始权重;/n步骤4.4:私有云服务器对所有数据拥有者的原始权重进行归一化处理,得到每个数据拥有者对公共词典中所有关键词的加权权重,并通过数据拥有者的明文索引和加权权重生成所有文件的加权索引向量;/n步骤4.5:私有云服务器基于所有数据拥有者的加权索引向量构建一个加权二叉索引树;/n步骤4.6:私有云服务器使用步骤1中的私有密钥和共享密钥对二叉索引树中的每个节点对应的加权索引向量进行整数上的同态加密,得到加密索引树,即安全索引;/n步骤4.7:私有云服务器将安全索引发送至公有云服务器;/n步骤5:生成陷门;/n具体实现包括以下子步骤:/n步骤5.1:数据使用者将查询数据和参数信息发送给私有云服务器以请求检索;/n步骤5.2:私有云服务器对数据使用者的查询数据进行分词和提取关键词处理,并根据公共词典生成二进制查询向量;/n步骤5.3:私有云服务器根据参数信息将查询向量扩展为陷门并发送到公有云服务器;/n步骤6:检索;/n具体实现包括以下子步骤:/n步骤6.1:公有云服务器接收到陷门后,在安全索引中使用步骤1中的共享密钥计算并比较查询向量与加密索引树节点对应密文索引向量的相关性得分,将前n个得分最高的结果存入一个相关性分数序列中;/n步骤6.2:公有云服务器对得分结果进行排序,将前n个结果对应的密文文件下载链接列表返回给数据使用者;/n步骤6.3:数据使用者下载密文文件,并与数据拥有者交互,获得密钥后解密文件。/n...

【技术特征摘要】
1.一种混合云中基于同态加密的多关键词密文排序检索方法,其特征在于,包括以下步骤:
步骤1:初始化;
可信私有云服务器选择一个大素数作为私有密钥,私有云服务器选择一个远大于私有密钥的大素数作为共享密钥;
步骤2:文件加密和上传;
数据拥有者对要上传的文件进行加密后发送到公有云服务器;
步骤3:生成明文索引;
具体实现包括以下子步骤:
步骤3.1:数据拥有者与私有云服务器进行交互获得公共词典;
步骤3.2:数据拥有者对其所有文件进行语法分析、分词和提取关键词,得到关键词集合,并根据关键词集合更新公共词典;
步骤3.3:数据拥有者利用向量空间模型和公共词典为每个文件分别生成明文形式的二进制索引向量,所有的二进制索引向量构成了明文索引;
步骤3.4:数据拥有者将公共词典和明文索引发送给私有云服务器;
步骤4:生成安全索引;
具体实现包括以下子步骤:
步骤4.1:私有云服务器首先计算公共词典中每两个关键词之间的相关系数并生成相关矩阵;
步骤4.2:私有云服务器为数据拥有者的每个文件生成流行度信息,计算数据拥有者对公共词典中所有关键词的平均流行度向量;
步骤4.3:私有云服务器利用相关矩阵和平均流行度向量计算数据拥有者对公共词典中所有关键词的原始权重;
步骤4.4:私有云服务器对所有数据拥有者的原始权重进行归一化处理,得到每个数据拥有者对公共词典中所有关键词的加权权重,并通过数据拥有者的明文索引和加权权重生成所有文件的加权索引向量;
步骤4.5:私有云服务器基于所有数据拥有者的加权索引向量构建一个加权二叉索引树;
步骤4.6:私有云服务器使用步骤1中的私有密钥和共享密钥对二叉索引树中的每个节点对应的加权索引向量进行整数上的同态加密,得到加密索引树,即安全索引;
步骤4.7:私有云服务器将安全索引发送至公有云服务器;
步骤5:生成陷门;
具体实现包括以下子步骤:
步骤5.1:数据使用者将查询数据和参数信息发送给私有云服务器以请求检索;
步骤5.2:私有云服务器对数据使用者的查询数据进行分词和提取关键词处理,并根据公共词典生成二进制查询向量;
步骤5.3:私有云服务器根据参数信息将查询向量扩展为陷门并发送到公有云服务器;
步骤6:检索;
具体实现包括以下子步骤:
步骤6.1:公有云服务器接收到陷门后,在安全索引中使用步骤1中的共享密钥计算并比较查询向量与加密索引树节点对应密文索引向量的相关性得分,将前n个得分最高的结果存入一个相关性分数序列中;
步骤6.2:公有云服务器对得分结果进行排序,将前n个结果对应的密文文件下载链接列表返回给数据使用者;
步骤6.3:数据使用者下载密文文件,并与数据拥有者交互,获得密钥后解密文件。


2.根据权利要求1所述的混合云中基于同态加密的多关键词密文排序检索方法,其特征在于:步骤3.1中,数据拥有者与私有云服务器进行交互获得公共词典,交互过程主要是对公共词典的更新,对数据拥有者Oi的每个文件提取关键词后把这些关键词发送到私有云服务器,私有云服务器通过这些关键词更新公共词典,把公共词典里没有的关键词添加进公共词典,因此公共词典里存储了数据拥有者的所有文件的关键词。


3.根据权利要求1所述的混合云中基于同态加密的多关键词密文排序检索方法,其特征在于:步骤3.2中,数据拥有者Oi对所有文件进行语法分析和分词,用Fi,j表示Oi的第j个文件,对Fi,j提取m个关键词,得到包含m个关键词的集合Ki,j,并根据所有文件的关键词集合更新公共词典D。


4.根据权利要求3所述的混合云中基于同态加密的多关键词密文排序检索方法,其特征在于:步骤3.3中,数据拥有者Oi利用向量空间模型根据每个文件的关键词集合和公共词典D生成数据拥有者Oi的每个文件明文形式的二进制索引向量,用Ii,j表示Oi第j个文件的二进制索引向量,Ii,j长度等于D中关键词个数,记为p,其每一个元素代表D中对应的关键词在文件Fi,j的关键词集合里是否存在,若存在,则为1,否则为0,所有的二进制索引向量构成了明文索引。


5.根据权利要求1所述的混合云中基于同态加密的多关键词密文排序检索方法,其特征在于:步骤4.1中,私有云服务器使用Jaccard相似系数计算公共词典D中每两个关键词之间的相关系数Sx,y并生成相关矩阵S;
Sx,y计算公式为:



其中,dx和dy分别表示存在关键词x和y的文件集合,L(dx∩dy)表示同时存在关键词x和y的文件个数,L(dx∪dy)表示关键词x和y至少存在一个的文件个数,x和y出现在同一文件中的文件个数越多,两者越相关;S是一个对称矩阵,矩阵的行列数相等,为D中关键词的个数,每一个元素表示对应关键词之间的相关系数。


6.根据权利要求1所述的混合云中基于同态加密的多关键词密文排序检索方法,其特征在于:步骤4.2中,私有云服务器根据数据拥有者文件的下载次数和点击率生成流行度向量,并根据数据拥有者的流行度向量和二进制索引向量计算出数据拥有者对公共词典中所有关键词的平均流行度向量;
私有云服务器根据数据拥有者Oi所有文件的下载次数和点击率生成流行度向量Pi,其每个元素Pi,j代表文件Fi,j的流行度信息,Fi,j表示Oi的第j个文件;为了表示不同数据拥有者对不同的领域具有不同的权重,私有云服务器构建动态权重模型,通过文件的受欢迎度来确定Oi的平均流行度APi,计算公式如下:
...

【专利技术属性】
技术研发人员:何亨冯可蒋俊君乔瑞
申请(专利权)人:武汉科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1