1.云环境下基于MDB+树的多域连接关键词的搜索方法,其特征在于:包括以下步骤:步骤一、数据拥有者将每一个数据记录构建成基于MDB+树的安全索引,并将各数据记录对应的文档进行加密,然后将加密的索引以及加密的文档外包给云服务器,其具体的方法为:(1)在初始化阶段,数据拥有者将数据记录的属性集A={A1,A2,…,Am}划分为h组,即A’={A1’,A2’,…,Ah’},其中m为属性的个数,h为MDB+树的最大层,然后随机产生一个Vi位的二进制矢量Si和一个Vi×Vi的可逆矩阵{M1,i, M2,i},其中Vi是对应于MDB+树第i层的矢量长度,私钥SKi 为三元组{ Si, M1,i, M2,i };
(2)数据拥有者将数据记录的每一条记录的各个子属性进行矢量表示后加密:将数据记录r的矢量 划分为h个子矢量 , 表示 对应于 的矢量,对矢量 执行加密,加密过程如下:①用一个非零的随机数 乘以 得到 ,也即 ;②将 划分为两个随机的矢量 ,对于j=1到n,假如Si[j] =1, 和 被设置满足.假如Si[j] =0, 和 均被设置为 ;③产生加密
的矢量 , ;
(3)根据数据记录的每一条记录构建基于MDB+树的索引,数据拥有者将基于MDB+树的安全索引以及加密后的数据记录外包给云服务器;
步骤二、数据用户向数据拥有者请求搜索授权,数据拥有者根据授权规则决定是否授权,假如用户获得授权,数据拥有者执行步骤三;
步骤三、生成陷门,数据拥有者向数据用户分发一个搜索陷门和解密秘钥;
步骤四、数据用户提交搜索陷门给云服务器,云服务器接收到用户提交的搜索陷门时,利用匹配算法搜索MDB+树,找出与用户查询需求匹配的所有记录,搜索陷门不揭露查询的任何信息;
步骤五、云服务器返回满足特定搜索规则的记录,解密秘钥实现匹配记录的解密。
2.根据权利要求1所述的云环境下基于MDB+树的多域连接关键词的搜索方法,其特征在于:所述步骤三中向用户发送的搜索陷门的生成方法为:根据授权用户搜索的关键词生成查询矢量q,对q按位取反得到矢量 , 表示矢量 中对应 的矢量,对 执行如下操作:(1)用不为0的随机数 乘以 得到 ,即 ;(2)将 划分为两个随机的矢量,假如Si[j] =1, 和 均被设置为与 相等;假如Si[j] =0,和 被设置满足 ;则陷门 即为 。
3.根据权利要求1所述的云环境下基于MDB+树的多域连接关键词搜索方法,其特征在于:所述步骤一中将数据记录的每一条记录的子属性进行矢量表示的方法,分为以下两种情况: (1)对于一个不能分层的属性的矢量表示方法为:如果有m个属性,则每个属性值被依次在范围[1,m]内分配一个整数,这m个整数都被表示为一个m位的二进制矢量,对于整数i,它的第i位被设置为1,其它m-1位都为0;
(2)对于一个可以分层的属性的矢量表示方法为:先将属性进行分层,再对分层的属性进行矢量表示:对于最大层为k的任何分层属性Ai,将其扩展为k个子属性: ,其中 值的集合是 , 的值是路径 上从顶端开始第 个元素,这里 是属性树 的叶子结点;
在最大层为k的属性树 中,对叶子结点 的矢量表示过程如下:
找到路径 ,其中 是路径 上从根结点开始
的第 个结点;
令 分别等于 ;
用二进制1表示,因为第1层属性只有一个属性值;
④假如 的每一个结点都有 个子结点,那么 被表示成 位的二
进制矢量,假如 是 的第 个子结点,那么只有第 位为1,其他n-1位都为0;假如 中的结点N比同层其他结点有更多的子结点,那么 被表示成位的二进制矢量,其中 是结点N的子结点的个数。
4.根据权利要求1所述的云环境下基于MDB+树的多域连接关键词的搜索方法,其特征在于:所述步骤一中步骤(3)构建基于MDB+树的索引的方法如下:若数据拥有者将属性集A划+ + +分为h个组,那么MDB树最大层就是h, MDB树的第i层相对应于 ,树的每个结点是一个B树,并用三角形表示,每个结点包含多个来自 的关键词,分享上层的相同关键词的所有关键词形成下层的一个子结点,结点内关键词是以密文形式存在的。