具有指定验证者和消息恢复的代理多重盲签名方案
2014-03-13袁芳芳
袁芳芳
(太原学院)
0 引言
现实生活中的许多事情都需要当事人在文件上用印章、手写签名或者指纹来证明作者的身份或表明至少同意文件的内容.在电子化的信息世界里,信息在传输的过程中存在被伪造、抵赖和篡改的风险,因此学者们由公钥密码提出了数字签名的概念.由于数字签名可以很好地解决数据传输过程中的安全隐私问题,因此它在网络信息安全中有着非常重要的应用,也是信息安全的核心技术之一.
基于身份的数字签名是由Shamir在1984年提出的.在一个基于身份的签名系统中,用户的私钥由一个可以让用户本人信任的第三方(也就是一般被称为私钥生成器的PKG)计算得到.用用户的标识,如用户的姓名、用户的IP地址或者他的电子邮件名称等来表示公钥.
为了解决数字签名中的签名权利的委托问题,Mambo等人在1996年首次提出了代理签名的概念.它是在原始签名人由于种种原因无法进行签名时,把自己的签名权利委托给一个或者多个可以依靠能够信任的代理签名人,然后由这个可以让原始的签名人完全信任的代理签名人完成签名.由于代理签名在很多的方面都有着很广泛的应用,因此在它的概念提出后,国内外的很多学者就对其展开了很深入和透彻的研究和讨论,并提出了很多的代替原始签名者签名的方案.为满足不同的特殊的需要,很多学者还提出了一些其他的形式的代理签名方案,他们使用代理签名和其他形式的签名方案相结合的方式,例如代理盲签名方案,代理多重签名方案[1]等.代理多重签名是指由代理签名人代表多个原始签名者行使签名,它是代理签名的一种扩展形式.
1983年Chanm提出了盲签名的概念,这类签名可以用来在电子投票、电子现金等应用中为用户提供匿名性.1994年Nyberg和RuePpel提出了一种有恢复消息的签名方案,这种方案能够直接从用户签名中恢复出来.
目前,基于身份的具有消息恢复的盲签名[2]和指定验证者签名代理多重盲签名方案[3]已经被提出.但是,目前未见有基于身份的具有指定验证者和消息恢复的代理多重盲签名方案的构造.
给出一种具备了身份的具有原始人指定的验证者和消息恢复的代理多重盲签名方案的构造及方案的正确性和安全性分析.分析表明,新的方案能满足代理多重盲签名方案要求的所有性质,并且新方案还具有指定验证者和消息恢复的功能.
1 基本知识
1.1 双线性映射
设G1是一个由p产生的循环加法群,G2是一个循环乘法群,G1、G2的阶均为素数q.设e:G1× G2→G2为一个双线性映射.假定在G1,G2上的离散对数问题(DLP问题)都是困难的,则双线性映射满足以下性质.
(1)非退化性:存在P,Q∈G1使得e(P,Q)≠1.
(2)可计算性:对于P,Q∈G1存在一个高效的算法计算e(P,Q).
(3)双线性:对任意的对所有的P,Q∈G1和所有的a,b∈Zq都有,e(aP,bQ)=e(P,Q)ab.
1.2 依赖的困难性问题
(1)计算Diffie-Hellman问题(CDHP):对a,b∈Zq,给定(P,aP,bP),计算abP.
(2)离散对数问题(DLP):给定P,Q∈G1,求n∈Zq,使得P=nQ.
(3)双线性对求逆问题:已知a=e(P,Q),给定P∈G1,求Q∈G1.
1.3 指定验证者和消息恢复的代理多重盲签名方案的定义和安全性条件
定义1 一个由原始人指定的验证者消息恢复的代理多重盲签名方案由初始化、密钥的生成、签名的生成、验证算法的组成.
初始化算法:这个算法的输入是一个安全的参数,算法的输出是系统的主密钥和公共参数.
秘钥生成算法:输入为用户的身份,输出为用户的公私钥对.
签名生成算法:该算法分为两个阶段.第一阶段该算法的输入是制定的代理签名人的私钥和将要签名的消息,输出为对消息的代理多重盲签名,生成的是代理多重盲签名的过程.第二个阶段该算法的输入是指定验证者的私钥和代理多重盲签名,输出为指定验证者代理多重盲签名过程,生成指定验证者代理多重盲签名过程.
验证算法:输入为被指定的验证者代理多重盲签名以及被签名的消息,在签名有效时该算法的输出为 ture,签名无效时该算法的输出为false.
如果满足以下安全性条件,那么这个指定的验证者的消息恢复的代理多重盲签名方案就是安全的.
(1)指定不可否认性:原始签名者一旦指定了验证人员后就不能够更改和否认.
(2)盲性:接收者获得代理人的签名后,签名人既不知道是什么消息,也不知道签名是什么结果.
(3)限制验证性:签名的有效性只能够被原始人指定的验证人才能够验证.
(4)不可伪造性:只有代理多重签名者能够生成有效的代理多重签名,而其他任何人(包括原始的签名人)都不能指定为有效的代理多重签名的人员.
(5)可验证性:由生成的代理多重签名的验证者能够确定该签名是不是经过了原始的签名人的同意.
(6)身份识别性:代理多重签名者的身份能够从代理多重签名中确定.
2 方案设计
2.1 初始化过程
PKG先选择q、G1、G2、e其含义与1.1节中相同.然后,选择P∈G1作为G1的生成元,定义三个哈希函数H1:{0,1}*→G1,H2:G2→{0,1}l, H:{0,1}l→,其中l是系数安全参数.然后PGC选择s∈R,计算Ppub=sP,则系统的秘钥为s,公共参数:params={G1,G2,e,q,P,Ppub,H1,H2,H}
2.2 密钥 /公钥提取过程
设IDAi表示签名人Ai(i=1,2,…,m)的身份信息,其相应的公钥 /密钥对为 PKAi= H1(IDAi),SKAi=sPKAii=1,2,…,m;代理多重签名者B的身份表示为IDB,其相应的公钥 /密钥对为PKB=H1(IDB),SKAi=sPKB;指定验证者DV的身份表示为IDDV,其相应的公钥 /密钥对为PKDV=H1(IDDV),SKDV=sPKDV.私钥由PKG为每个成员产生并安全地发送给Ai(i=1,2,…,m),B,DV.
2.3 代理多重盲签名过程
(1)Ai分别选择,计算KA'i= e(P,Ppub)xi.
(2)每个Ai将KA'i发送给接收人B,B收到后选择m∈{0,1}*作为消息,为盲因子,计算
(3)然后B将hi'分别发送给Ai,Ai收到hi'后分别计算:,
Ai将Si'发送给B.B首先检验下面m个等式是否成立:
若等式成立则计算:
{K,S}为具有消息恢复的代理多重盲签名方案.
2.4 指定验证者代理多重盲签名过程
B进行如下运算产生一个指定验证者代理多重盲签名:
(2)分别计算 r=e(Ppub,PKDV)k,v= H2(M,r),Sp=t-1KPpub-vS.
(3)最后B以{SP,v,r,M}作为消息的指定验证者的代理多重盲签名.
2.5 验证过程
在收到签名{SP,v,r,M}之后,签名的有效性由指定验证者通过验证如下等式来确认:
3 方案分析
3.1 可验证性
定理1 B检验m个等式e(Si',P)= e(PKAi,Ppub)h'iH1(P)的合理性.
证明 e(PKAi,Ppub)h'iH1(P)= e(hi'H1(P)SKAi,hi'H1(P)P)=e(Si',P)
定理2 指定验证者验证H2(M,v的合理性.
3.2 不可伪造性
定理3 该方案是不可伪造的.
证明 (1)由于PKG计算并保存主密钥s,而由公钥Ppub=SP计算出s相当于破解DLP问题.
(2)该方案的构造基于Hess的基于身份的签名,而Hess的基于身份的签名对伪造攻击在随机预言机模型下是安全的,如果敌手没有签名人的密钥 ,但是敌手可以成功伪造 的有效签名,则说明敌手可以攻破Hess的基于身份的签名.
所以方案具有不可伪造性.
3.3 指定不可否认性
由于原始签名人不能否认他指定了由哪一位是验证者.所以在验证的过程中需要用到原始签名人的公钥PKAi.
3.4 限制验证性
因为需要验证者的私钥在验证的过程中才能继续,所以只有被原始签名人指定的验证者才可以确定签名是不是有效的.指定验证者可以随机选取t,k',并计算:
来模拟生成一个满足验证等式并且与原始签名者不可区分的的签名副本σ(M')=(S',v',w',M',t').
σ(M')=(S',v',w',M',t')满足:
因此,除了被指定的验证者外,任何其他的人(第三方)都不能验证这个签名的有效性.方案是具有限制验证性.
4 结束语
构造了一个具有指定验证者的和消息恢复的代理者的基于身份的多重盲签名方案并对方案的正确性和是否安全进行了分析.分析表明,构造的方案满足指定验证者和消息恢复的代理多重盲签名方案的安全性条件.同时,改变了现有方案功能单一的缺点,具有更广泛的用途.
[1] 祁明,Harn L.基于离散对数的若干新型代理签名方案[J].电子学报,2000,28(11):114-115.
[2] 张学军.高效的基于身份具有消息恢复的盲签名[J].计算机工程与应用,2008,44(32):19-22.
[3] 王向阳,赵茂泽.基于身份的指定验证者代理多重签名方案[J].杭州电子科技大学学报,2008,28(6):41-44.