摘要:本文基于双线性对,结合多级代理签名和盲签名的特点,提出一种基于证书的多级代理盲签名方案,可以解决多业务,广地域的不需知道原始签名消息的代理签名。
关键字:双线性对,多级代理签名,盲签名,kerberos
引言
代理签名就是原始签名人委托代理签名人代表他生成有效的签名。自1996年,Mambo,Usuda和Okamoto[1]首次提出代理签名的概念,便受到广泛的关注,国内外很多学者对其进行了深入的分析讨论和研究[2-3]等。在2000年,Lin和Jan首先提出了代理盲签名方案[2],代理盲签名结合代理签名和盲签名具有盲性这一特点,可以有效保护代理签名人所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。近年来,基于双线性对的代理签名与其他的特殊签名方案相结合,构造出一些特殊应用的代理签名方案[4-7]。本文基于双线性对,在开放的分布式环境下,应用Kerberos协议,结合多级代理签名和盲签名的特点,提出一种基于证书的多级代理盲签名方案,可以解决多业务,广地域的不需知道原始签名消息的代理签名问题。
2.多级代理盲签名方案
2.1系统初始化
给定两个安全的hash函数::{0,1}* ,: {0,1}*{0,1}l\{0l}。原始签名人为,各级代理签名人为。(0≤≤n)任意选取作为其私钥,=为对应的公钥,表示对的授权证书,包含授权的有效期,签名权限和及的身份信息等可信认证中心CA公布参数以及原始签名人。 原始签名人和各级代理签名人的公钥均要经过认证中心CA的认证。CA需要核实主体的有效性,检验是否知道各自公钥所对应的私钥。
2.1代理授权阶段
在原始签名人授权各级代理签名人或各级代理签名人之间的授权过程中,为了防止代理授权的滥用和反抵赖,基于Kerberos协议,进行授权阶段的双向认证。AS为认证服务器,可在用户登录时确认用户身份。AS与密钥分配中心KDC或可信中心CA类似,它与每个用户共享一个密钥。TGS为票据分配服务器,为用户之间的通信分配票据,使应用服务器相信TGS持有者的身份真实性。Kerberos协议具体实现授权过程如图1所示。
Si
AS
Si+1
TGS
2
1
3
4
5
6
图1Kerberos认证过程
首先,任选,计算=,并公开和
=
其次,代理用户要授权代理用户,需要进行六次协议交换,即:
(1) ->AS:(ID,IDtgs,TS1)。
(2) AS->:{ K,tgs , IDtgs, TS2, LT2, Tickettgs)}K
Tickettgs={K,tgs, ID, AD, IDtgs, TS2, LT2}Ktgs
(3) >TGS: (ID, Tickettgs,AuthentiCAtor1);
AuthentiCAtor1= {ID,AD,TS3} Ktgs。
(4) TGS->:{ K,, ID,TS4, Ticket}
Ticket={K,, ID, AD, ID, TS4, LT4}k
(5) -> :(Ticket, {ID,AD, ,TS5}k,)
(6) si+1-> :{TS5+1}K,。
K: 的私钥;k:的私钥;Ktgs:TGS的私钥;是和TGS的会话密钥;K,是与的会话密钥,{}k表示以密钥k,对括号内数据加密。
然后,收到后,准代理签名人si+1-计算:,再验证等式是否成立。如成立,则生成代理签名私钥,公钥,按上面步骤(6),返还一个确认消息,否则要求重新步骤(5)
2.2代理签名生成阶段
进行签名时,首先任选,计算,
,则对消息的代理签名为(,)。
3.3代理签名验证阶段
收到签名(,)后,验证人首先计算公式1并进而验证公式2是否成立。如成立,则接受签名,否则拒绝签名。
, 公式1
公式2
3方案分析。
3.1有效性分析
首先,验证等式是否成立
各式累加后得:=
=
=。其次,验证公式2是否成立:
证明:
=+
===
=
=证毕。
3.2安全性分析
(1)防止原始签名人伪造攻击和防止公钥替换攻击
由于CA对签名人的公钥进行了认证,在代理授权的整个过程,采用Kerberos协议,对授权双方进行了双向认证,原始签名人要想伪造一个非法的代理签名,或上级代理要想设法伪造下一级代理的签名,要求伪造人满足验证人计算公式3:来验证公式4,这样必须伪造的证书和伪造的代理签名人的公钥及盲因子得经过两个哈希函数的作用后产生一对碰撞,这几乎不可能。另外,恶意的成员也无法使用公钥替换攻击来伪造授权和代理签名。
, 公式3 , 公式4
(2)防止签名权的滥用
原始签名人和上级代理签名人都无法伪造签名,防止了签名权的授予的滥用;另外,由于授权证书被嵌入到代理签名密钥中,任何人无法修改授权证书的内容而不被发现,从而可以防止签名权的滥用。
< >不可抵赖性上离散对数困难问题,采用Kerberos协议,对授权双方进行了双向认证,把各级代理签名人的秘密密钥嵌入最终的代理签名密钥中,由于授权证书包含了代理签名人的身份信息并收到哈希函数的保护,任何人都不能获得其他代理签名人的私钥来伪造其签名,所以,签名人不能否认他所做出的代理授权和有效签名,从而解决了原始签名人和各级代理签名人之间相互抵赖的问题。
< >多级代理签名的可区分性的代理签名时必须使用其公钥,因此各级代理签名具有可区分性。
< >盲性 ,通过hash函数作用盲化。
4.结束语
本方案在方案[3]的基础上改进了盲化因子,并结合改进的Kerberos协议,对各级代理签名人,进行了双向认证,避免了可能的公钥替换和签名权的滥用;从而构建了一个不需知道原始签名消息的多级代理盲签名方案
[1]Mambo M,Usuda K,Okamoto E.proxy signatures for delegating signing operation[C]//proc 3rd ACM Conference on Computer and Communications Security[S1]:ACM press,1996:48-57
[2]Hn WD,JanJK.a security personal learning tools sing a proxy blind signature scheme[c]//Proceedings of International conference on Chinese Language Computing.Washington:IEEE Computer Society,2000:273-277
[3] 魏春燕,张建中,基于强Diffie-Hellman假设的多级代理签名方案. 计算机工程与应用 2008,44(29)105-107
[4] 胡江红,张建中,新的基于双线性对的多级强代理盲签名方案. 计算机工程与应用 2007(43):123-125