1.一种有追溯能力的隐私保护方法,其特征在于,包括以下步骤:步骤1、密钥产生,所述密钥产生包括建立过程和群组成员发布过程,其中建立过程是群组成员发布方产生群组公共参数、群组公钥、打开方法密钥和群组发布密钥的过程;群组成员发布过程是通过组成员和管理员之间的交互协议产生唯一的群组成员签名密钥的过程;
步骤2、根据步骤1产生的密钥进行签名;
步骤3、对步骤2得到的签名进行验证。
2.根据权利要求1所述的一种有追溯能力的隐私保护方法,其特征在于,步骤1中建立过程具体包括以下步骤:步骤1.1.1、选取一个阶为p的非对称双线性大素数群组对并且其对应的配对函数为e:G1×G2→GT;其中,G1和G2:椭圆曲线上阶为p的一个加法循环群,GT:阶为p的乘法循环群;
步骤1.1.2、选取一个阶为p的素数的循环群G3满足DDH难解性问题,其中,G3:椭圆曲线上阶为p的一个加法循环群;
步骤1.1.3、随机选取G1曲线上的点P1,Q1,R1;
步骤1.1.4、随机选取G2曲线上的点P2;
步骤1.1.5、随机选取G3曲线上的点P3;
步骤1.1.6、选取一个密码杂凑函数H:{0,1}*→Zp;其中,Zp:[0,p-1]的整数的集合;
步骤1.1.7、在Zp中选取三个随机整数x,s,t;
步骤1.1.8、计算X=[x]P2,S=[s]P3和T=[t]P3;
步骤1.1.9、输出:群组公共参数=(G1,G2,GT,e,G3,p,H),群组公钥=(P1,Q1,R1,P2,P3,X,S,T),打开方法密钥=(s,t),
组成员发布密钥=(x)。
3.根据权利要求2所述的一种有追溯能力的隐私保护方法,其特征在于,步骤1中群组成员发布过程包括以下步骤:步骤1.2.1、签名方从Zp中随机选取f或从签名方的种子密钥值导出,其中f将做为群组成员签名密钥的一部分;
步骤1.2.2、签名方计算W=[f]P3;
步骤1.2.3、签名方从Zp中选取u并计算U=[f]Q1+[u]R1,F=[f]P1;
步骤1.2.4、签名方从Zp中选取k并计算K=[k]P1;
步骤1.2.5、签名方计算e1=H(W||U||P1||F);
步骤1.2.6、签名方计算r1=e1+K mod p,s1=(1+f)-1(k-r1·f)mod p;mod表示模运算,·表示乘法运算;
步骤1.2.7、签名方发送(W,U,F,r1,s1)给群组成员发布方;
步骤1.2.8、群组成员发布方计算e2=H(W||U||P1||F);
步骤1.2.9、群组成员发布方计算t1=r1+s1 mod p;
步骤1.2.10、群组成员发布方验证等式t1!=0是否成立,若成立执行步骤1.2.11,否则验证失败,终止群成员发布过程;
步骤1.2.11、群组成员发布方计算x1=[s1]P1+[t1]F;
步骤1.2.12、群组成员发布方计算R’=(e2+x1)mod p;
步骤1.2.13、群组成员发布方验证等式R’=r1是否成立,若成立,执行步骤1.2.14,否则验证失败,终止群成员发布过程;
步骤1.2.14、群组成员发布方从Zp中选择随机整数y和v;
步骤1.2.15、群组成员发布方计算A=[1/(x+y)](P1-U-[v]R1);
步骤1.2.16、群组成员发布方将(A,y)作为签名方的群组成员凭证并发送给签名方;
步骤1.2.17、签名方计算z=u+v,并将(A,y)作为群组成员凭证;
步骤1.2.18、签名方验证等式e(A,X+[y]P2)·e([f]Q1,P2)·e([z]R1,P2)=e(P1,P2)是否成立,若成立,执行步骤1.2.20;否则验证失败,签名方退出;
步骤1.2.20、签名方的群组成员签名密钥为(f,A,y,z)。
4.根据权利要求3所述的一种有追溯能力的隐私保护方法,其特征在于,步骤2中根据步骤1产生的密钥进行签名时,输入群组公钥(P1,Q1,R1,P2,P3,X,S,T)、群组成员签名密钥(f,A,y,z)和未签消息m∈{0,1}*,具体包括以下步骤:步骤2.1、签名方拥有群组成员签名密钥(f,A,y,z);
步骤2.2、签名方从Zp中随机选取g和h;
步骤2.3、签名方计算B=A+[h]R1,Z=[f+g]P3,V=[g]S和W=[g]T;
步骤2.4、签名方从Zp中随机选取整数a,b,j,n和o;
步骤2.5、签名方计算Y=e(Q1,P2)a·e(B,P2)b·e(R1,P2)j·e(R1,X)n,Z’=[a+o]P3,V’=[o]S和W’=[o]T;
步骤2.6、签名方计算c=H(p||P1||P2||P3||X||S||T||Q1||R1||B||Z||V||W||Y||V||W’||Z’||m);
步骤2.7、签名方计算f’=c·f+a mod p,y’=c·y+b mod p,z’=c·(z–h·y)+j mod p,h’=-c·h+n mod p和g’=c·g+o mod p;
步骤2.8、签名方从G1中选取P4并计算M=[f]P4;
步骤2.9、签名方从Zp中选取k1并计算K1=[k1]P4;
步骤2.10、签名方计算r2=c+K1 mod p,s2=(1+f)-1·(k1-r2·f)mod p;
步骤2.11、签名者输出群签名σ=(B,Z,V,W,P4,M,c,f’,y’,z’,h’,g’,r2,s2)。
5.根据权利要求4所述的一种有追溯能力的隐私保护方法,其特征在于,步骤3中对步骤2得到的签名进行验证时,输入消息m∈{0,1}*、群签名σ=(B,Z,V,W,P4,M,c,f’,y’,z’,h’,g’,r2,s2);以及群组公钥(P1,Q1,R1,P2,P3,X,S,T),具体包括以下步骤:步骤3.1、计算Y=e(Q1,P2)f’·e(B,[y’]P2+[c]X)·e(R1,P2)z’·e(R1,X)h’·e(P1,P2)-c,Z’=[f’+g’]P3–[c]Z,V’=[g’]S–[c]V和W’=[g’]T–[c]W;
步骤3.2、计算e3=H(p||P1||P2||P3||X||S||T||Q1||R1||B||Z||V||W||Y||V||W’||Z’||m);
步骤3.3、计算t2=r2+s2 mod p;
步骤3.4、验证等式t2!=0是否成立,若成立,执行步骤3.5;否则验证失败,终止验证过程;
步骤3.5、计算x2=[s2]P4+[t2]M;
步骤3.6、计算R”=(e3+x2)mod p;
步骤3.7、验证等式R”=r2是否成立,若成立,验证通过;否则验证失败,终止验证过程。
6.根据权利要求4所述的一种有追溯能力的隐私保护方法,其特征在于,当需要追溯签名者真实身份时,对于给定签名σ=(B,Z,V,W,P4,M,c,f’,y’,z’,h’,g’,r2,s2),执行下列步骤:步骤2.11.1、对签名σ进行验证,如果验证失败,输出⊥,⊥表示失败;如果验证成功,执行步骤2.11.2;
步骤2.11.2、计算W=Z-[1/s]V;
步骤2.11.3、输出W。
7.根据权利要求3所述的一种有追溯能力的隐私保护方法,其特征在于,当需要对群成员进行撤销时,步骤如下:
1)群组成员发布方收到一个已撤销的签名方群组成员证书(A,y);
2)群组成员发布方计算Q1=[1/(x+y)]Q1,P1=[1/(x+y)]P1和R1=[1/(x+y)]R1;
3)群组成员发布方发送(y,Q1,P1,R1)给每一个签名方;
4)群组成员签名密钥是(f,A,y,z)的每一个签名方,计算:A’=[1/(y-y)](A-P1-[f]Q1-[z]R1),并设它的群组签名密钥为(f,A’,y,z);
5)每一个签名方设置群组公钥为(P1,Q1,R1,P2,P3,X,S,T)。
8.一种有追溯能力的隐私保护系统,用于实现权利要求1-7任一项所述的一种有追溯能力的隐私保护方法,其特征在于,包括密钥产生模块、签名模块和验证模块;
密钥产生模块:用于产生密钥,密钥产生过程包括建立过程和群组成员发布过程,其中建立过程是群组成员发布方产生群组公共参数、群组公钥、打开方法密钥和群组发布密钥的过程;群组成员发布过程是通过组成员和管理员之间的交互协议产生唯一的群组成员签名密钥的过程;
签名模块:用于对产生的密钥进行签名;
验证模块:用于对得到的签名进行验证。