【技术实现步骤摘要】
一种混合云中基于同态加密的多关键词密文排序检索方法
本专利技术属于云计算和信息检索
,具体涉及一种混合云中基于同态加密的多关键词密文排序检索方法。
技术介绍
随着云计算的发展,越来越多的个人和企业将大量数据和应用外包给云服务器,从而获得价格低廉、高效率、高容量、可扩展的计算和存储资源、随时随地灵活的访问支持等云服务带来的诸多好处。混合云是近年来云计算的主要模式和发展方向,融合了公有云和私有云。公有云由大型的企业运营,具有很大的计算能力和存储空间,能够服务于大量的用户,私有云将提供服务的基础设施、应用和数据都纳入到组织内部的管理中,使其能更加符合组织使用需求,混合云由多个公有云、私有云组合而成,基于云间服务的协同和组合,构建一个动态、灵活、无缝的集成云环境,兼有公有云易扩展、节约成本和私有云安全、可控的优势。在混合云中,用户通常将关键数据放在私有云中存储和处理,而将大量应用数据外包到公有云中,而且在一些特殊的混合云应用场景中,例如云爆发、云灾备等,用户需要将更多的重要数据在公有云上存储。由于公有云服务器提供商通常不完全可信,他们可能窥探和分析用户存储的一些重要隐私信息,因此将数据交由公有云服务器托管就意味着数据的安全性和隐私性受到了威胁,需要将数据进行加密后外包给公有云服务器,但与此同时给数据的访问和操作带来新的困难和挑战。目前针对云中外包密文数据的多关键词检索,大多数现有工作都遵循“单一拥有者”模式,即仅独立实现对属于一个数据拥有者的外包数据的检索。现实中,由于不同数据拥有者所属的权威领域不同, ...
【技术保护点】
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: ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。