|
[摘要] 针对电子商务领域的安全问题,利用基于身份的密码体制,提出了一种高效的数字签名算法。这种算法可以解决代理签名的问题,而且具有签名长度短、系统开销小、安全程度高等特点。
[关键词] 数字签名 代理签名 可公开验证
一、引言
随着网络技术的发展,全球经济一体化进程的加快,电子商务在世界范围内日渐得到普及和应用。但与此同时,交易的风险性和不确定性也大大增加,安全问题已经成为电子商务发展的瓶颈。近几年来,由于数字签名技术的广泛运用,电子商务系的统安全性得到了较好的保证。
然而,在现代商务活动中,我们常常会遇到一些需要把某些权力转交给特定的代理人,人代理人代为行使这些权利。比如,又一个单位的董事长需要出国考察,在考察期间,为了不耽误公司的正常工作,董事长可以委托一个特定的人员代为行使董事长的权力。为此,基于身份的密码体制就成为解决问题的关键。基于身份的密码学是由Shamir于1984年提出的。其主要观点是,系统中不需要证书,可以使用用户的标识如姓名、IP地址、电子邮件地址等作为公钥。用户的私钥通过一个被称作私钥生成器PKG(Private key generator)的可信任第三方进行计算得到。基于身份的密码系统的主要好处是可以减少证书存储和管理开销。
1996年Mambo、Usuda和Okamoto中给出了解决上述事例的方法,首先提出了代理签名的概念,并提出了一个简单的代理签名方案。代理签名是指原始签名者可以将其签名权力授权给代理签名者,然后代理签名者就可以代表原始签名者进行签名,当验证者验证一个代理签名时,需要同时验证签名和原始签名者的授权协议。然而,代理签名者代理原始签名者行使代理权时,其签名可以被任何第三方进行验证。在某些情况下,并不希望任何人都能验证代理签名,而只有指定的验证人才能验证代理签名。这在实际中是需要的,如电子商务中的电子投标,电子投票等。
文献介绍了其他的几种代理签名方案,但是这些方案在安全性方面都不同的有缺陷。1996年,Jakobsson等介绍了一个新的原语——指定验证者签名,指定验证者签名是指一个原始签名者可以使指定验证者相信他的申明是正确的,实现了只有指定验证者才能验证原始签名者的签名的特性,原因是指定验证者可以生成与原始签名者不可区分的签名,该签名虽然外人不能区分,是由原始签名者还是指定验证者所生成的,但却可以验证,并可以确定是他们二者之一所生成。文献中Jakobsson等人也首次提出了一种强指定验证者签名方案的概念,强指定验证者签名是指只有指定验证者可以验证原始签名者的签名的有效性,但是他对签名的验证不能使第三方相信此签名是由谁生成的,因为强指定验证者能模拟原始签名者生成一个相同的副本,而且只有强指定验证者可以验证签名。后来Saeednia,Vergnaud和Laguil-laumie给出其形式化的定义,并进一步的加以延伸。如何将强指定验证的特性引入到代理签名体制中,值得深入的研究。
2004年,Li和Chen提出了一个基于身份的代理签密方案,但是文献证明文献[7]中的方案不具有强不可伪造和前向安全的性质。在本文中,通过结合代理签名的思想,提出了一个验证代理签名的方案。该方案实现了代理签名只能被指定验证人才能验证的特性,还具有签名长度短和计算开销小的优点。
二、双线性配对和GDH群
下面描述一些常用的与双线性映射有关的数学问题。
定义1(双线性配对)设G1是阶为q的循环加法群,G2是阶为q的循环乘法群,q是一个大素数,双线性配对是一个映射e:G1×G1→G2,满足:
(1)双线性:对任意的P,Q∈G1,对任意a,b∈Zq,有e(aP,bQ)=e(P,Q)ab。
(2)非退化性:存在P,Q∈G1,使得e(P,Q)≠1。
(3)可计算性:对所有P,Q∈G1,则e(P,Q)是实际可计算的。
定义2(GDH群)如果对于一个群G,求解其上的CDH问题是困难的,而其上的DDH问题是多项式时间可解的,则称群G为GDH群。具体描述如下:
DLP(Discrete Logarithm Problem):已知两个群元素P、Q,找一整数n使得Q=nP立。
DDHP(Decision Diffie-Hellman Problem):对于a,b,c∈RZq*,P∈G1,已知P、aP、bP、cP,判断c=ab mod q是否成立。
CDHP(Computational Diffie-Hellman Problem):对于a,b∈RZq*,P∈G1,已知P、aP、bP,计算abP。
GDHP(Gap Diffie-Hellman Problem):如果在群G1上,DDHP容易但CDHP困难,则G1被称为GDH群。
三、一种基于身份代理认证的数字签名方案
本文构造了一个新的基于身份代理认证的不可否认数字签名方案。该方案是为适应电子商务领域中签名长度短、系统开销小、安全程度高等特点而设计的,方案过程如下:
1.系统初始化
给定安全参数k,PKG选择阶为素数q的群G1、G2,群G1的生成元P,双线性映射e:G1×G1→G2。定义密码学上安全的hash函数:H:{0,1}*→Zq*,H1:{0,1}*→G1,H2:G2→{0,1}n,H3:{0,1}n×G2→Zq*。然后,PKG选择主密钥s∈RZq*,计算Ppub=sP,选择安全的对称加密算法(E,D)(对应的明文、密文、密钥长度均为n)。最后,PKG保密s,并公开系统参数:{G1,G2,n,q,e,P,Ppub,H,H1,H2,H3,E,D}。
四、方案安全性分析
结论1所提方案是一个可公开验证的代理签名方案。
分析:在该方案中,对于消息m,任何第三方可通过(mw,c,r,S)首先恢复出k1′,然后验证r=H3(c,k1′)是否成立来检验密文的来源和合法性。
结论2所提方案具有不可伪造性。
分析:在代理签名方案中,在原始签名者对代理签名者进行授权阶段,原始签名者用签名方案对授权信息进行签名,由签名的不可伪造性可知,任何人不能伪造原始签名者对授权信息的签名。在代理签名阶段,除PKG和指定验证者之外,任何没有代理签名密钥的人不可能对消息m伪造一个有效的指定验证者代理签名。攻击者要想得到代理签名者的私钥,必须获得SB=sQB,这需要知道s,而从Ppub=sP求解s相当于求解离散对数问题。因此,方案在离散对数困难问题假设下具有不可伪造性。 |
|