1.一种支持代理重加密的基于属性的密文检索系统,其特征在于,该系统包括初始化模块、私钥生成模块、密文生成模块、门限生成模块、密文检索模块、重加密密钥生成模块、重加密密文生成模块、重加密密文检索模块;其中:初始化模块:由私钥生成中心生成系统公钥和系统主密钥,其中,系统公钥公开,系统主密钥由私钥生成中心保存;
私钥生成模块:根据用户的属性集合生成用户用于对加密文件进行解密的私钥;
密文生成模块:数据属主利用LSSS访问结构加密关键字,生成关键字密文;
门限生成模块:服务器根据用户拥有的私钥以及待搜索的关键字加密生成门限值;
密文检索模块:当用户拥有的私钥的属性满足关键字密文中的访问结构,以及门限值中的待搜索的关键字和关键字密文中的关键字相等时,进行密文检索,否则检索失败;
重加密密钥生成模块:授权用户根据自己的私钥以及新的访问结构生成重加密密钥,然后传递给代理服务器;
重加密密文生成模块:代理服务器根据授权用户提供的重加密密钥来重新加密原始密文,生成重加密关键字密文;
重加密密文检索模块:当用户私钥中的属性满足重加密关键字密文中的访问结构以及门限值的待搜索的关键字和重加密关键字密文中的关键字相等时,进行重加密密文检索,否则检索失败。
2.根据权利要求1所述的一种支持代理重加密的基于属性的密文检索系统,其特征在于,所述的密文生成模块使用的是密文策略的基于属性的加密算法CP-ABE。
3.根据权利要求1所述的一种支持代理重加密的基于属性的密文检索系统,其特征在于,所述的门限生成模块中采用了随机值先对私钥进行盲化处理,再上传给云服务器。
4.根据权利要求1所述的一种支持代理重加密的基于属性的密文检索系统,其特征在于,所述的重加密密文生成模块使用代理重加密技术。
5.一种支持代理重加密的基于属性的密文检索方法,其特征在于,所述方法包括如下步骤:步骤1:输入安全参数κ和全局属性U,由私钥生成中心生成系统公钥和系统主密钥,其中,系统公钥PK公开,而系统主密钥MSK由私钥生成中心保存:MSK=(a,b,c)
其中,eα是一个多线性映射{eα:G0×Gα→Gα+1|α=0,1,2},gj是素数p阶循环群Gj上的生成元,j=0,1,2,3,并且有gα+1=eα(g0,gα),H是一个安全的哈希函数, a,b,c都是p阶的整数群Zp上的随机整数;
步骤2:输入系统公钥PK、系统主密钥MSK和用户属性集S,由私钥生成中心生成对应的私钥SKS:SKS=(K,L,{Kx}x∈S)
其中, Kx=H(x)t,H(·)是步骤1中的哈希函数;随机值t∈Zp;
步骤3:输入系统公钥PK、关键字w和访问结构(M,ρ),数据属主执行加密算法,生成关键字密文CPH:CPH=(W1,W2,W3,{Ci,Di}1≤i≤l)其中,M是一个l行n列线性矩阵,ρ是一个将矩阵M的每一行映射成用户属性的单映射函数; q1,q2为两个随机值;对于 有对于M从第1行到第l行有 Mi是矩阵M第i行对应的
向量, y2,…,yn是一组随机值,ρ(·)是单映射函数ρ;
步骤4:用户输入系统公钥PK、用户私钥SKS和待查找的关键字w′生成门限值TK:TK=(T1,T2,T3,T4,{Tx}x∈S)
其中, Tx=(Kx)s=H(x)ts,
随机值s∈Zp;
步骤5:若授权用户将检索权限授予其他用户则执行步骤6,否则输入系统公钥PK、用户的门限值TK和关键字密文CPH,云服务器进行密文检索,具体过程包括如下:步骤5-1:先判断数据搜索者私钥中的属性集合是否满足访问结构(M,ρ),若满足则执行步骤5-2,否则输出⊥代表检索失败;
步骤5-2:判断待搜索的关键字w′是否和关键字密文中的关键字w相等,若是则关键字一致,服务器成功检索关键字文件然后输出判断值1,代表检索成功;否则输出判断值0,表示检索失败;
步骤6:输入系统公钥PK、授权用户输入自己的私钥SKS和新的访问结构(M′,ρ′),由授权用户生成重加密密钥RK,然后发送给代理服务器:RK=(V1,V2,V3,{C′i′,D′i′}1≤i′≤l′,R1,R2,R3,R4,{Rx}x∈S)其中,M′是l′行n′列的线性矩阵,ρ′是一个将矩阵M′的每一行映射成用户属性的单映射函数; q′1,q′2为两个随机值,随机值δ∈R{0,1}κ;
对于 有 对于M′从第1行到第l′行有 M′i′
是矩阵M′第i′行对应的向量, y′2,…,y′n是一组随机值;随机值μ∈Zp, 对于 有步骤7:输入系统公钥PK、原始密文CPH和重加密密钥RK,代理服务器计算得到重加密关键字密文RCPH:RCPH=(A1,V1,V2,V3,{C′i′,D′i′}1≤i′≤l′)其中,
步骤8:当云服务器收到被授权用户的关键字匹配请求时,输入系统公钥PK、被授权用户的门限值和重加密关键字密文RCPH,由云服务器执行重加密关键字密文检索,具体过程包括如下:步骤8-1:首先判断被授权用户私钥中的属性集合是否满足新的访问结构(M′,ρ′),若满足则执行步骤8-2,否则输出⊥代表检索失败;
步骤8-2:判断待搜索的关键字是否和重加密关键字密文中的关键字w相等,若是则关键字一致,服务器成功检索关键字文件然后输出判断值1,代表检索成功;否则输出判断值
0,表示检索失败。
6.根据权利要求5所述的一种支持代理重加密的基于属性的密文检索方法,其特征在于,根据步骤4的门限值生成方法生成步骤8中的被授权用户的门限值。
7.根据权利要求5所述的一种支持代理重加密的基于属性的密文检索方法,其特征在于,步骤5-1中判断私钥中的属性集合是否满足访问结构(M,ρ),即为验证等式是否成立:在多项式时间内找到常数向量{ωi∈Zp}i∈I,使得 其中 I={i,ρ(i)∈S},ρ(·)是步骤3中的单映射函数,则该等式成立,即代表属性集合是否满足访问结构,否则等式不成立,即代表属性集合不满足访问结构。
8.根据权利要求7所述的一种支持代理重加密的基于属性的密文检索方法,其特征在于,步骤5-2中判断待搜索的关键字w′是否和关键字密文中的关键字w相等,即为验证等式Eroot·e0(W2,T2)=e0(W1,T1)e0(T3,W3)是否成立:若该等式成立则代表关键字w′和关键字w一致,否则代表关键字w′和关键字w不一致。