0 引 言
在全球电子商务快速发展的今天,数字签名有着广泛的应用前景。数字签名一般包括普通数字签名和特殊数字签名两类,而特殊数字签名则有多重签名、代理签名、盲签名、门限签名、具有消息恢复功能的签名和群签名等的区分[1],而且与具体的应用环境密切相关。其中的群签名在签名中涉及的用户数量较大,同时设计上也较为复杂,目前的方案整体而言都是基于离散对数或者知识签名的,最终签名均显冗长,这就使得造成了运算量大,效率降低,各种算法只是理论上可行,但却很难应用到实际当中,因此,只有提高群签名的效率,才能使其得到现实的有效应用。
在安全性等同的情况下,基于ECC的数字签名密钥长度明显减短,例如:密钥长度为160bit的安全性即等同于1 024bit的RSA安全性。短密钥所需要的网络带宽和存储容量都非常小,而这些因素却将直接影响群签名的高效性和安全性,而且与基于大整数因子分解的RSA密码体系和离散对数问题密码体系相比较,椭圆曲线密码系统可供选择的曲线资源也更为丰富,就是在同一个有限域上呈现有大量不同的椭圆曲线,这种多样性增加了选择曲线的随机性,从而增强了密码系统的安全性,同时也使得软、硬件设计与实现更加灵活比便捷。综合以上分析,ECC已经成为公钥密码学未来的发展标准。本文正是基于椭圆曲线密码体制的以上优势,并使用全新的SHA-3杂凑函数,设计完成了一种群签名方案。
1 相关知识
1.1数字签名
数字签名方案一般包括两个部分,分别是带有陷门的公开签名算法和验证算法。具体地,公开签名算法使用由密钥控制的函数,对于消息进行签名:,这里算法是公开的,密钥是保密的,只有知道密钥才能进行签名,由此实现了防伪。同时,验证算法也是公开的,通过来进行验证签名[2]。
数字签名的定义是:对明文空间,签名空间,密钥空间则有映射:
1.2 群签名
群签名是1991年由 Chanum和Heyst提出来的[3],所谓群签名就是群中的每位成员都可以代表该群组进行签名,而签名者的身份将受到匿名保护,如果发生意外纠纷,签名者的身份通过管理员或者第三者就可以恢复出来。分析可见,群签名即具有如下特性[4]:
(1)只有群中成员才能够代表群体签名;
(2)签名接收者可以验证该签名是否属于某群体;
(3)签名接收者虽然可以验证签名的真假,却无法确认签名者的具体身份;
(4)出现争议,可由群中成员或者第三方进行签名者身份识别。
1.3 椭圆曲线签名算法
1985年,Koblitz[5]和Miller提出将椭圆曲线用于密码算法,分别利用有限域上椭圆曲线上的点构成的群实现了离散对数密码算法。相对于RSA等其它公钥密码体制,椭圆曲线密码体制有着独特的优势,椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm, ECDSA)比RSA、DSA等数字签名的产生与认证速度更快。在此,椭圆曲线数字签名过程如下[4]。
1.4 SHA-3
Hash函数在密码学领域占据极其重要的位置,可是,近年来对传统Hash 函数如MD4、MD5、SHA0、SHA1和SHA2等的成功攻击,使得人们开始质疑这些在密码学上发挥着主要作用的算法安全性。为此, NIST分别举行了两届密码Hash 研讨会,并于2007年正式宣布在全球范围内征集新的下一代Hash算法,新的Hash算法即可命名为SHA-3,并且将其作为新的安全Hash标准,进而增强现有的FIPS 180-2标准。2012年10月2日,Keccak成为NIST竞赛的最终胜利者, 随即将其定名为SHA-3。Keccak与SHA-2在设计上存在极大差别,所有适于SHA-2的攻击方法均将不能作用于Keccak[6]。
2 研究现状
群签名的概念最先由Chaum和Van.Heyst[3]在1991年欧密会议上提出。迄今为止,群签名的发展历经了四个重要阶段,现给出概略分析如下:
第一阶段为1999年之前,主要是对群签名方案初步探索,推动方案的数学实现,J.Camenisch等人在文献[7-8]即对群签名进行了深入的研究,取得了重大的进展,其中注重利用知识证明构造实际有效的群签名方案,有效地推广了群签名在电子商务中的实用型应用。
第二阶段为 1999年-2002年,Ateniese等人在文献[9]中提出了著名的能够抵抗联合攻击的ACJT群签名方案,这也是一种符合非形式化安全要求的体制。
第三阶段为2002年-2005年,Bellare等人在文献[10]和[11]中针对群签名的形式化安全定义进行了研究,并为群签名方案安全性研究和分析指明了方向; Boneh等人则在文献[12]中提出了短群签名方案的形式化安全证明,这种方案效率极高。
第四阶段为2006年之后,在标准模型下可证明安全性的群签名方案相继获得提出[13-15]。
可以说,群签名的发展与公钥密码学技术的研究是密切相关的,随着群签名成员数量的增多,使得群签名的复杂性和可证安全性变得非常困难,迫使密码学研究者们必需去寻求更为高效、合理的数学算法,椭圆曲线密码算法正好适应这种要求。
3 签名方案设计
3.1 初始化
选择一条安全性较高的椭圆曲线, 且满足。代表椭圆曲线上的点数,这里,是一个素基点,。群管理者(Group manager,)随机选择数为私钥,且计算得到公钥:,其后将公开参数。
3.2群成员添加
如果用户要加入签名群组中,那么就必需随机地选择私钥,并计算出自已的公钥:,同时用公钥加密,再发送给群成员管理者,则用自身私钥解密,且随机选择,进一步执行如下计算:
使用的公钥对上述结果进行加密运算,并发送给群签名加入者,即对保存记录,如果后面发生争执,则可进行验证。用户收到发送的消息M后,将使用私钥解密,再验证下面等式是否成立:。如果成立,则为群签名的证明书,即用户加入群成员。
3.3 签名过程
假设为群中成员,且要对消息M进行签名,即需要对自己的签名证书进行盲化,因为群签名具有匿名性,也就是不希望由外界探知。有鉴于此,若要对消息签名,具体实现步骤可作如下递推:
3.4 签名验证
如果上式成立,则群签名有效。
3.5争执裁决
假如发生争执,需要裁决,群管理者就要打开群签名信息,由于先前保存了群中每位签名者的证书,因此,只要找出
满足的即能找出签名者。
4 方案分析
由于椭圆曲线密码体制建立在离散对数难解问题(Elliptic Curve Discrete Logarithm Problem ,ECDLP)之上,且椭圆曲线种类丰富多样,为此,这种基于ECC的群签名方案是非常安全的,详细过程分析如下。
4.1具有不可伪造性
假如群中其它成员想伪造对消息进行群签名,那么就必须获取的用户证明书,由于的证明书是群管理者前期使用的公钥加密后再发送给本人的,这就使得群中其它成员无由获得。即便伪造者掌握了的证明书,但签名却必须符合等式,且由于,其中的则是随机选择的,因而伪造者势将无法猜测。攻击者即或想从上面的运算式推导出相应参数,也就是求解椭圆曲线上的离散对数问题,而这几乎是不可能的数学难题。
4.2具有不可链接性
群中签名成员每次签名时,都要选择随机两个数,因此,相同群签名成员重复签名亦不具有可链接性。攻击者想通过求解如上几个方程而得到,也是不可能的,因为要取得,并且能够解答椭圆曲线离散对数问题才具实现可能,但就目前的技术水平而言,却根本不可能达到。
4.3具有匿名性
群中任一成员群签名时,都要随机选择,而由上述方程可知,均为经过这两个随机数盲化产生的,而外界对于却无从得知,因此本签名方案具有匿名性。
4.4具有可跟踪性
如果发生争执,需要打开群签名,揭示签名者的真实身份,由上面证书生成过程可知,在生成群成员证明书时,已经保存了签名者的身份信息,也就是具有了可跟踪功能。
4.5 具有更高指标的性能
目前,在计算复杂度上,ECC离散对数问题计算是完全指数级的,而RSA却是亚指数级的,所以ECC比RSA每一位安全性都要更高。而且ECC计算量小,处理速度快,比RSA、DSA要快上许多,同时密钥生成速度比RSA更要迅捷百倍,因此在相同条件下,ECC表现了更高的加密性能。在其它方面,ECC占用存储空间小,对带宽要求也非常低。这里,即给出ECC与常见签名算法的性能比较,具体则如表1所示。
5 结束语
群签名具有可追踪性、匿名性、复杂性和多样性等多重特点,近年来,虽然在电子拍卖、电子现金等商业活动中发挥了一定的现实作用,但要进行全面的普及推广使用,却仍有待进一步的研究和应用探索。比如:对群中成员的动态管理,使群中成员的添加和删除快速、高效、灵活。而且,在群成员数量不断增加的情况下,群签名的复杂性也随之激增,因此,下一步的研究重点即在于提高算法效率上,这时就应充分发挥椭圆曲线密码体制的深层研发优势。同时,随着电子商务活动的多样性和广泛性,传统的群签名方案已经难于适应匹配网络时代的快速变化,为此还需结合其它签名方案,开发获得适用于现代电子商务活动的多样化群签名方案。
参考文献
[1]李洪心.电子商务安全[M].大连:东北财经大学出版社,2012:68-86.