1.一种黑盒可追踪密文策略属性基加密方法,其特征在于,包括以下步骤:S1、通过授权机构建立CP-ABE系统,生成系统公开密钥、系统主密钥;
S2、根据系统主密钥和用户属性集合生成属性私钥和身份唯一标识;
S3、数据拥有者通过加密算法将访问结构、系统公开密钥和信息生成输出密文,并将输出密文上传至云服务器;
S4、用户访问云服务器中的访问结构,判断是否出现系统授权之外可以解密输出密文的第三方用户或设备,若是则进入步骤S5,否则进入步骤S6;
S5、通过授权机构生成追踪密文和追踪陷门,将追踪密文发送至第三方用户或设备,并获取返回消息,根据返回消息和追踪陷门获取该第三方用户或设备的信息,结束本方法;
S6、将输出密文下发至该用户,用户通过属性私钥和公开密钥解密输出密文,结束本方法。
2.根据权利要求1所述的黑盒可追踪密文策略属性基加密方法,其特征在于,所述步骤S1的具体方法包括以下子步骤:S1-1、通过授权机构建立CP-ABE系统;
S1-2、建立属性集合空间Att;其中Att={Att1,...,Atti,...,AttΛ},Atti表示第i个属性,Λ表示属性集合空间Att的属性总数;
S1-3、将安全参数λ和属性集合空间Att输入CP-ABE系统,得到元组其中 和 为阶为p的循环群;p为大素数;e为双线性映射函数: g为群 的生成元;f为群 内随机选取的元素;U为属性集合空间,U={h1,...,hi,...,hk},U中的每个属性均由群 内的元素唯一表示,Λ=|U|;
S1-4、随机选取两个值α和β,将 作为系统公开密钥,将MK=(α,β)作为系统主密钥;其中 为小于p的非零整数。
3.根据权利要求2所述的黑盒可追踪密文策略属性基加密方法,其特征在于,所述步骤S2的具体方法为:根据公式:
生成身份标识为ID的用户的属性私钥SKid;其中用户主密钥,L为用户身份密钥,Kx为用户拥有各属性对应的属性密钥;hx为该用户拥有的属性集合Sid中的第x个属性,j为属性集合Sid中属性的总数;t为不重复随机数,将e(f,g)tβ作为身份标识为ID的用户的身份唯一标识IDsk;将SKid发送给用户,并将IDsk存入数据库。
4.根据权利要求3所述的黑盒可追踪密文策略属性基加密方法,其特征在于,所述步骤S3的具体方法包括以下子步骤:S3-1、通过数据拥有者制定访问结构 其中A为由访问策略转化得到的l×n的矩阵,l为参与加密的相关属性个数;n与访问策略的结构复杂度成正相关;ρ为映射函数,用于将A的每一行映射为一个对应的值;
S3-2、通过数据拥有者输入系统公开密钥、信息M和访问结构,根据公式:获取输出密文CT;其中C为主密文,C'为秘密值的公开承诺,Ci为访问策略中属性锁对应的属性密文,Di为随机数ri的公开承诺;λi为秘密共享份额,λi=Aiv,向量v中的第一个元素为欲分享的秘密值,其余为n-1个小于p的随机整数;hρ(i)为用户拥有的属性集合Sid中第A中第i行进行映射后的属性值,ri为hρ(i)对应的小于p的随机整数;ρ(i)表示将A中第i行进行映射后的值;
S3-3、将输出密文CT上传至云服务器。
5.根据权利要求4所述的黑盒可追踪密文策略属性基加密方法,其特征在于,所述步骤S5的具体方法包括以下子步骤:S5-1、根据公式:
生成追踪密文TCT;其中λ′i=Aiv',向量v'中的第一个元素与向量v中的第一个元素不同,其余相同; 为属性集合;
S5-2、根据公式:
Trap=s′-s
生成追踪陷门Trap;其中s为向量v中的第一个元素,s'为向量v'中的第一个元素;
S5-3、根据公式:
E=e(K,C')
D'=E/F=e(g,g)αse(g,f)tβ(s-s')* tβ(s'-s)
M=C/D'=Me(g,f)
将追踪密文TCT发送至第三方用户或设备,并获取返回的消息M*;将追踪陷门Trap保留至授权机构;其中E、F'和D'均为中间参数;向量ω的取值约束为:∑i∈lωiAi=(1,0,...,
0),ωi为向量ω中的第i个元素;
S5-4、根据公式:
获取第三方用户或设备的身份唯一标识ID′sk,进而获取该第三方用户或设备的信息。
6.根据权利要求4所述的黑盒可追踪密文策略属性基加密方法,其特征在于,所述步骤S6的具体方法为:根据公式:
E=e(K,C')
D=E/F=e(g,g)αs
M'=C/D
通过属性私钥和公开密钥解密输出密文M',输出密文M'即M;其中E、F和D均为中间参数;向量ω的取值约束为:∑i∈lωiAi=(1,0,...,0),ωi为向量ω中的第i个元素。