非对称群组密钥交换协议的叛逆追踪性*

2019-06-10 07:01滕济凯
通信技术 2019年5期
关键词:合谋公钥非对称

谢 涛,滕济凯

(1.密码科学技术国家重点实验室,北京 100878;2.青岛理工大学 理学院,山东 青岛 266033)

0 引 言

在群组通信环境中,用户需要在公开的不安全的网络上发送消息。群组密钥协商协议为群组用户提供了一个共享的会话密钥,该会话密钥可以用来实现机密性和完整性,因此,群组密钥协商协议在实现群组通信安全方面起到了非常重要的作用。在传统的群组密钥协商协议中[1-5],群组成员建立一个共同的密钥。在群组密钥协商协议中,通信轮数对协议效率的影响非常大,因为在一轮中,每个用户都要收到其他所有的用户的消息后,才能计算并发送下一轮的消息,因此,应当尽可能减少协议的轮数。一轮群组密钥协商协议在文献[6-8]提出。在这些传统的群组密钥协商协议中,群组成员建立一个共享的会话密钥,只有群组成员能够加密消息给其它群组成员。在2009年,Wu等人[9]提出了非对称群组密钥协商协议(Asymmetric Group Key Agreement,ASGKA)的概念,并且提出构造一轮非对称群组密钥协商的总通用方法,并且在该通用构造方法下设计了一个一轮ASGKA协议。在ASGKA协议中,群组成员建立一个任何人都可以获得的共同的加密密钥,并且计算互不相同的解密密钥。每个解密密钥能够用来解密用相应的加密密钥加密的消息。因此,任何获取加密密钥的主体都可以给群组成员发送加密的消息,只有群组成员才可以解密消息。Wu等人[9]提的具体的协议没认证功能,在2010年,Zhang等人[10]在Wu等人的通用构造下[9]提出了一个基于身份的一轮非对称群组密钥协商协议,该协议具有认证性,因此具有更强的安全保障。2011年,Zhang等人[11]提出了一个一轮并且考虑了更多安全属性的非对称群组密钥协商协议。协议[9-11]都是静态的,没有考虑群组成员发生变化时,怎样更新加密密钥和群组成员的解密密钥。2012年,Zhao[12]等人提出了动态非对称ASGKA的通用构造方法,但是该方法需要两轮通信完成协议。

在ASGKA协议中,群组成员可以将自己的解密密钥直接拷贝给群组外的成员或者合谋产生一个非法的解密密钥,这个合谋产生的非法的解密密钥和任何一个合谋者的解密密钥不同,但是能够正确解密,这个过程称为合谋攻击。在非对称群组密钥协商协议中,因为群组成员持有不同的解密密钥,而且解密密钥和用户的身份相关,所以合谋者可以被识别。当发现一个非法的解密盒以后,识别其中至少一个合谋者的过程称为叛逆追踪。叛逆追踪[13]最早是在广播加密中引入用来打击合谋者。文献[13]指出,合谋者可以被追踪的一个必要条件是用户的解密密钥必须满足非模糊性。非模糊性是指两个交集为空的用户的集合不应产生相同的解密密钥。关于叛逆追踪的详细描述见文献[13-15]。2015年,Teng[16]对ASGKA协议的通用构造方法提出了一个合谋攻击,而且证明合谋者不可追踪。

在这篇文章中,采用文献[16]中的方法对文 献[10]中的协议做了合谋攻击,而且证明参与该合谋攻击的合谋者是无法追踪的。

1 基础知识介绍

本节描述文献[9]中介绍的ASGKA协议和相关概念。

1.1 ASGKA协议

Eurocrypt09上提出的ASGKA 协议的通用构造方法包括如下几个算法:

-公开参数生成:给定一个安全参数,输出公开参数。

-群组建立:决定群组成员{u1,u2,…,un}。假设ID1,ID2,…,IDn为u1,u2,…,un的身份。

-群组密钥协商:每个用户ui用他的私钥skn产生签名σi(IDj),然后广播σi(IDj)(1≤j≤n, j≠i)。

-加密/解密:dki是IDi在公钥pk下的签名,同时也是和pk相对应的解密密钥。

1.2 基于聚合签名的广播方案

一个基于聚合签名的广播(Aggregatable Signature-Based Broadcast,ASBB)方案既是一个签名方案也是一个广播方案。它由如下算法构成:

-参数生成(λ):给定一个安全参数λ,输出公开参数π。

-密钥生产(π):输入π,输出一对公/私钥 (pk,sk)。

-签名(pk,sk,s):输入公私钥对(pk,sk)和任意串s,输出s的签名σ。

-验证(pk,s,σ):输入公钥pk和串s的签名σ,输出0/1。

-加密(pk,m):输入公钥pk和消息m,输出密文c。

-解密(pk,σ,s,c):输入公钥pk,串s的签名σ和密文c,输出消息m。

1.3 密钥同态

一个ASBB方案是密钥同态的,如果对任意公/私钥对(pk,sk),(pk´,sk´),任意消息串s和签名σ=sign(pk,sk,s),σ´=sign(pk´,sk´,s),下列条件满足:

(1)验证(pk⊗pk´,s,σ⊙σ´)=1。

(2)解密(pk⊗pk´,σ⊙σ´,s,c)=m,其中⊗:Γ×Γ→Γ,是公钥空间Γ上的运算;⊙:Ω×Ω→Ω是签名空间Ω上的运算。

1.4 对协议的合谋攻击

Teng[16]对ASGKA的通用构造的合谋攻击如下:

不失一般性,假设u1,u2,...,ul(l≥2)是合谋者。他们能够按如下方式用他们的解密密钥产生一个非法解密密钥。

每个签名σij为σai,j(1≤j≤l),其中σ签名为空间的生成元。令σ=sign(pk´,sk´,s)$为某个串s的签名,其中pk´是一个公钥,sk´是相应的私钥。这样,每个σij=sign(pk´aij,sk´aij,s)(1≤j≤l)是串s的一个签名。因此,该非法解密密钥也是一个合法的签名。因为用来构造协议的ASBB方案是密钥同态的,σ[i1,i2,…,il1],[il1+1,il1+2,…,il]是公钥(pk´si1⊗pk´si2⊗相应的解密密钥。

2 一个具体协议的合谋攻击

这部分对文献[10]中的协议做合谋攻击,并且证明合谋者不可追踪。该协议采用了基于身份的密码系统。

-系统参数生成:给定一个安全参数λ,KGC选择两个阶位素数q的乘法群G1和G2,定义可计算的非退化双线性对e:G1×G1→G2,选择G的一个生成元g。KGC还随机选择假设k∈Z*q作为系统主密钥,将g1=gk作为它的公钥,KGC选择hash函数H1,H2:{0,1}*→G1,H3:G2→{0,1}ζ,其中ζ是二进制明文长度。系统公开参数为:(G1,G2,e,g,g1,H1,H2,H3)。

-私钥提取算法:该算法输入用户的身份标识IDi,输出该用户的私钥其中idi=H1(IDi)。群组密钥协商:每个用户Ui随机选择ηi∈Z*p, 计算ri=gηi,fj=H2( j),zi,j=sifηij和对ri的签名ρi,然后用Ui公布ri,zi,j,(1≤j≤n, j≠i)。

群组加密密钥提取:用户检查所有的消息-签名对(r1,ρ1),(r2,ρ2),…,(rn,ρn),如果所以的签名都是合法的,计算群组加密密钥

解密密钥提取:每个用户Ui验证的消息-签名对(rj,ρj)(1≤j≤n, j≠i),如果检验通过,计算他的解密密钥为并且检查e(di,g)=e(fi,w)Q是否成立。如果成立,Ui接受di;否则拒绝di。

加密:对一个明文m∈{0,1}ζ,任意有公开参数和群组加密密钥的主体随机选择。

ρ∈Z*q,计算密文为c=(c1,c2,c3),其中c1=gρ,c2=wρ,c3=m⊕H3(Qρ)。

解密:一旦收到密文c=(c1,c2,c3),Ui能够解密出明文为m=c3⊕H3(e(di,c1)e( fi-1,c2))。

对这个具体协议的合谋攻击过程如下:

不失一般性,我们假设用户u´1,u´2,...,u´l(l≥2)是合谋者,他们按如下方式合谋产生一个非法解密密钥:

他们随机选择tij∈Zp*(1≤j≤l),使 得ti1+ti2…+til1-til1+1…-tl=1并计算非法的解密密钥为:

这样,我们有:

用d[i1,i2…,il1],[il1+1,il1+2…,il],能够从c=(c1,c2,c3)中将m解密,因为:

因此,合谋攻击是成功的。

在下面的定理中,证明了参加上述攻击具体协议的合谋者是不可追踪的。

定理2:参加上述攻击具体协议的合谋者是不可追踪的。

至少一个解:

3 结 语

本文采用文献[16]中对非对称群组密钥协商协议的合谋攻击方法应用到文献[10],而且严格地证明了参加攻击的叛逆者是不可追踪的。

猜你喜欢
合谋公钥非对称
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
阀控非对称缸电液伺服系统线性自抗扰控制
非对称干涉仪技术及工程实现
神奇的公钥密码
国密SM2密码算法的C语言实现
P2X7 receptor antagonism in amyotrophic lateral sclerosis
注册会计师与被审计单位合谋行为的治理
注册会计师与被审计对象合谋的成因探析
非对称换向阀在液压缸传动系统中的应用
“非对称作战”的提出及其启示