4.4 撤销我们拓展方案I来支持具有后向无关的追溯的撤销。让h成为一个序列n循环
群的生成元,DDH问题是困难的。当群成员U在i使用它的群签名密钥(cu,j, eu, xu)签署消息,除了基本的Sign步骤外,U也作如下:他随机性选择r∈Zn并计算g2=hr,C=g2cu,j,并显示(reveals)(g2,C),我们称他为撤销token。U通过知识签名证明g2和C是正确的构成。当用户V从时间段i开始被从群剔除时,cv,i和i将被显示在撤销列表中。假设验证方有时间段j的签名,j≥i并且撤销token在签名中是(g’2,C’)。为了看是否签名密钥已经被剔除,验证方简单地计算cv,j并检查是否
。如果他们相等,意思是签名被撤销。更细一步,对于U
在j签署消息m,协议将如下:
第一个协议PK是与我们原来的前向安全性群签名方案相同的。第二个PK2是
一个新的零知识证明协议,我们在附录B构建并解释其细节。
这个方案清楚的支持公共地撤销群成员资格。然而,后向无关性依靠一个新
的加密假设,我们叫做log-square假设:n是两个安全素数产生的,如方案I。G是一个序列n的循环群,DDH问题是困难的,并且g2是G的生成元。给定随机的v∈RQRn,并且w=g2u∈RG,对攻击者,在没有知道n的情况下决定v=u2 mod n是很难的。在这个假设下,很容易看出我们的方案支持后向无关性。密码学假设减少到不是因子分解就是离散对数问题。我们猜测这个问题是难以解决的,尽管研究这个问题仍需要完成很多研究。
5. 前向安全群签名II
Setup 步骤:Setup步骤几乎与方案I一样。除了方案I的Setup之外,让Λi表
示整数间隔
。GM也详述一个确定性单向方法使得给定一个随机的素数eu,i∈Λi,一个可以产生一序列素数eu,i,…,eu,T,eu,j∈Λj,for i≤j≤T。给定只有eu,i对于某个i≤j≤T,后向计算是很难的,也就是eu,k,for k<j。
直观.这个前向安全群签名与方案I的在section 4是相似的,除了它使用不同的单向函数来evolve群签名密钥。当用户U加入群,与方案I相似,他和GM一起随机选择xu∈Г使得U知道xu并且GM只知道
0
。GM之后随机选择一个素数eu,
∈Λi,0≤i≤T。
Join步骤:加入步骤与方案I相似出咯额第三步。在第三步,GM随机地选择一
个素数eu,0∈Λ0,然后产生一个序列的素数eu,i∈Λi,0≤i≤T。
Evolve步骤:
Sign和Verify步骤:假设U在j有群签名密钥(cu,j, eu,j, xu)。为了在j签
署消息m,他首先选择r1∈R{0,1}2ln,
一个验证方简单的检查上面知识签名的正确性。
5.2 安全性分析
我们show方案II是一个安全的群签名方案并满足强前向安全性。我们陈述我们的定理并给读者附录A用于细节证明。
5.3 时限群成员身份
使用方案II,我们实际上能正确的支持群成员身份for 时间段的子群with几
乎没有开支。例如,当用户U加入群,如果GM只想在时间段t1,…,tm签发U群成员身份正确,之后在第三部,代替计算bu作为整个序列eu,0,…,eu,T,GM计算
mod n。如此
U可以只在时间段t1,…,tm代表群签名,没有额外的开支在秘密存储和计算时间相比于方案II的基础。
5.4 撤销
方案II的撤销很简单。当用户U使用自己的群成员身份(xu, eu,i, cu,i)签
名,除了在方案II基本的Sign步骤,他也做下面的:随机产生一个元素g3∈QRn并展示g3和
,并用零知识证明D是正确构成的。我们叫(g3,D)签
名的撤销token。更细一点Sign步骤如下:
现在如果GM想从时间段i撤销U的签名,他简单地显示eu,i和i。如果用户V在j≥i获得签名并且签名的撤销token是(g’,D’),为检查是否签名被撤销,(也就是他是U签署的)V从eu,i计算eu,j并简单的检查是否D’=(g’)eu,j。如果他们相等,它意味着签名被撤销,因为他是在时间段i由U签署的。
这个撤销方案支持回溯公开的撤销。很容易看到所有由其他成员签署的签名
保持匿名性和无关性。。这个方案对于撤销的成员也支持后向无关性在DDH假设是困难的,因为不知道这个指数,给定在两个签名里的(g’,D’)和(g’’,D’’)两个撤销的token,如果一个能tell是否决DDH问题。
而且,withO(logT)存储开支,我们拓展方案II来允许时限撤销,也就是
之后他能解
只在某些时间段撤销群成员的签名。基本思想是代替产生序列eu,0,…,eu,T使用一个单向树。序列eu,0,…,eu,T构成自上而下的单向树的叶子节点。知道根,one能产生整个树;并且知道一个间隔节点,one能产生整个子树,但不是任何其他在这个书上的节点。如此,当GM只想在时间段t1撤销群成员U的签名,他reveals间隔节点作为子树的根that覆盖时间段从t1到t2.如此,任何用户可以计算eu,i,for t1≤i≤t2并且之后能检查是否签名被撤销。
6. 讨论
我们的两个安全群签名方案都是基于[3]提出的群签名方案并且使用单向函
数用作演变群签名密钥来实现前向安全性。这两个方案有不同的性能和安全权衡策略。方案I由有效的Evolve步骤(仅仅需要一个平方),尽管签名和验证效率较低(需要O(T)平方)。方案II由高效的签名和验证步骤并且没有额外的管理费用相比[3]中的非前向安全群签名方案。但是方案II在Evolve步骤中效率很低(需要O(T)exponentiations 取幂),尽管相似的技术在[24]能被用来减少开销with 存储空间权衡。方案II也能比方案I实现更灵活的时限的群成员身份。方
案II支持强前向安全,and 方案I只能证明满足弱前向安全性。方案II相比方案I有更高效的撤销机制并且不需要新的为保证安全的密码学假设,而方案I需要一个新的具有后向安全性的用于撤销的假设。注意到两个方案也都满足一个有趣的性质,即使攻击者在时间段i learns (学习获得)群成员U的群签名密钥,他仍不能确定那个签名是U在时间段i产生的,也就是U的签名在时间段i依旧保持匿名性和无关性。
7. 结论
本文,我们提出我们的前向安全群签名方案。我们的方案满足前向安全性的同时也满足先前传统的群签名方案的安全特性。我们的方案在群成员数量的性和签名长度的性和群密钥在群公钥生命周期期间于时间段的数量上都是有效的。而且我们扩展我们的方案来提供第一个解决方法使得回溯公开的撤销的群成员身份具有后向无关性并且签名长度于撤销成员数量。
我们的方法阐明前向安全性是一个对群签名方案特别重要的性质。不仅因为签名密钥的泄露的危险会随着群大小的增长而增加,而且因为前向安全帮助使其他所期望的安全特性处于一个小的额外开支中,比如时限群成员和回溯撤销。我们前向安全的群签名方案也有一个附带的好处,及时攻击者在时间段i learns(学到获得)群成员U的群签名密钥,他仍然不能确定那个签名是由U在时间段i产生的,也就是在时间段i,所有U的签名都保持匿名性和无关性。
致谢
我们想要感谢Giuseppe Ateniese和Gene Tsudik关于他们对第5部分(特别是5.4)很有帮助的讨论和贡献。我们想要感谢匿名的评论者关于他们有帮助的反馈,Doug Tygar 和 Adrian Perrig 对于他们关于本文的鼓励和帮助。