用于审计和追踪的匿名消息发送系统及方法转让专利

申请号 : CN201710757664.6

文献号 : CN107609417B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伍前红郑海彬

申请人 : 北京航空航天大学

摘要 :

本发明公开了一种用于审计和追踪的匿名消息发送系统及方法,其中,系统包括:注册模块,用于通过用户与注册机构交互生成用户证书;签名模块,用于通过用户在通信得到可链接群签名;验证模块,用于验证可链接群消息签名的有效性;链接模块,用于链接判断任意两消息是否来自于同一用户;追踪模块,用于追踪异常消息的关联用户。该系统可以通过可链接群签名方案,有效实现通信发送方的隐私保护,实现审计机构对异常消息的审计,实现监管机构对用户的追踪,保护通信系统的信息安全,保护个人隐私,提高安全监管。

权利要求 :

1.一种用于审计和追踪的匿名消息发送系统,其特征在于,包括:

注册模块,用于通过用户与注册机构交互生成用户证书;

签名模块,用于通过用户在通信得到可链接群签名;

验证模块,用于验证所述可链接群消息签名的有效性;

链接模块,用于链接判断任意两消息是否来自于同一用户;以及

追踪模块,用于追踪异常消息的关联用户;

其中,所述可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为所述盲签名方案的密钥生成、盲签名、恢复签名和验证算法;令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和Dec分别为所述公钥加密方案的密钥生成、加密和解密算法;令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为所述陷门示性承诺的密钥生成、承诺、验证和示性算法;令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中,KSetup,KSign和KVer分别为所述知识签名方案的系统初始化、签名和验证算法。

2.根据权利要求1所述的用于审计和追踪的匿名消息发送系统,其特征在于,所述可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令所述用户User的公私钥为(UPK,USK),所述用户证书为Cert,所述注册机构Manager的公私钥为(GPK,GSK),所述审计机构Linker的公私钥为(LPK,LSK),所述监管机构Tracer的公私钥为(TPK,TSK)。

3.根据权利要求2所述的用于审计和追踪的匿名消息发送系统,其特征在于,所述注册模块还用于用户和所述注册机构Manager交互进行注册,生成所述用户证书Cert和公私钥(UPK,USK);所述签名模块还用于定义消息m∈{0,1}*,输入系统参数GP,用户私钥USK,审计机构和监管机构公钥LPK,TPK,所述用户证书Cert和消息m,生成可链接群签名σ;所述验证模块还用于输入所述系统参数GP、所述消息m和所述可链接群签名σ,进行验证运算,其中,若签名有效,则输出1,否则输出0;所述链接模块还用于所述审计机构Linker利用密钥LSK进行链接运算,输入签名(m,σ)和签名(m′,σ′),并判断是否来自于同一群成员,其中,若来自于同一群成员,则输出1,否则输出0;所述追踪模块还用于所述监管机构Tracer利用所述密钥LSK进行追踪运算,其中,输入所述可链接群签名σ,输出完成签名的群成员注册证书。

4.根据权利要求1所述的用于审计和追踪的匿名消息发送系统,其特征在于,所述可链接群签名的算法步骤包括:

输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→(GPK,GSK);

用户和注册机构通过运行盲签名Π1和基于知识签名Π4的证明协议进行交互,生成证书和公私钥进行注册;

定义消息m∈{0,1}*,并进行验证运算,使得审计机构进行链接运算,且监管机构进行追踪运算。

5.一种用于审计和追踪的匿名消息发送方法,其特征在于,包括以下步骤:

通过用户与注册机构交互生成用户证书;

通过用户在通信得到可链接群签名;

验证所述可链接群消息签名的有效性;

链接判断任意两消息是否来自于同一用户;以及

追踪异常消息的关联用户;

其中,所述可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为所述盲签名方案的密钥生成、盲签名、恢复签名和验证算法,具体的盲签名方案为:BKeyGen(1k):输入1k,生成n阶群G,选取群G的一p阶子群G1,输出签名者的公钥(n,G),私钥为sk_bs=p;BSign(sk_bs,m):发送者随机选取 计算将 发送给签名者,所述签名者根据私钥对盲化信息进行签名,然后将签名 作为对原消息m的签名发送给所述发送者;BVer(m,σ):所述发送者检查签名是否满足验证函数(相当于m=σe),然后得原消息m的签名σ;令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和Dec分别为所述公钥加密方案的密钥生成、加密和解密算法,具体的公钥加密方案为:PKeyGen(1k):输入1k,运行 获取(G,q,g),其中G为q阶循环群,gx为群G的生成元,然后随机选择x←Zq,并计算h=g ,输出接收者公钥pk_en=(G,q,g,h),私钥sk_en=x;Enc(pk_en,m):输入公钥pk_en=(G,q,g,h)和消息m∈M,选择随机的w←Zq,输出密文C=(c1,c2)=(gw,m·hw);Dec(sk_en,C):输入私钥sk_en=x和密文C=(c1,c2),输出消息 或者符号⊥(表示C是一个无效密文);令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为所述陷门示性承诺的密钥生成、承诺、验证和示性算法,具体的陷门示性承诺为:TKeyGen(1k):运行 选取G0=为 的一个子群,且(g1|N)=1,即 其中,N为RIPE合数,N=PQ,P=2P′+1,Q=

2Q′+1,群G0的秩为P′Q′,选取G0的一个子群G1,使得群G1的秩为P′,选取h1为G1中随机元素,其中h1的阶为P′,g1的阶为P′Q′,得到公共参数pk_ic=(N,g1,h1,G0,G1),陷门密钥sk_ic=nP′;TCom(pk_ic,m):随机选取r←{0,1} ,计算 输出承诺值C和验证承诺的参数(r,m);TVer(pk_ic,C,r,m):验证 若等式成立,则验证通过;TIndic(sk_ic,C,C'):利用陷门密钥判断 若等式成立,说明两个承诺值相同,此时输出1,否则输出0;令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中,KSetup,KSign和KVer分别为所述知识签名方案的系统初始化、签名和验证算法,具体的知识签名方案为:SKDL方案:若一个数对满足c=H(m||g||y||gsyc),则称(c,s)是已知y基于g为底的离散对数的知识签名,记作SKDL{(α)|y=gα}(m);若用户知道秘密值x=loggy,对消息m产生这样的知识签名,具体签名过程如下:首先随机选取 计算t=gr,计算c=H(m||g||y||t),s=r-cx,生成签名(c,s);接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明所述用户知道y基于g为底的离散对数;SKEQDL方案:若一个数对 满足则称(c,s)是已知y1与y2基于g与h为底的离散对数的

α α

知识签名,记作SKEQDL{(α)|y1=g ∧y2=h }(m);若所述用户知道秘密值x=loggy1=loghy2,对消息m产生知识签名,具体签名过程如下:首先随机选取 计算t1=gr,t2=hr,计算c=H(m||g||h||y1||y2||t1||t2),s=r-cx,生成签名(c,s);所述接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明所述用户知道y1基于g为底的离散对数与y2基于h为底的离散对数相等。

6.根据权利要求5所述的用于审计和追踪的匿名消息发送方法,其特征在于,所述可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令所述用户User的公私钥为(UPK,USK),所述用户证书为Cert,所述注册机构Manager的公私钥为(GPK,GSK),所述审计机构Linker的公私钥为(LPK,LSK),所述监管机构Tracer的公私钥为(TPK,TSK)。

7.根据权利要求6所述的用于审计和追踪的匿名消息发送方法,其特征在于,用户和所述注册机构Manager交互进行注册,生成所述用户证书Cert和公私钥(UPK,USK);定义消息m∈{0,1}*,输入系统参数GP,用户私钥USK,审计机构和监管机构公钥LPK,TPK,所述用户证书Cert和消息m,生成可链接群签名σ;输入所述系统参数GP、所述消息m和所述可链接群签名σ,进行验证运算,其中,若签名有效,则输出1,否则输出0;所述审计机构Linker利用密钥LSK进行链接运算,输入签名(m,σ)和签名(m′,σ′),并判断是否来自于同一群成员,其中,若来自于同一群成员,则输出1,否则输出0;所述监管机构Tracer利用所述密钥LSK进行追踪运算,其中,输入所述可链接群签名σ,输出完成签名的群成员注册证书。

8.根据权利要求5所述的用于审计和追踪的匿名消息发送方法,其特征在于,所述可链接群签名的算法步骤包括:

输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→(GPK,GSK);

用户和注册机构通过运行盲签名Π1和基于知识签名Π4的证明协议进行交互,生成证书和公私钥进行注册;

定义消息m∈{0,1}*,并进行验证运算,使得审计机构进行链接运算,且监管机构进行追踪运算。

说明书 :

用于审计和追踪的匿名消息发送系统及方法

技术领域

[0001] 本发明涉及匿名通信系统中的用户隐私保护技术领域,特别涉及一种用于审计和追踪的匿名消息发送系统及方法。

背景技术

[0002] 信息化技术的迅猛发展极大地推动了通信领域的变革。随着电子商务、电子银行、电子选举、网上医疗咨询、匿名WEB浏览、匿名电子邮件等新需求的出现和普及,人们更加关
注通信系统中的信息安全和个人隐私保护。传统的加密技术虽然对传输的信息内容起到了
很好的保护作用,但是却无法很好地保护通信双方的身份信息、地理位置等唯一可识别的
关键信息,而这些信息的泄露可能会导致严重后果。匿名通信作为一种保护用户隐私的重
要而有效的手段,从阻止窃听者攻击这个角度出发,结合既有的加密算法和签名技术,符合
当前社会的发展和需要,使得电子商务、物联网等匿名应用有了更坚实的技术保障。
[0003] 匿名通信,是指采取一定的措施隐蔽通信流中的通信关系,使窃听者难以获取或推知通信双方的关系及内容。匿名通信的目的就是隐蔽通信双方的身份或通信关系,保护
网络用户的个人通信隐私。常见的匿名通信系统有:基于广播/群组的DC-NET,基于Mix的
Onion Routing和Remailer,基于P2P(peer-to-peer,对等网络)的Crowds和TOR等。然而,目
前绝大多数匿名通信系统是针对特定领域设计的,分别从不同应用角度来对匿名通信进行
研究,缺乏统一完善的构造体系和评价标准。因此,对匿名通信系统的形式化通用模型研
究,仍然是一项基础性的工作。
[0004] 相关技术中,匿名通信系统的匿名属性包括不可辨识性和不可关联性。不可辨识性是指敌手无法识别用户的身份,不可联系性则是指敌手无法通过观察系统,将消息、行为
和用户相关联。虽然该系统设计保证了通信方之间的匿名性,但同时也使得双方通信绕开
了任何现行组织或机构的审计和追踪,这与实施可监管匿名通信系统的需求严重不符。例
如,对于电子银行来说,监管机制的缺失,容易导致出现敲诈勒索行为,并滋生利用电子现
金偷税漏税、地下洗钱等违法犯罪行为。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006] 为此,本发明的一个目的在于提出一种用于审计和追踪的匿名消息发送系统,该系统可以保护通信系统的信息安全,保护个人隐私,提高安全监管。
[0007] 本发明的另一个目的在于提出一种用于审计和追踪的匿名消息发送方法。
[0008] 为达到上述目的,本发明一方面实施例提出了一种用于审计和追踪的匿名消息发送系统,包括注册模块,用于通过用户与注册机构交互生成用户证书;签名模块,用于通过
用户在通信得到可链接群签名;验证模块,用于验证所述可链接群消息签名的有效性;链接
模块,用于链接判断任意两消息是否来自于同一用户;追踪模块,用于追踪异常消息的关联
用户。
[0009] 本发明实施例的用于审计和追踪的匿名消息发送系统,可以通过可链接群签名的匿名性实现通信发送方的隐私保护,可链接性实现审计机构对异常消息的审计,可追踪性
实现监管机构对通信发送方的监管,从而保护通信系统的信息安全,保护个人隐私,提高安
全监管。
[0010] 另外,根据本发明上述实施例的用于审计和追踪的匿名消息发送系统还可以具有以下附加的技术特征:
[0011] 进一步地,在本发明的一个实施例中,所述可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令所述用户User的公私钥为
(UPK,USK),所述用户证书为Cert,所述注册机构Manager的公私钥为(GPK,GSK),所述审计
机构Linker的公私钥为(LPK,LSK),所述监管机构Trace的公私钥为(TPK,TSK)。
[0012] 进一步地,在本发明的一个实施例中,所述注册模块还用于用户和所述注册机构Manager交互进行注册,生成所述用户证书Cert和公私钥(UPK,USK);所述签名模块还用于
定义消息m∈{0,1}*,输入系统参数GP,用户私钥USK,审计机构和监管机构公钥LPK,TPK,所
述用户证书Cert和消息m,生成可链接群签名σ;所述验证模块还用于输入所述系统参数GP、
所述消息m和所述可链接群签名σ,进行验证运算,其中,若签名有效,则输出1,否则输出0;
所述链接模块还用于所述审计机构Linker利用密钥LSK进行链接运算,输入签名(m,σ)和签
名(m′,σ′),并判断是否来自于同一群成员,其中,若来自于同一群成员,则输出1,否则输出
0;所述追踪模块还用于所述监管机构Tracer利用所述密钥LSK进行追踪运算,其中,输入所
述可链接群签名σ,输出完成签名的群成员注册证书。
[0013] 进一步地,在本发明的一个实施例中,所述可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签
名方案,其中BKeyGen,BSign,UBSign和BVer分别为所述盲签名方案的密钥生成、盲签名、恢
复签名和验证算法;令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和
Dec分别为所述公钥加密方案的密钥生成、加密和解密算法;令Π3=(TKeyGen,TCom,TVer,
TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为所述陷门示性承诺
的密钥生成、承诺、验证和示性算法;令Π4=(KSetup,KSign,KVer)代表知识签名方案,其
中,KSetup,KSign和KVer分别为所述知识签名方案的系统初始化、签名和验证算法。
[0014] 进一步地,在本发明的一个实施例中,所述可链接群签名的算法步骤包括:输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→
(GPK,GSK);用户和注册机构通过运行盲签名Π1和和基于知识签名Π4的证明协议进行交
互,生成证书和公私钥进行注册;定义消息m∈{0,1}*,并进行验证运算,使得所述审计机构
进行链接运算,且所述监管机构进行追踪运算。
[0015] 为达到上述目的,本发明另一方面实施例提出一种用于审计和追踪的匿名消息发送方法,包括以下步骤:通过用户与注册机构交互生成用户证书;通过用户在通信得到可链
接群签名;验证所述可链接群消息签名的有效性;链接判断任意两消息是否来自于同一用
户;追踪异常消息的关联用户。
[0016] 本发明实施例的用于审计和追踪的匿名消息发送方法,可以通过可链接群签名的匿名性实现通信发送方的隐私保护,可链接性实现审计机构对异常消息的审计,可追踪性
实现监管机构对通信发送方的监管,从而保护通信系统的信息安全,保护个人隐私,提高安
全监管。
[0017] 另外,根据本发明上述实施例的用于审计和追踪的匿名消息发送方法还可以具有以下附加的技术特征:
[0018] 进一步地,在本发明的一个实施例中,所述可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令所述用户User的公私钥为
(UPK,USK),所述用户证书为Cert,所述注册机构Manager的公私钥为(GPK,GSK),所述审计
机构Linker的公私钥为(LPK,LSK),所述监管机构Trace的公私钥为(TPK,TSK)。
[0019] 进一步地,在本发明的一个实施例中,用户和所述注册机构Manager交互进行注册,生成所述用户证书Cert和公私钥(UPK,USK);定义消息m∈{0,1}*,输入系统参数GP,用
户私钥USK,审计机构和监管机构公钥LPK,TPK,所述用户证书Cert和消息m,生成可链接群
签名σ;输入所述系统参数GP、所述消息m和所述可链接群签名σ,进行验证运算,其中,若签
名有效,则输出1,否则输出0;所述审计机构Linker利用密钥LSK进行链接运算,输入签名
(m,σ)和签名(m′,σ′),并判断是否来自于同一群成员,其中,若来自于同一群成员,则输出
1,否则输出0;所述监管机构Tracer利用所述密钥LSK进行追踪运算,其中,输入所述可链接
群签名σ,输出完成签名的群成员注册证书。
[0020] 进一步地,在本发明的一个实施例中,所述可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:
[0021] 令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为所述盲签名方案的密钥生成、盲签名、恢复签名和验证算法,具体的盲
签名方案为:
[0022] BKeyGen(1k):输入1k,生成n阶群G,选取群G的一p阶子群G1,输出签名者的公钥(n,G),私钥为sk_bs=p;
[0023] BSign(sk_bs,m):发送者随机选取 计算 将 发送给签名者,所述签名者根据私钥对盲化信息进行签名,然后将签名 作为对原消息
m的签名发送给所述发送者;
[0024] BVer(m,σ):所述发送者检查签名是否满足验证函数 (相当于m=σe),然后得原消息m的签名σ;
[0025] 令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和Dec分别为所述公钥加密方案的密钥生成、加密和解密算法,具体的公钥加密方案为:
[0026] PKeyGen(1k):输入1k,运行 获取(G,q,g),其中G为q阶循环群,g为群G的生成元,然后随机选择x←Zq,并计算h=gx,输出接收者公钥pk_en=(G,q,g,h),私钥sk_en=x;
[0027] Enc(pk_en,m):输入公钥pk_en=(G,q,g,h)和消息m∈M,选择随机的w←Zq,输出密文C=(c1,c2)=(gw,m·hw);
[0028] Dec(sk_en,C):输入私钥sk_en=x和密文C=(c1,c2),输出消息 或者符号⊥(表示C是一个无效密文);
[0029] 令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为所述陷门示性承诺的密钥生成、承诺、验证和示性算法,具体的陷门示
性承诺为:
[0030] TKeyGen(1k):运行 选取G0=为 的一个子群,且(g1|N)=1,即其中,N为RIPE合数,N=PQ,P=2P′+1,Q=2Q′+1,群G0的秩为P′Q′。选取G0的一
个子群G1,使得群G1的秩为P′。选取h1为G1中随机元素,其中h1的阶为P′,g1的阶为P′Q′。得到
公共参数pk_ic=(N,g1,h1,G0,G1),陷门密钥sk_ic=P′;
[0031] TCom(pk_ic,m):随机选取r←{0,1}n,计算 输出承诺值C和验证承诺的参数(r,m);
[0032] TVer(pk_ic,C,r,m):验证 若等式成立,则验证通过;
[0033] TIndic(sk_ic,C,C'):利用陷门密钥判断 若等式成立,说明两个承诺值相同,此时输出1,否则输出0;
[0034] 令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中,KSetup,KSign和KVer分别为所述知识签名方案的系统初始化、签名和验证算法,具体的知识签名方案为:
[0035] SKDL方案:若一个数对 满足c=H(m||g||y||gsyc),则称(c,s)是已知y基于g为底的离散对数的知识签名。记作SKDL{(α)|y=gα}(m);
[0036] 若用户知道秘密值x=loggy,对消息m产生这样的知识签名,具体签名过程如下:
[0037] 首先随机选取 计算t=gr,计算c=H(m||g||y||t),s=r-cx,生成签名(c,s);
[0038] 接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明所述用户知道y基于g为底的离散对数;
[0039] SKEQDL方案:若一个数对 满足则称(c,s)是已知y1与y2基于g与h为底的离散对数的知识签名,记作SKEQDL{(α)|y1=gα∧y2
=hα}(m);
[0040] 若所述用户知道秘密值x=loggy1=loghy2,对消息m产生知识签名,具体签名过程如下:
[0041] 首先随机选取 计算t1=gr,t2=hr,计算c=H(m||g||h||y1||y2||t1||t2),s=r-cx,生成签名(c,s);
[0042] 所述接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明所述用户知道y1基于g为底的离散对数与y2基于h为底的离散对数相等。
[0043] 进一步地,在本发明的一个实施例中,所述可链接群签名的算法步骤包括:输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→
(GPK,GSK);用户和注册机构通过运行盲签名Π1和和基于知识签名Π4的证明协议进行交
互,生成证书和公私钥进行注册;定义消息m∈{0,1}*,并进行验证运算,使得所述审计机构
进行链接运算,且所述监管机构进行追踪运算。
[0044] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0045] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0046] 图1为根据本发明实施例的用于审计和追踪的匿名消息发送系统的结构示意图;
[0047] 图2为根据本发明一个实施例的可链接群签名方案的通用构造示意图;
[0048] 图3为根据本发明一个实施例的可链接群签名方案的具体构造示意图;
[0049] 图4为根据本发明一个具体实施例的用于审计和追踪的匿名消息发送系统的结构示意图;
[0050] 图5为根据本发明实施例的用于审计和追踪的匿名消息发送方法的流程图。

具体实施方式

[0051] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0052] 在介绍本发明实施例的用于审计和追踪的匿名消息发送系统及方法之前,先简单描述下解决匿名通信系统中用户隐私保护与安全监管问题的重要性。
[0053] 例如,对于电子银行来说,监管机制的缺失,容易导致出现敲诈勒索行为,并滋生利用电子现金偷税漏税、地下洗钱等违法犯罪,而增加审计追踪功能的电子银行系统能够
在保证用户隐私的前提下,通过审计和监管策略发现并追踪异常交易,进而根据异常信息
追踪匿名账号的关联用户和关联账号,为进一步措施提供技术支持和司法证据。对于军事
情报部门来说,增加审计追踪功能的情报系统能够使上层监管机构在保证通信方隐私的前
提下,利用审计追踪策略将获得的出口情报进行数据分析,进而根据预定信息判断出通信
方来源并追踪到情报部门存在的间谍。因此,解决匿名通信系统中用户隐私保护与安全监
管的冲突是迫切需要突破的一项关键技术。
[0054] 本发明正是基于上述问题而提出一种用于审计和追踪的匿名消息发送系统及方法。
[0055] 下面参照附图描述根据本发明实施例提出的用于审计和追踪的匿名消息发送系统及方法,首先将参照附图描述根据本发明实施例提出的用于审计和追踪的匿名消息发送
系统。
[0056] 图1是本发明一个实施例的用于审计和追踪的匿名消息发送系统的结构示意图。
[0057] 如图1所示,该用于审计和追踪的匿名消息发送系统10包括:注册模块100、签名模块200、验证模块300、链接模块400和追踪模块500。
[0058] 其中,注册模块100用于通过用户与注册机构交互生成用户证书。签名模块200用于通过用户在通信得到可链接群签名。验证模块300用于验证可链接群消息签名的有效性。
链接模块400用于链接判断任意两消息是否来自于同一用户。追踪模块500用于追踪异常消
息的关联用户。本发明实施例的系统10可以通过可链接群签名方案,有效实现通信发送方
的隐私保护,实现审计机构对异常消息的审计,实现监管机构对用户的追踪,保护通信系统
的信息安全,保护个人隐私,提高安全监管。
[0059] 可以理解的是,用户的注册由通信发送方和注册机构完成,签名由通信发送方完成,签名验证由通信系统中的其他参与者完成,链接操作由审计机构完成,追踪操作由监管
机构完成。
[0060] 进一步地,在本发明的一个实施例中,可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令用户User的公私钥为(UPK,USK),
用户证书为Cert,注册机构Manager的公私钥为(GPK,GSK),审计机构Linker的公私钥为
(LPK,LSK),监管机构Trace的公私钥为(TPK,TSK)。
[0061] 其中,在本发明的一个实施例中,注册模块100还用于用户和注册机构Manager交互进行注册,生成用户证书Cert和公私钥(UPK,USK)。签名模块200还用于定义消息m∈{0,
1}*,输入系统参数GP,用户私钥USK,审计机构和监管机构公钥LPK,TPK,用户证书Cert和消
息m,生成可链接群签名σ。验证300模块还用于输入系统参数GP、消息m和可链接群签名σ,进
行验证运算,其中,若签名有效,则输出1,否则输出0。链接模块400还用于审计机构Linker
利用密钥LSK进行链接运算,输入签名(m,σ)和签名(m′,σ′),并判断是否来自于同一群成
员,其中,若来自于同一群成员,则输出1,否则输出0。追踪模块500还用于监管机构Tracer
利用密钥LSK进行追踪运算,其中,输入可链接群签名σ,输出完成签名的群成员注册证书。
[0062] 可以理解的是,一个可链接群签名方案由以下六个算法构成:系统生成、用户注册、签名、验证、链接和追踪,其中,为系统安全参数长度。
[0063] Setup(1k):输入1k,注册机构Manager运行 生成注册机构公私钥(GPK,GSK)。审计机构Linker和监管机构Tracer运行 生成各自的公私钥(LPK,LSK)和(TPK,TSK)。
群签名系统公共参数GP=(GPK,LPK,TPK)。
[0064] Join(GPK,GSK,USK):用户和注册机构交互进行注册,生成证书Cert和公私钥(UPK,USK)。
[0065] GSig(GP,LPK,TPK,USK,Cert,m):定义消息m∈{0,1}*,输入系统参数GP,用户私钥USK,审计机构和监管机构公钥LPK,TPK,证书Cert和消息m,用户生成群签名σ。
[0066] GVer(GP,LPK,TPK,m,σ):输入系统参数GP,消息m和群签名σ,进行验证运算。若签名有效,输出1,否则输出0。
[0067] Link(GP,LSK,(m,σ),(m′,σ′)):审计机构利用密钥LSK进行链接运算。输入两签名(m,σ),(m′,σ′),判断它们是否来自于同一群成员。若来自于同一群成员,输出1,否则输出
0。
[0068] Trace(GP,TSK,σ):监管机构利用密钥TSK进行追踪运算。输入签名σ,输出完成该签名的群成员注册证书。
[0069] 本发明实施例可以通过设计可链接群签名方案提供一种匿名消息发送系统中通信发送方的隐私保护与审计监管方法,具有以下特点:
[0070] (1)在本发明的实施例中,可链接群签名方案的设计可以是一种通用化构造,任何满足本发明实施例要求的基础密码学工具都可组合实现具备隐私保护和审计监管功能的
可链接群签名具体方案。
[0071] (2)本发明实施例给出了一个具体的可链接群签名方案构造步骤及构造实例,对于本领域普通技术人员来讲,可以根据自己所期望的性能及安全需求,仿照这一实例构造
其他的可链接群签名安全方案。
[0072] (3)可链接群签名将管理员的注册、链接和追踪功能独立分开,有效避免传统群管理员权利过大问题。由可链接群签名自身特征所形成的注册-审计-监管的顺序功能,使之
在匿名通信系统有着潜在的应用价值。
[0073] 进一步地,在本发明的一个实施例中,可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:
[0074] 令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为盲签名方案的密钥生成、盲签名、恢复签名和验证算法;
[0075] 令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和Dec分别为公钥加密方案的密钥生成、加密和解密算法;
[0076] 令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为陷门示性承诺的密钥生成、承诺、验证和示性算法;
[0077] 令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中,KSetup,KSign和KVer分别为知识签名方案的系统初始化、签名和验证算法。
[0078] 可以理解的是,可链接群签名通用结构时需要用到的密码学基础工具,包括知识签名、盲签名、公钥加密和陷门示性承诺,下面分别对各个密码体制进行详细介绍。
[0079] 首先是盲签名,盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般数字签名条件外,还必须满足下面
的两条性质:
[0080] (1)签名者对其所签署的信息是不可见的,即签名者不知道他所签署消息的具体内容。
[0081] (2)签名消息不可跟踪,即当签名信息被公布后,签名者无法知道这是他哪次签署的。
[0082] 其中,令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为方案中的密钥生成、盲签名、恢复签名和验证算法,具体结构算
法如下:
[0083] BKeyGen(1k):输入1k,输出签名者的公私钥对(pk_bs,sk_bs)。
[0084] BSign(sk_bs,m):发送者将盲化后的信息B(m,r)→m′发送给签名者,签名者用私钥sk_bs对盲化信息m′进行签名,然后将签名σ′_bs发送给发送者。
[0085] UBSign(pk_bs,σ′_bs):发送者对签名σ′_bs进行脱盲得原消息m的签名σ_bs,UBSign(σ′_bs,r)=σ_bs。
[0086] BVer(m,σ_bs):发送者检查签名σ_bs是否为原消息m的有效签名,输出1或0。
[0087] 举例而言,BKeyGen(1k):输入1k,生成n阶群G,选取群G的一p阶子群G1,输出签名者的公钥(n,G),私钥为sk_bs=p。
[0088] BSign(sk_bs,m):发送者随机选取 计算 将 发送给签名者,签名者根据私钥对盲化信息进行签名,然后将签名 作为对原消息m的
签名发送给发送者。
[0089] BVer(m,σ):发送者检查签名是否满足验证函数 (相当于m=σe),然后得原消息m的签名σ。
[0090] 其次介绍的PKE(Public Key Encryption,公钥加密体制),公钥加密,也称为非对称密钥加密,是密码学的一种算法。该加密算法使用两个不同的密钥:加密密钥和解密密
钥。前者公开,又称公开密钥,简称公钥;后者保密,又称私有密钥,简称私钥。这两个密钥是
数学相关的,用某用户加密密钥加密后所得的信息只能用该用户的解密密钥才能解密。
[0091] 一个公钥加密方案通常包含三个(概率)多项式时间算法。其中,令Π2=(PKeyGen,Enc,Dec)代表普通的公钥加密方案,其中PKeyGen,Enc和Dec分别为方案中的密
钥生成、加密和解密算法。分别定义为:
[0092] PKeyGen(1k):是一个概率多项式时间算法。它输入1k,输出接收者的公私钥对(pk_en,sk_en)。
[0093] Enc(pk_en,m):是一个概率多项式时间算法。它输入公钥pk_en和消息m∈M,输出密文C=Enc(pk_en,m)。
[0094] Dec(sk_en,C):是一个确定多项式时间算法。它输入私钥sk_en和密文C,输出消息m或者符号⊥(表示C是一个无效密文)。
[0095] 举例而言,PKeyGen(1k):输入1k,运行 获取(G,q,g),其中G为q阶循环群,g为群G的生成元。然后随机选择x←Zq并计算h=gx,输出接收者公钥pk_en=(G,q,g,h),私钥
sk_en=x。
[0096] Enc(pk_en,m):输入公钥pk_en=(G,q,g,h)和消息m∈M,选择随机的w←Zq,输出密文C=(c1,c2)=(gw,m·hw)。
[0097] Dec(sk_en,C):输入私钥sk_en=x和密文C=(c1,c2),输出消息 或者符号⊥(表示C是一个无效密文)。
[0098] 一个公钥加密方案PKE必须满足正确性,即对于所有的
[0099] ((pk_en,sk_en))←PKeyGen(1k)和消息m∈M,满足Dec(sk_en,Enc(pk_en,m))=m。
[0100] 再次介绍的是陷门示性承诺(Trapdoor Indicative Commitment),陷门示性承诺是一种特殊的陷门承诺方案。它不同于传统的陷门承诺,传统陷门承诺只是针对一个承诺
值根据陷门信息进行运算,而陷门示性承诺针对两个承诺进行操作,其示性特征仅允许拥
有陷门信息的人能够判断出两个承诺里的秘密值是否相等,却不能打开承诺。
[0101] 具体地说,概念中的示性特征体现在方案的输出结果是判断结果1或0,而不是具体的承诺值。即,当拥有陷门密钥且承诺里的秘密值相等情形发生时,方案输出1,其他情形
输出0。
[0102] 其中,令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中TKeyGen,TCom,TVer和TIndic分别为方案中的密钥生成、承诺、验证和示性算法。
[0103] TKeyGen(1k):输入1k,输出公开参数pk_ic和陷门密钥sk_ic。
[0104] TCom(pk_ic,m):输入公开参数pk_ic和承诺值m,输出承诺C=TCom(pk_ic,m)和验证承诺的参数(r,m)。
[0105] TVer(pk_ic,C,r,m):输入公开参数pk_ic、承诺C和验证承诺的参数(r,m),检查是否满足验证函数TVer(pk_ic,C,r,m)。
[0106] TIndic(sk_ic,C,C'):输入陷门密钥sk_ic和两承诺C,C′,判断承诺C,C′中的承诺秘密值m,m′是否相同。若相同,此时输出1,否则输出0。
[0107] 举例而言,TKeyGen(1k):运行 选取G0=为 的一个子群,且(g1|N)=1,即 其中N为RIPE合数,N=PQ,P=2P′+1,Q=2Q′+1,群G0的秩为P′Q′。选取G0的
一个子群G1,使得群G1的秩为P′。选取h1为G1中随机元素,其中h1的阶为P′,g1的阶为P′Q′。得
到公共参数pk_ic=(N,g1,h1,G0,G1),陷门密钥sk_ic=P′。
[0108] TCom(pk_ic,m):随机选取r←{0,1}n,计算 输出承诺值C和验证承诺的参数(r,m)。
[0109] TVer(pk_ic,C,r,m):验证 若等式成立,则验证通过。
[0110] TIndic(sk_ic,C,C'):利用陷门密钥判断 若等式成立,说明两个承诺值相同,此时输出1,否则输出0。
[0111] 最后介绍的是知识签名方案(Signature of Knowledge),知识签名是签名者将自己知道某知识的证据附在消息的签名上,在非交互的情况下通过签名的形式向别人证明其
知道某个秘密而不泄露该秘密本身。
[0112] 在传统的签名方案中,一个对消息m的签名σ对应于一个公钥pk,可以表述成“拥有公钥pk及其对应私钥sk的用户可对消息m签名”。知识签名方案允许用户代表某一个NP论断
进行签名,即“拥有论断x∈L的证据w的用户可对消息m签名”。知识签名在提供一般消息签
名功能的同时又对签名者自身掌握某知识这一事实进行了证明。其概念类似非交互的零知
识证明,为了区别非交互的零知识证明,称这样的签名为知识签名。
[0113] 其中,令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中KSetup,KSign和KVer分别为方案中的系统初始化、签名和验证算法。令m∈M代表签名消息,对任意语言L∈
NP,用ML代表多项式时间的图灵机,其输入为(x,w),当且仅当w为x∈L的证据时有ML(x,w)=
1。具体结构算法如下:
[0114] KSetup(1k):输入1k,输出公共参数pk_ks。
[0115] KSign(pk_ks,ML,x,w,m):输入pk_ks,NP论断x∈L及对应证据w,对应于某一NP论断的ML和要签署消息m。输出代表x∈L对消息m的知识签名σ_ks。
[0116] KVer(pk_ks,ML,x,m,σ_ks):输入pk_ks,ML,x,m和签名σ_ks,验证签名是否由此NP论断的证据的拥有者生成,输出1或0。
[0117] 举例而言,令符号SKDL和SKEQDL代表基于离散对数的知识签名方案,其中SKDL为离散对数已知存在的知识证明,SKEQDL为两个离散对数相等的知识证明。
[0118] SKDL方案:若一个数对 满足c=H(m||g||y||gsyc),则称(c,s)是已知y基于g为底的离散对数的知识签名。记作SKDL{(α)|y=gα}(m)。
[0119] 若用户A知道秘密值x=loggy,她可以对消息m产生这样的知识签名,具体签名过程如下:
[0120] (1)A首先随机选取 计算t=gr,计算c=H(m||g||y||t),s=r-cx,生成签名(c,s);
[0121] (2)接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明A知道y基于g为底的离散对数。
[0122] SKEQDL方案:若一个数对 满足α
则称(c,s)是已知y1与y2基于g与h为底的离散对数的知识签名。记作SKEQDL{(α)|y1=g ∧y2
=hα}(m)。
[0123] 若用户A知道秘密值x=loggy1=loghy2,她可以对消息m产生这样的知识签名,具体签名过程如下:
[0124] (1)A首先随机选取 计算t1=gr,t2=hr,计算c=H(m||g||h||y1||y2||t1||t2),s=r-cx,生成签名(c,s);
[0125] (2)接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明A知道y1基于g为底的离散对数与y2基于h为底的离散对数相等。
[0126] 进一步地,在本发明的一个实施例中,可链接群签名的算法步骤包括:
[0127] 输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→(GPK,GSK);用户和注册机构通过运行盲签名Π1和和基于知识签名Π4的证
明协议进行交互,生成证书和公私钥进行注册;定义消息m∈{0,1}*,并进行验证运算,使得
审计机构进行链接运算,且监管机构进行追踪运算。
[0128] 可以理解的是,如图2所示,可链接群签名方案通用构造其算法如下:
[0129] Setup(1k):输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→(GPK,GSK)。
[0130] 审计机构运行Π3的TKeyGen算法,生成审计机构的公私钥对(LPK,LSK)。TKeyGen(1k)→(LPK,LSK)。
[0131] 监管机构运行Π2的PKeyGen算法,生成监管机构的公私钥对(TPK,TSK)。PKeyGen(1k)→(TPK,TSK)。
[0132] 最后,输出可链接群签名的系统公共参数GP,GP=(GPK,LPK,TPK)。
[0133] Join(GPK,GSK,USK):用户和注册机构通过运行盲签名Π1和和基于知识签名Π4的证明协议进行交互,生成证书和公私钥进行注册。
[0134] (1)用户选取私钥USK,根据注册机构公钥GPK,将私钥USK盲化后发送给注册机构,同时运行基于知识签名的证明协议Π4(GPK),证明进行了正确盲化;
[0135] (2)注册机构运行Π1的BSign算法,生成盲签名-证书Cert′,BSign(GSK)→Cert′;
[0136] (3)用户得到Cert′,运行Π1的UBSign算法得到解盲签名-证书Cert,并运行Π1的BVer算法进行证书的有效性验证;
[0137] (4)用户将证书Cert发送给注册机构,同时将身份信息ID作为用户公钥UPK发送给注册机构,保留私钥USK。注册机构将(ID,Cert)添加到注册表中。
[0138] GSig(GP,LPK,TPK,USK,Cert,m):定义消息m∈{0,1}*,用户的群签名算法分为以下几个部分:
[0139] (1)对用户证书的加密。运行Π2的Enc算法,Enc(Cert,TPK)→(a,b);
[0140] (2)对用户私钥的陷门示性承诺。运行Π3的TCom算法,TCom(LPK,USK)→d;
[0141] (3)对消息m的知识签名。运行Π4的KSign算法,KSign(USK,GP,m)→c;
[0142] (4)最后,得到签名σ=(a,b,c,d)。
[0143] GVer(GP,LPK,TPK,m,σ):进行验证运算。
[0144] 对知识签名的验证。运行Π4的KVer算法,KVer(GP,m,σ)→1/0。若输出为1,说明签名有效。
[0145] Link(GP,LSK,(m,σ),(m′,σ′)):审计机构进行链接运算。
[0146] (1)给定(m,σ),(m′,σ′),审计机构首先运行GVer算法验证消息-签名对的有效性。如果签名不正确,则终止。
[0147] (2)否则,审计机构针对签名σ中的分量d和σ′中的分量d′,运行Π3的TVer算法验证签名的有效性。如果签名不正确,则终止。否则运行Π3的TIndic算法,TIndic(LSK,d,d′)
→1/0。若输出为1,说明两个签名来自于同一用户。
[0148] Trace(GP,TSK,σ):监管机构进行追踪运算。
[0149] (1)给定σ,监管机构首先运行GVer算法验证签名的有效性。如果签名不正确,则终止。
[0150] (2)否则,监管机构运行Π2的Dec算法,Dec(TSK,σ)→Cert0,同时运行基于知识签名的证明协议Π4(σ‖m),证明计算出了正确的用户证书;
[0151] (3)根据注册机构给出的注册表,对比找到该证书对应的用户注册ID。
[0152] 举例而言,如图3所示,由以上给出的基础工具的方案案例,按照通用结构可以组合成一个具体的可链接群签名方案,具体构造如下:
[0153] Setup(lg):注册机构运行 生成注册机构公钥GPK和注册密钥GSK。
[0154] 令ε>1,k,lg,l1,l2, 为安全参数,其中 代表秩长度为lg,且有两个长度为(lg-2)/2的素因子的群集。
[0155] 特别地,注册机构选取G=为 的一个子群,且(g|n)=1,即 其中n为RIPE合数,n=pq,p=2p′+1,q=2q′+1,群G的秩为p′q′,选取z,h为G中随机元素,定义抗
碰撞哈希函数H:{0,1}*→{0,1}k,输出系统公共参数
注册密钥GSK=(p,q)。
[0156] 审计机构Linker和监管机构Tracer运行 生成链接密钥和追踪密钥。
[0157] (1)审计机构运行 选取G0=为 的一个子群,且(g1|N)=1,即其中N为RIPE合数,N=PQ,P=2P′+1,Q=2Q′+1,群G0的秩为P′Q′。选取G0的一
个子群G1,使得群G1的秩为P′。选取h1为G1中随机元素,其中h1的阶为P′,g1的阶为P′Q′。得到
审计机构的公钥LPK=(N,g1,h1,G0,G1),链接密钥LSK=P′。
[0158] (2)监管机构选取 计算y=gx。得到监管机构的公钥TPK=y,追踪密钥TSK=x。
[0159] Join(GPK,GSK,USK):用户和注册机构交互生成证书和公私钥,进行注册。
[0160] (1)用户随机选取 计算将 发送给注册机构,并与注册机构进行交互式证明
[0161] 来证明用户正确生成了
[0162] (2)注册机构计算 将u发送给用户。
[0163] (3)用户验证 (相当于z=ue)。若等式成立,则接受证书Cert=u,并将身份信息ID作为用户公钥发送给注册机构。保留用户私钥USK=e。
[0164] (4)注册机构将 添加到注册表中。
[0165] 其中SKDL符号代表离散对数的知识签名证明协议。
[0166] GSig(GP,LPK,TPK,USK,Cert,m):令消息m∈{0,1}*,用户对消息进行群签名。
[0167] (1)随机选取 计算a=gw,b=uyw,计算
[0168] (2)选取 计算
[0169]
[0170] c=H(g||h||y||z||a||b||d||t1||t2||t3||t4||m)
[0171]
[0172] (3)最后,得到签名σ=(c,s1,s2,s3,a,b,d),用户输出签名σ。
[0173] 上述群签名相当于是对m的知识签名,可以记作
[0174]
[0175] GVer(GP,LPK,TPK,m,σ):进行验证运算。
[0176] (1)计算
[0177]
[0178]
[0179] (2)如果c=c',接受该签名,否则拒绝。
[0180] Link(GP,LSK,(m,σ),(m′,σ′)):审计机构进行链接运算。
[0181] (1)给定(m,σ),(m′,σ′),审计机构首先运行GVer算法验证消息-签名对的有效性。如果签名不正确,则终止。
[0182] (2)否则审计机构选取签名σ中的分量d和σ′中的分量d′,利用链接密钥判断若等式成立,说明两个签名来自于同一用户,此时输出1,否则输出0。
[0183] Trace(GP,TSK,σ):监管机构进行追踪运算。
[0184] (1)给定σ,监管机构首先运行GVer算法验证签名的有效性。如果签名不正确,则终止。
[0185] (2)否则监管机构利用追踪密钥计算u′=b/ax,并进行知识证明运算SKEQDL{(α)|y=gα∧b/u′=aα}(σ‖m),其中SKEQDL符号代表两个离散对数相等的知识签名证明协议。
[0186] (3)获取用户证书u后,根据注册机构给出的注册表,对比找到该证书对应的用户注册ID。
[0187] 综上所述,如图4所示,本发明实施例提供了一种匿名通信系统中通信发送方的隐私保护与审计监管系统,该系统具有以下功能:
[0188] (1)实现通信发送方的隐私保护。给定某一消息的签名,除了监管机构,其他任何人都不能识别出签名是由哪个通信发送者所签。
[0189] (2)实现审计机构对异常消息的审计。给定任意两个消息签名对,审计机构能够判断出两个签名是否由同一个发送者所签。
[0190] (3)实现监管机构对用户的追踪。给定某一消息的签名,监管机构能够识别出签名是由哪个发送者所签。
[0191] 根据本发明实施例提出的一种用于审计和追踪的匿名消息发送系统,可以通过可链接群签名的匿名性实现通信发送方的隐私保护,可链接性实现审计机构对异常消息的审
计,可追踪性实现监管机构对通信发送方的监管,从而保护通信系统的信息安全,保护个人
隐私,提高安全监管。
[0192] 其次参照附图描述根据本发明实施例提出的于审计和追踪的匿名消息发送方法。
[0193] 图5是用于审计和追踪的匿名消息发送方法的流程图。
[0194] 如图5所示,该用于审计和追踪的匿名消息发送方法包括以下步骤:
[0195] 在步骤S501中,通过用户与注册机构交互生成用户证书。
[0196] 在步骤S502中,通过用户在通信得到可链接群签名。
[0197] 在步骤S503中,验证可链接群消息签名的有效性。
[0198] 在步骤S504中,链接判断任意两消息是否来自于同一用户。
[0199] 在步骤S505中,追踪异常消息的关联用户。
[0200] 进一步地,在本发明的一个实施例中,可链接群签名的实体包括用户User,注册机构Manager,审计机构Linker和监管机构Tracer,其中,令用户User的公私钥为(UPK,USK),
用户证书为Cert,注册机构Manager的公私钥为(GPK,GSK),审计机构Linker的公私钥为
(LPK,LSK),监管机构Trace的公私钥为(TPK,TSK)。
[0201] 进一步地,在本发明的一个实施例中,用户和注册机构Manager交互进行注册,生成用户证书Cert和公私钥(UPK,USK);定义消息m∈{0,1}*,输入系统参数GP,用户私钥USK,
审计机构和监管机构公钥LPK,TPK,用户证书Cert和消息m,生成可链接群签名σ;输入系统
参数GP、消息m和可链接群签名σ,进行验证运算,其中,若签名有效,则输出1,否则输出0;审
计机构Linker利用密钥LSK进行链接运算,输入签名(m,σ)和签名(m′,σ′),并判断是否来自
于同一群成员,其中,若来自于同一群成员,则输出1,否则输出0;监管机构Tracer利用密钥
LSK进行追踪运算,其中,输入可链接群签名σ,输出完成签名的群成员注册证书。
[0202] 进一步地,在本发明的一个实施例中,可链接群签名的构造为Π=(Setup,Join,GSig,GVer,Link,Trace),具体为:
[0203] 令Π1=(BKeyGen,BSign,UBSign,BVer)代表盲签名方案,其中BKeyGen,BSign,UBSign和BVer分别为盲签名方案的密钥生成、盲签名、恢复签名和验证算法,具体的盲签名
方案为:
[0204] BKeyGen(1k):输入1k,生成n阶群G,选取群G的一p阶子群G1,输出签名者的公钥(n,G),私钥为sk_bs=p;
[0205] BSign(sk_bs,m):发送者随机选取 计算 将 发送给签名者,签名者根据私钥对盲化信息进行签名,然后将签名 作为对原消息m的
签名发送给发送者;
[0206] BVer(m,σ):发送者检查签名是否满足验证函数 (相当于m=σe),然后得原消息m的签名σ;
[0207] 令Π2=(PKeyGen,Enc,Dec)代表公钥加密方案,其中,PKeyGen,Enc和Dec分别为公钥加密方案的密钥生成、加密和解密算法,具体的公钥加密方案为:
[0208] PKeyGen(1k):输入1k,运行 获取(G,q,g),其中G为q阶循环群,g为群G的生成元,然后随机选择x←Zq,并计算h=gx,输出接收者公钥pk_en=(G,q,g,h),私钥sk_en=x;
[0209] Enc(pk_en,m):输入公钥pk_en=(G,q,g,h)和消息m∈M,选择随机的w←Zq,输出w w
密文C=(c1,c2)=(g ,m·h);
[0210] Dec(sk_en,C):输入私钥sk_en=x和密文C=(c1,c2),输出消息 或者符号⊥(表示C是一个无效密文);
[0211] 令Π3=(TKeyGen,TCom,TVer,TIndic)代表陷门示性承诺,其中,TKeyGen,TCom,TVer和TIndic分别为陷门示性承诺的密钥生成、承诺、验证和示性算法,具体的陷门示性承
诺为:
[0212] TKeyGen(1k):运行 选取G0=为 的一个子群,且(g1|N)=1,即其中,N为RIPE合数,N=PQ,P=2P′+1,Q=2Q′+1,群G0的秩为P′Q′。选取G0的一
个子群G1,使得群G1的秩为P′。选取h1为G1中随机元素,其中h1的阶为P′,g1的阶为P′Q′。得到
公共参数pk_ic=(N,g1,h1,G0,G1),陷门密钥sk_ic=P′;
[0213] TCom(pk_ic,m):随机选取r←{0,1}n,计算 输出承诺值C和验证承诺的参数(r,m);
[0214] TVer(pk_ic,C,r,m):验证 若等式成立,则验证通过;
[0215] TIndic(sk_ic,C,C'):利用陷门密钥判断 若等式成立,说明两个承诺值相同,此时输出1,否则输出0;
[0216] 令Π4=(KSetup,KSign,KVer)代表知识签名方案,其中,KSetup,KSign和KVer分别为知识签名方案的系统初始化、签名和验证算法,具体的知识签名方案为:
[0217] SKDL方案:若一个数对 满足c=H(m||g||y||gsyc),则称(c,s)是已知y基于g为底的离散对数的知识签名。记作SKDL{(α)|y=gα}(m);
[0218] 若用户知道秘密值x=loggy,对消息m产生这样的知识签名,具体签名过程如下:
[0219] 首先随机选取 计算t=gr,计算c=H(m||g||y||t),s=r-cx,生成签名(c,s);
[0220] 接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明用户知道y基于g为底的离散对数;
[0221] SKEQDL方案:若一个数对 满足则称(c,s)是已知y1与y2基于g与h为底的离散对数的知识签名,记作SKEQDL{(α)|y1=gα∧y2
=hα}(m);
[0222] 若用户知道秘密值x=loggy1=loghy2,对消息m产生知识签名,具体签名过程如下:
[0223] 首先随机选取 计算t1=gr,t2=hr,计算c=H(m||g||h||y1||y2||t1||t2),s=r-cx,生成签名(c,s);
[0224] 接收者验证该数对(c,s)是否满足上述定义式,若满足,则表明用户知道y1基于g为底的离散对数与y2基于h为底的离散对数相等。
[0225] 进一步地,在本发明的一个实施例中,可链接群签名的算法步骤包括:
[0226] 输入1k,注册机构运行Π1的BKeyGen算法,生成注册机构的公私钥(GPK,GSK),BKeyGen(1k)→(GPK,GSK);
[0227] 用户和注册机构通过运行盲签名Π1和和基于知识签名Π4的证明协议进行交互,生成证书和公私钥进行注册;
[0228] 定义消息m∈{0,1}*,并进行验证运算,使得审计机构进行链接运算,且监管机构进行追踪运算。
[0229] 需要说明的是,前述用于审计和追踪的匿名消息发送系统实施例的解释说明也适用于该实施例用于审计和追踪的匿名消息发送方法,此处不再赘述。
[0230] 根据本发明实施例提出的用于审计和追踪的匿名消息发送方法,可以通过可链接群签名的匿名性实现通信发送方的隐私保护,可链接性实现审计机构对异常消息的审计,
可追踪性实现监管机构对通信发送方的监管,从而保护通信系统的信息安全,保护个人隐
私,提高安全监管。
[0231] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0232] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0233] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员
而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0234] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在
第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第
一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0235] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
[0236] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。