[发明专利]一种云环境下基于层次属性的关键字查询方法有效
| 申请号: | 201810264897.7 | 申请日: | 2018-03-28 |
| 公开(公告)号: | CN108471417B | 公开(公告)日: | 2021-05-04 |
| 发明(设计)人: | 刘琴;胡柏霜 | 申请(专利权)人: | 湖南大学 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
| 代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 龚燕妮 |
| 地址: | 410082 湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 环境 基于 层次 属性 关键字 查询 方法 | ||
1.一种云环境下基于层次属性的关键字查询方法,其特征在于:包括如下步骤:
步骤1:数据所有者从可信第三方获取加密参数,以及利用预设的属性层次树以及所述加密参数加密数据文件集并发送给云端;
其中,所述数据文件集由至少两个数据文件Fi组成,每个数据文件Fi中存在一个由至少两个不同关键字w组成的关键字集;所述加密参数包括文件密钥、第一公共参数以及第一主密钥MK;
步骤1的执行过程如下:
Setp A:数据所有者利用所述文件密钥和预设第一访问树加密数据文件得到文件密文,并发送给云端;Setp B:数据所有者利用第一公共参数第一主密钥MK以及预设第二访问树Tw加密数据文件中每个关键字w得到关键字密文,并发送给云端;
其中,所述第二访问树Tw的叶子节点属性为所述属性层次树的下层属性,所述属性层次树中每个节点属性均利用正向和逆向深度优先编码规则分别设有正向编码值和逆向编码值;
所述正向深度优先编码规则为:以根节点为起始点,采用先左后右和编码值从小到大的原则依次遍历从左至右的子树上的每个节点进行编码直至每个节点上均设有正向编码值;所述逆向深度优先编码规则:以根节点为起始点,采用先右后左和编码值从小到大的原则依次遍历从右至左的子树上的每个节点进行编码直至每个节点上均设有逆向编码值;
其中,祖先节点上的正向编码值和逆向编码值分别小于子孙节点上对应的正向编码值和逆向编码值;
步骤2:可信第三方依据数据用户的搜索、访问权限分配属性集Su给数据用户,并生成解密密钥SKu和搜索密钥sku,再将所述解密密钥SKu和搜索密钥sku发送给数据用户;
其中,所述搜索密钥sku是依据所述属性集Su、所述第一公共参数和所述第一主密钥MK生成的;所述属性集Su中的所有属性均来自于所述属性层次树中的属性;
步骤3:数据用户依据步骤2中的第一主密钥MK、搜索密钥sku以及待搜索的关键字kw生成搜索令牌Tokkw,并发送给云端;
步骤4:所述云端依据步骤3中的搜索令牌Tokkw依次对存储的关键字密文集中的每个关键字密文进行匹配判断,若存在相匹配的关键字密文,将所述相匹配的关键字密文对应的文件密文发送给数据用户;若不存在,查找失败;
其中,所述属性集Su是关键字密文中第二访问树Tw中叶子节点属性的上层属性时,则基于节点属性的编码值采用前向导出函数来获取所述第二访问树Tw中叶子节点属性的关联参数,再利用所述关联参数查询关键字密文来判断该关键字密文是否是所匹配的关键字密文;
步骤5:判断属性集Su是否满足步骤4中所述文件密文的第一访问树的访问策略,若满足,则利用步骤2中的解密密钥SKu解密文件密文;若不满足,查询失败;
其中,步骤4中按照如下Step a和Step b进行所述匹配判断:
Step a:判断所述搜索令牌Tokkw中的属性集Su中是否存在一个子集合S满足关键字密文中第二访问树Tw的访问策略,若存在,执行Step b;否则,所述关键字密文与数据用户不匹配;
Step b:判断所述待搜索的关键字kw与所述关键字密文中的关键字w是否为同一关键字,若是,则所述关键字密文为与数据用户相匹配的关键字密文;否则,所述关键字密文与数据用户不匹配,Step b按照如下Step c-Step f执行:
Step c:利用前向导出函数以及所述子集合S中每个属性Aj对应在搜索令牌Tokkw中的搜索参数B'j、B'j1、B'j2计算出节点属性Aj的子孙节点属性Ai的搜索参数B'i,其中,Step b中所述关键字密文的第二访问树Tw包括所述节点属性Aj的子孙节点属性Ai,所述搜索参数B'i、的计算公式如下;
式中,f1(.)为正向编码值对应的前向导出函数,f2(.)为逆向编码值对应的前向导出函数;
Step d:利用Step c中所述子孙节点属性Ai的搜索参数B'i,和所述关键字密文中的属性参数计算得到所述子孙节点属性Ai的参数
式中,e表示双线性映射,cphw表示关键字w的关键字密文,K1、K2、K3为关键字密文cphw的参数,Ci表示所述子孙节点属性Ai的属性参数的集合,Pcodei、Ncodei表示属性Ai的正向编码值和逆向编码值;
Step e:利用Step d中所有所述子孙节点属性Ai的参数Exi进行拉格朗日插值函数计算得到第二访问树Tw根节点的参数ERoot;
Step f:利用Step e中的所述参数ERoot以及搜索令牌Tokkw中的参数tk1,tk2,tk3和关键字密文中的参数K1,K2,K3,验证如下等式是否成立,若成立,则为数据用户要查询的关键字kw与该关键字密文所指的是同一个关键字,查找成功;否则,则为数据用户要查询的关键字kw与该关键字密文所指的不是同一个关键字,查找失败;
e(K2,tk2)=e(K1,tk1)e(tk3,K3)ERoot;
其中,所述前向导出函数的定义如下:
式中,f1(.)为正向编码值对应的前向导出函数,f2(.)为逆向编码值对应的前向导出函数,Pcodei、Pcodej为属性Ai、Aj的正向编码值,Ncodei、Ncodej为属性Ai、Aj的逆向编码值,为正向编码值Pcodei、Pcodej的映射值,为逆向编码值Ncodei、Ncodej映射值,节点属性i是节点属性j的子孙节点,θ1、θ2为小于n'的所有正整数集合中的随机数,其中,编码值与映射值的关系如下:
Um={(Pcode1,Ncode1),...,(Pcodem,Ncodem)}
n'=p'q'
式中,Um为属性层次树的节点属性的编码值集合,Vm为属性层次树的节点属性的编码值集合的映射集合,m为属性层次树的节点属性的数量,φ1(.),φ2(.)为将整数集Um到集合Vm的映射函数,为循环群Gn'中随机选取的生成元,循环群Gn'是阶为合数n'的循环群,合数阶n'为RSA类型,p',q'是两个不同的大素数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810264897.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:在线派车系统和方法
- 下一篇:终端设备的数据安全传输方法





