一种高效的代理多重盲签名方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
—130
— 一种高效的代理多重盲签名方案
胡振鹏,钱海峰,李志斌
(华东师范大学计算机科学技术系,上海 200062)
摘 要:代理多重签名和盲签名在电子商务和电子现金系统中有着广泛的应用。结合这两种方案的特点,基于Schnorr 签名和Chaum 盲签名体制,该文提出一种高效的代理多重盲签名方案。该方案具有计算量小、效率高和安全性强等优点,且签名长度不随原始签名人的增加而增长,并能广泛应用于电子货币和电子投票等领域。 关键词:代理签名;盲签名;代理盲签名;代理多重盲签名
Efficient Proxy Blind Multi-signature Scheme
HU Zhen-peng, QIAN Hai-feng, LI Zhi-bin
(Department of Computer Science and Technology, East China Normal University, Shanghai 200062)
【Abstract 】Digital proxy multi-signature scheme and blind signature are very suitable for electronic commerce and payment. Based on the Schnorr signature and Chaum blind signature scheme, this paper presents an efficient proxy blind multi-signature scheme, which satisfies the security properties of both the blind signature scheme and the proxy multi-signature scheme. This scheme has advantages such as the low computation load,high efficiency and security, and the length of signature does not increase when the new original signers join in. It is very important in an electronic cash and electronic vote system.
【Key words 】proxy signature; blind signature; proxy blind signature; proxy blind multi-signature
计 算 机 工 程Computer Engineering 第34卷 第13期
Vol.34 No.13 2008年7月
July 2008
·安全技术·
文章编号:1000—3428(2008)13—0130—03
文献标识码:A
中图分类号:TP309.7
1 概述
1983年,文献[1]提出了第一个盲签名方案,盲签名是一种特殊的数字签名技术,除了满足一般数字签名的基本特征外,盲签名还必须满足:
(1)盲性
签名者不知道所签文件或消息的具体内容。 (2)不可追踪性
在签名被文件或消息的拥有者公布后,签名者不能追踪签名。
1996年,文献[2]提出了代理签名的概念。代理签名人代表原始签名人对消息进行代理签名。代理签名的基本方法是原始签名人对委托信息(一般是代理签名人的身份信息或其他有效的委托信息)生成一个签名,并将其秘密地交给代理签名人,代理签名人直接使用该签名作为代理私钥,或者用该签名生成一个代理私钥进行代理签名。这样,代理签名人就可以应用代理密钥通过选定的代理签名方案对消息生成代理签名。
代理签名至少需要满足以下性质: (1)不可伪造性
除了原始签名人和代理签名人之外,任何其他没有被指定为代理签名人的人都无法伪造一个代表原始签名人的代理签名。
(2)可验证性
任何验证签名的人都可以验证代理签名是否有效,并且根据有效的代理签名确认原始签名人承认被签名的文件。 代理多重签名[3]指在代理签名方案中,一个代理签名人
可以代表多个原始签名人的利益在一个文件上签字。
文献[4]将代理签名和盲签名结合,提出了代理盲签名方案,文献[5]还给出了代理盲签名方案在电子货币中的应用,并介绍了利用代理盲签名方案实现电子货币的生成、发行和验证。可是在很多应用中,需要一个代理签名人能够代表多个原始签名人进行代理盲签名,例如多家上市公司委托证券交易所发行一种股票,多家银行委托货币发行部门发行一种货币等。
针对此类情况,文献[6]提出了一个代理多重盲签名方案(Lu 方案)。Lu 方案在随机预言模型下证明是安全的,但在Lu 方案中,传递代理信息时,原始签名人需要对其加密;同时,代理签名人在验证代理信息时要进行解密,因此,Lu 方案的计算量大,且最后的签名长度会随原始签名人的增加而增长。
考虑到网络中的广泛应用,本文在Schnorr 签名方案[7]和Chaum 盲签名[1]的基础上,提出了一种高效的代理多重盲签名方案,该方案具有签名长度短、计算量小、效率高和安全性强等优点。
2 代理多重盲签名方案
方案参加者包括:原始签名人A 1,A 2,…,A n ,代理签名人
作者简介:胡振鹏(1984-),男,硕士研究生,主研方向:信息安全;钱海峰,副教授;李志斌,教授、博士生导师 收稿日期:2007-09-23 E-mail :lizb@
—131—
B ,签名的接收者R 。
2.1 初始化阶段
认证中心(CA)选择大素数p 和q (满足安全要求),其中q 为p -1的大素数因子,然后选择*p g Z ∈,满足1(mod )q g p ≡。这里,p , q , g 是公开参数。()H ⋅为安全的哈希函数。
A 1,A 2,…,A n 的密钥对分别为:
111(,mod )A X A A X Y g p = 222(,mod )A X A A X Y g p =
…
(,mod )An X An An X Y g p =
其中,*Ai q X Z ∈为私钥,Y Ai 为公钥(1≤i ≤n )。
B 随机选取2个大素数p 0和q 0(满足安全要求),计算 000n p q =×
000()(1)(1)n p q φ=−×−
B 选取一个大整数e ,使得0(,())1e n φ=,B 用扩展Euclidean 算法计算d ,使得01mod ()ed n φ=,即
01mod ()d e n φ−=
0(,)e n 是B 的公钥,d 为B 的私钥,2个大素数0p 和0q 由
B 秘密保存。
本方案由CA 发布使用的公钥都经过CA 的验证。CA 发行公钥证书时,必须核实请求证书主体的有效性。当然这类的核实应该包括一些物理(非密码的)识别方法,与通常商务业务一样(如在银行开账号)。
主体也应该证明他知道要签发的公钥对应的私钥。这种证明可以以用户生成对一条询问消息签名的形式来证明,其签名可以用公钥来验证,或者以用户和CA 之间进行零知识证明的形式[8]。
2.2 代理授权阶段
A 1,A 2,…,A n 和
B 协商生成代理授权书m w , m w 主要包括A 1,A 2,…,A n 、B 的标志、B 的代理期限、代理签名文件的范围等信息。
2.2.1 代理信息生成和发送
A 1,A 2,…,A n 中有一个为签名收集者,A 1,A 2,…,A n 中任何一个都可以作为签名收集者,不妨设A j (1≤j ≤n )为签名收集者。
(1)对于A 1,A 2,…,A n 中每一个A i (1≤i ≤n )随机选择
*Ai R q k Z ∈,并计算
mod Ai k Ai r g p = (1)
i A 将r Ai 广播给A 1,A 2,…,A n 中每个人。
(2)对于每个A i (1≤i ≤n )收到r Ai (1≤i ≤n )后计算
1mod n
A Ai i r r p ==∏ (2)
(,)mod w A h H m r q = (3)
mod Ai Ai Ai S X h k q =+ (4)
A i 将S Ai 广播。
(3)签名收集者A j 收到r Ai ,S Ai ,对每一对(r Ai ,S Ai )(1≤i ≤n )验证下面等式:
mod Ai
S h
Ai Ai g
r Y p = (5)
如果式(5)成立,(r Ai , m w , S Ai )就是一个有效的子代理密钥,否则他拒绝接收这个密钥,而请求A i 重新发送一个有效
的子代理密钥,或者终止协议。
A j 确认所有(r Ai , m w , S Ai )(1≤i ≤n )都是有效的,A j 计算:
1mod n
A Ai i S S q ==∑ (6)
并向B 发送代理消息(m w , h , S A ),不需要通过安全信道,因为m w 中已明确指明B 的标志,其他任何人获得代理信息(m w , h , S A )都是没有意义的,且S Ai 是原始签名人A i 对m w 的签名,任何人都不能伪造,否则,不能通过验证式(5)。 2.2.2 代理信息确认和生成代理密钥
B 收到代理信息(m w , h , S A )后计算
1()mod A n
S h A Ai i r g Y p −==∏ (7)
验证等式
(,)mod w A h H m r q = (8)
是否成立,如果式(8)成立,则B 认为(m w , h , S A )是有效的代理
信息,并接受原始签名人A 1,A 2,…,A n 的委托,接着将自己的私钥d 作为代理私钥,e 为对应的代理公钥。
2.3 签名生成阶段
(1)签名请求者R 向代理签名者B 发出签名请求,B 将(m w , h , S A )发给R 。
(2)R 随机选择0R n r Z ∈,计算0(,)mod e w H m m r n λ=,再把
λ发给B 。
(3)B 收到λ,对λ进行签名:计算0'mod d S n λ=,把'S 发给R 。
(4)R 接收到'S ,除盲:计算0'1mod S S r n −=。 (m , (m w , h , S A ),S )就是对文件m 的代理多重盲签名。 2.4 签名验证阶段
签名验证者收到签名(m , (m w , h , S A ),S )后,验证文件m 是否满足代理授权书m w 的约定,若满足,利用式(7)计算r A ,验证等式:
(,)mod w A h H m r q = 是否成立,如果成立,则签名验证者承认B 的代理权是有效的,接着验证等式:
0(,)mod e w H m m S n = (9)
如果式(9)成立,则代理多重盲签名(m , (m w , h , S A ),S )是有效的,否则,签名无效。
3 方案分析
3.1 正确性分析
定理1 (m , (m w , h , S A ),S )是代理签名者B 使用私钥d 代表原始签名者A 1,A 2,…,A n 对文件m 的签名。
证明
000000
'1111mod ()mod ()mod (((,)))mod ((,))mod (,)mod e e d e e d e w d e w w S n S r n r n H m m r r n H m m rr n H m m n λ−−−−=== = =
由于签名满足验证式(9),因此S 是文件m 的签名。 3.2 安全性分析
3.2.1 代理签名的安全性分析
原始签名人A 1,A 2,…,A n 生成代理密钥(r Ai , m w , S Ai )时,是基于Schnorr 签名体制,任何人都不能伪造r Ai , S Ai ,文献[7]证明,Schnorr 签名方案在随机预言模型下是安全的。