1.一种雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于,包括以下步骤:步骤1:根据安全参数1k、全局属性集U、双线性映射生成系统公共参数PK和系统主密钥MSK,系统公共参数PK公开,系统主密钥MSK由私钥生成中心保存;
步骤2:根据系统公共参数PK、系统主密钥MSK和用户属性集A生成用户解密密钥DSK和雾节点解密密钥TSK,其中,将雾节点解密密钥TSK发送给雾节点用于外包解密,将用户解密密钥DSK发送给用户,用于用户对最后加密数据文件的解密;
步骤3:数据拥有者将部分LSSS访问结构(M,ρ)发送给雾节点,雾节点根据系统公共参数PK和部分LSSS访问结构(M,ρ)生成部分密文CT1,同时雾节点将部分密文CT1返回给数据拥有者;数据拥有者根据系统公共参数PK、数据文件m、对称密钥ck、访问结构(M,ρ,{Aρ(i)})和部分密文CT1生成关于数据及LSSS访问结构属性值的密文CT及验证数据E,Aρ(i)为ρ(i)对应的属性名的属性值;数据拥有者将密文CT通过雾节点上传给云存储器保存;
步骤4:雾节点根据密文CT和雾节点解密密钥TSK生成LSSS访问结构验证集合,当且仅当用户的属性符合LSSS访问结构的时候,才能正确解密,同时将生成部分密文CT'返回给用户,否则解密失败;用户根据部分密文CT'和用户解密密钥DSK得到对称密钥ck和随机值γ,根据随机值γ验证验证数据E是否成立,成立则用对称密钥ck从Eck(m)中解密出数据文件m;
否则说明密文数据被篡改,则解密失败。
2.根据权利要求1所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤1中系统公共参数系统主密钥MSK={d1,d2,d3,d4,gα,gβ};
其中,1k表示安全参数,U表示全局属性集,U的大小为|U|;双线性映射e:G×G→GT,群G为素数p阶循环群,g∈G为群G的生成元,u,h,v,w∈G,u,h,v,w为随机群元素;由系统随机选取随机值d1,d2,d3,d4,α,β∈ZP,Zp表示阶为p的素数域;计算:哈希函数H1:GT→{0,1}t,H2:{0,1}t→Zp。
3.根据权利要求2所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤2中用户解密密钥DSK={K1},雾节点转换密钥TSK={K1',K2,{Kt,1,Kt,2,Kt,3,Kt,4,Kt,5}t∈[1,k]}其中,属性集A的大小为k,属性值为{A1,…,Ak};系统随机选取值r,r',r1,…,rk,r1',…,rk'∈ZP;计算:
4.根据权利要求3所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤3中部分密文其中:M是l×n矩阵,l表示矩阵的行数,n表示矩阵的列数,Mi表示是矩阵M的第i行,函数ρ的作用是由Mi映射到相应的属性名ρ(i),由系统随机选取值μ,y2,…,yn∈ZP,构成向量对于i:1≤i≤l,计算 由系统随机选取s1,1,…,sl,1,s1,2,…,sl,2,z1,…,zl∈Zp,计算 D=gμ,
5.根据权利要求4所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤3中数据拥有者根据系统公共参数PK、数据文件m、对称密钥ck、访问结构(M,ρ,{Aρ(i)})和部分密文CT1生成关于数据及LSSS访问结构属性值的密文CT及验证数据E的方法:具体处理步骤如下:
步骤321:为文件选择一个唯一的编号FID,随机生成一个对称密钥ck,使用对称密钥ck加密数据文件m,得到数据密文Eck(m)=Enc(m,ck),Enc表示对称加密算法,之后,系统随机选取随机值γ∈Zp,计算 作为用户解密时验证密文是否被篡改的验证数据;
步骤322:对对称密钥ck进行加密,由系统随机选取随机值s∈ZP,计算
之后计算下列密文数据:D=gμs,
步骤323:由系统随机选取随机数据m'∈ZP、随机值γ'∈ZP,对随机数据m'进行加密,计算 E'=gm'hγ',这两个数据将用于验证对于同一个属性名,对应的用户属性值与访问结构属性值是否相同;
步骤324:将以上数据组合成完整的密文:
Eck(m), E'=gm'hγ',D=gμs,
则:密文
CT={(M,ρ),C,C',Eck(m),E,E',D,{Ci,Di,1,Di,2,Ei,1,Ei,2,Fi}i∈[1,l]}。
6.根据权利要求5所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤4中雾节点根据密文CT和雾节点解密密钥TSK生成LSSS访问结构验证集合,当且仅当用户的属性符合LSSS访问结构的时候,才能正确解密,同时将生成部分密文CT'返回给用户,否则解密失败的方法:根据密文CT和雾节点解密密钥TSK,生成LSSS访问结构验证集合IA,ρ={I1,…,Iq}:用户满足(M,ρ)的属性名的最小子集的集合,I1,…,Iq分别表示用户满足(M,ρ)的属性名的最小子集;如果用户属性名满足访问结构,则在多项式时间内找到常数集{ωi∈ZP}i∈I,其中Ij∈IA,ρ,1≤j≤q,使之后验证对于集合Ij中的属性名,对应的用户属性值与访问结构属性值是否相同;当Ij∈IA,ρ,1≤j≤q时,计算验证gm'hγ'=E'是否成立;不成立,说明对于集合Ij中的属性名,对应的用户属性值与访问结构属性值不相同,则重新选择Ij∈IA,ρ,再重新计算以上式子,其中,j从1到q逐次增加,当Iq依然不满足条件使等式成立,则直接通知用户解密失败;若成立,则说明对于集合Ij中的属性名,对应的用户属性值与访问结构属性值相同,那么构成部分密文:将部分密文CT'返回给用户。
7.根据权利要求6所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法,其特征在于:所述步骤4中用户根据部分密文CT'和用户解密密钥DSK得到对称密钥ck和随机值γ,根据随机值γ验证验证数据E是否成立,成立则用对称密钥ck从Eck(m)中解密出数据文件m;否则说明密文数据被篡改,则解密失败的方法:根据部分密文CT'和用户解密密钥DSK;计算:
得到对称密钥ck和
随机值γ;
验证 是否成立,成立则用对称密钥ck从Eck(m)中解密出数据文件m;否则说明密文数据被篡改,则解密失败。
8.一种采用权利要求1至7任一所述雾计算环境下基于CP-ABE密文访问控制实现隐私保护的方法的系统,其特征在于:包括初始化模块、私钥生成模块、加密数据模块、解密密文模块,所述加密数据模块包括雾节点加密模块、数据拥有者加密模块,所述解密密文模块包括雾节点解密模块、用户解密模块,其中:初始化模块:通过私钥生成中心生成系统公共参数PK和系统主密钥MSK;
私钥生成模块:根据系统公共参数PK、系统主密钥MSK和用户属性集A生成用户解密密钥DSK和雾节点解密密钥TSK;
雾节点加密模块:根据系统公共参数PK和数据拥有者发送的部分LSSS访问结构(M,ρ)生成部分密文CT1,同时雾节点将部分密文CT1返回给数据拥有者;
数据拥有者加密模块:根据系统公共参数PK、数据文件m、对称密钥ck、访问结构(M,ρ,{Aρ(i)})和部分密文CT1生成关于数据及LSSS访问结构属性值的密文CT及验证数据;
雾节点解密模块:雾节点根据密文CT和雾节点解密密钥TSK生成LSSS访问结构验证集合,当且仅当用户的属性符合LSSS访问结构的时候,才能正确解密,同时将生成部分密文CT'返回给用户,否则解密失败;
用户解密模块:根据部分密文CT'和用户解密密钥DSK得到对称密钥ck和随机值γ,根据随机值γ验证验证数据E是否成立,成立则用对称密钥ck从Eck(m)中解密出数据文件m;否则说明密文数据被篡改,则解密失败。