1.一种仲裁可搜索加密方法,其特征在于,所述方法包括:S1:系统初始化,可信属性权威AA生成系统公共参数,所述系统公共参数包括每个属性的公/私钥对和仲裁方Mediator的公/私钥对;
S2:关键词加密,数据拥有者加密关键词,并把加密后的关键词以安全索引的形式存储到云服务器上;
S3:数据加密,数据拥有者加密文件,并把加密后的数据以密文的形式存储到云服务器上;
S4:用户密钥生成,AA给合法用户分配一个全局私钥,并基于用户的权限给其生成属性私钥,其中属性私钥包含两个部分,分别发送给用户和对应的Mediator;
S5:搜索陷门Trapdoor生成,用户向Mediator发送搜索请求,并在其协助下生成有效的搜索陷门;
S6:搜索数据,Mediator将Trapdoor发送给云服务器,当且仅当用户的属性集满足安全索引中的访问结构,且搜索陷门中的关键词与安全索引中的关键词相同时,Mediator才能从云服务器得到返回的数据密文;
S7:数据解密,Mediator对得到的密文进行预解密,得到解密令牌,并将其发送给对应的用户,然后用户用其私密值对解密令牌进行解密,得到数据明文;
S8:用户撤销,当用户的权限发生变化时,仲裁不协助用户生成有效的搜索陷门,使其不能检索相关数据集。
2.根据权利要求1所述的方法,其特征在于:所述步骤S1包括如下步骤:S11:AA初始化,输入安全参数,生成系统公共参数,包括每个属性的公/私钥对;
S12:Mediator初始化,输入公共参数,AA生成Mediator的公/私钥对。
3.根据权利要求1所述的方法,其特征在于:所述步骤S2包括如下步骤:S21:离线关键词加密,数据拥有者从AA处接收到系统公共参数,生成中间安全索引II;
其中,步骤S21包括如下步骤:
S211:从数字集Zp中选取随机数s作为加密指数;
S212:选择随机数vk∈Zp,其中k∈{1,...,3n};
S213:计算
S214:输出中间安全索引II;
S22:在线关键词加密,输入公共参数、关键词、访问结构以及中间安全索引,数据拥有者生成完整的安全索引;
其中步骤S22包括如下步骤:
S221:数据拥有者从步骤S21中得到中间安全索引II;
S222:数据拥有者基于全局属性集N,给数据定义一个访问结构GT=∧i∈Ni,GT由阈门“AND”来表示;
S223:计算Di,1和Di,2;
S224:输出安全索引CTw;
S225:数据拥有者把安全索引CTw上传到云服务器上;
S23:基于允许访问该数据集的用户,计算S24:输出用户列表UL;
S25:基于与数据拥有者对应的Mediator,计算S26:数据拥有者将用户列表UL和 上传至相关Mediator。
4.根据权利要求1所述的方法,其特征在于:所述步骤S3包括如下步骤:S31:离线数据加密,数据拥有者从AA处接收到系统公共参数和每个属性的公钥,生成中间数据密文IC;
其中,步骤S31包括如下步骤:
S311:从数字集Zp中选取随机数sm作为加密指数;
S312:选择随机数hk∈Zp,其中k∈{1,...,3n};
S313:计算
S314:输出中间数据密文IC;
S32:在线文件加密,输入公共参数、关键词、访问结构、数据明文以及中间数据密文,数据拥有者生成完整的数据密文;
其中,步骤S32包括如下步骤:
S321:数据拥有者从步骤S31中得到中间数据密文IC;
S322:数据拥有者从步骤S222中得到的访问结构GT;
S323:计算Ci,1和Ci,2;
S324:输出数据密文CTm;
S325:数据拥有者把数据密文CTm上传到云服务器上。
5.根据权利要求1所述的方法,其特征在于:所述步骤S4包括如下步骤:S41:用户加入系统,向AA提交身份信息GID及其拥有的属性集S进行注册;
S42:AA认证用户的合法性;
S43:若用户合法,则为该用户生成属性私钥和全局私钥;若该用户不合法,则拒绝加入系统;
S44:AA对用户的属性私钥进行密钥分离,并分发给用户和对应的Mediator。
6.根据权利要求1所述的方法,其特征在于:所述步骤S5包括如下步骤:S51:用户向Mediator发送数据搜索请求;
S52:Mediator验证用户GID是否属于用户撤销列表UL;
S53:若用户不属于UL,则继续以下操作;若用户属于UL,Mediator终止操作;
S54:Mediator检索用户的属性私钥,生成Mediator端的中间陷门Tmed,并将其发送给用户;
其中S54包括如下步骤:
S541:选取随机数β∈Zp;
S542:计算Q1,对i∈N,计算Qi,1,QFi,1;
S543:输出Tmed;
S55:接着用户基于中间陷门Tmed,生成用户端的中间陷门Tu,并将其返回给Mediator;
其中S55包括如下步骤:
S551:计算Q1,T1,对i∈N,计算Ti,1,TFi,1,Qi,2,QFi,2;
S552:输出Tu;
S56:Mediator基于用户端的中间陷门Tu,生成完整的搜索陷门T,将其发送给云服务器;
其中S56包括如下步骤:
S561:基于S541选取的随机数β∈Zp,计算T0, 对i∈N,计算Ti,2,TFi,2;
S562:输出T;
S57:然后Mediator把T发送给云服务器。
7.根据权利要求1所述的方法,其特征在于:所述步骤S6包括如下步骤:S61:云服务器收到来自Mediator的搜索陷门,开始检索相应的数据集;
S62:云服务器使用搜索陷门与安全索引进行匹配,若用户的属性集合满足安全索引中的访问结构,且搜索陷门中的关键词与安全索引中的关键词相同,那么返回该索引对应的数据密文CTdata给Mediator;若不满足,则返回为空;
其中步骤S62包括如下步骤:
S621:令访问结构GT中的属性集合I={i:i∈N},且 若根据访问结构GT,对i∈I,进行配对运算e(Di,Ti,1)和e(Di,Ti,2);对i∈N/I,进行配对运算e(Di,TFi,1)和e(Di,TFi,2);
S622:接着服务器分别计算 和 并验证等式是否成立
S623:若成立,则返回对应的数据密文CTdata;若不成立,则返回为空。
8.根据权利要求1所述的方法,其特征在于:所述步骤S7包括如下步骤:S71:Mediator接收到云服务器返回的密文CTdata;
S72:Mediator利用与用户交互的信息预解密生成解密令牌;
其中,S72包括如下步骤:
S721:计算Q1';
S722:计算Qi,1',QFi,1';
S723:计算 和
S724:计算
S725:输出CTtoken,并将其返回给用户;
S74:用户接收到CTtoken,并解密得到m。
9.根据权利要求1所述的方法,其特征在于:所述步骤S8包括如下步骤:S81:当用户的权限发生变化时,数据拥有者更新用户列表UL,并重新发送给对应的Mediator;
S82:用户GID向Mediator请求搜索陷门;
S83:若 则Mediator拒绝与其协作生成有效的搜索陷门,同时删除用户UID的属性私钥。