[发明专利]支持高效密钥管理的密文检索方法在审
申请号: | 201611136997.9 | 申请日: | 2016-12-12 |
公开(公告)号: | CN106599719A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 马建峰;张凯;孟烨;李辉;马鑫迪;苗银宾;卢笛 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F17/30 |
代理公司: | 陕西电子工业专利中心61205 | 代理人: | 王品华,朱红星 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 高效 密钥 管理 检索 方法 | ||
1.支持高效密钥管理的密文检索方法,包括:
(1)数据上传步骤:
1a)数据拥有者利用自己与私有云服务器之间提前协商的会话密钥加密所有明文数据表,得到所有密文数据表,并将所有密文数据表发送给私有云服务器;
1b)私有云服务器解密数据拥有者发来的所有密文数据表,得到所有明文数据表,并根据每个明文数据表中的内容提取关键字,通过可搜索加密机制建立数据级索引;
1c)私有云服务器对所有明文数据表的表名建立B+树结构,即表级索引;
1d)私有云服务器利用带密钥的Hash树为每个明文数据表计算出不同的分块密钥,私有云服务器利用分块密钥加密明文数据表中的数据,得到密文数据,并将所有密文数据和数据级索引上传到公有云服务器上;
(2)数据检索步骤:
2a)当用户需要在某个明文数据表中查找拥有某个关键词的数据时,用户利用与私有云服务器提前协商的会话密钥对明文数据表的表名和关键词进行加密,并发送给私有云服务器;
2b)私有云服务器利用与用户提前协商的会话密钥对密文数据表的表名和关键词进行解密,若私有云服务器解密失败,则说明此用户不拥有检索权限,终止操作,否则,私有云服务器解密得到需要检索的明文数据表的表名和关键字,并根据关键字生成对应的搜索陷门,并将搜索陷门提交给公有云服务器;
2c)私有云服务器根据明文数据表的表名和带密钥的Hash树计算出加密此明文数据表中数据所使用的分块密钥;
2d)公有云服务器利用搜索陷门和公有云服务器上存的数据级索引表在相应的密文数据表上进行检索,最后将检索的密文搜索结果返回给私有云服务器;
2e)私有云服务器利用预先计算得到的分块密钥解密密文搜索结果,得到用户需要的明文数据,将明文数据再加密后返回给用户,用户对密文结果进行解密,得到对应的明文搜索结果。
2.根据权利要求1所述的方法,其中步骤1b)中对明文表建立数据级索引,是根据明文数据中表的内容提取相应关键字集合,并通过可搜索加密机制加密关键字,得到明文数据表中关键字的密文,该密文即为数据级索引,此索引用来进行密文检索。
3.根据权利要求1所述的方法,其中步骤1c)中对明文数据表的表名建立明文索引结构,是利用B+树对所有明文数据表的表名建立B+树索引结构,具体步骤如下:
1c1)私有云服务器按如下三种情况对所有明文数据表的表名建立B+树结构:
第一种:对于叶子节点和内部节点均没有满的情况,则直接将此明文数据表的表名插入叶子节点;
第二种:对于叶子节点满,内部节点未满的情况,首先拆分叶子节点,将叶子节点里中间的记录放入内部节点中,再将小于中间记录的明文数据表的表名放左边,大于等于中间记录的明文数据表的表名放右边;
第三种:对于叶子节点和内部节点均满的情况,首先拆分叶子节点,将小于叶子节点里中间记录的明文数据表的表名放左边,大于等于叶子节点里中间记录的明文数据表的表名放右边,将叶子节点里中间记录放入内部节点;然后拆分内部节点,将小于内部节点里中间记录的明文数据表的表名放左边,大于内部节点里中间记录的明文数据表的表名放右边,将内部节点里中间记录放入根节点;
1c2)迭代步骤1c1),直到所有的明文数据表的表名均已在B+树中表示,即为建立的所有明文数据表的B+树索引结构,也可称为表级索引。
4.根据权利要求1所述的方法,其中步骤1d)中私有云服务器利用带密钥的Hash树为每个明文数据表生成不同的分块密钥,其实现步骤如下:
1d1)在B+树索引结构的叶子节点下增加一层新的叶子节点,形成带密钥的Hash树,其中增加的新的叶子节点数与可检索密文数据库中明文数据表的个数相等;
1d2)将带密钥的Hash树的根节点设置为根密钥Kr,用父节点密钥值计算出各子节点的密钥值,即计算带密钥的Hash树中第x层中第y个节点对应的密钥值Kx,y:
Kx,y=H(Kparent,x||y)
其中Kparent是Kx,y的父节点对应的密钥值,H是一个Hash函数,||代表串联运算,
上述计算出的带密钥的Hash树中的各叶子节点对应的密钥值Kx,y,即为私有云为每个明文数据表生成的分块密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611136997.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息访问权限的控制方法及装置
- 下一篇:消息处理方法及装置