1. 引言
数字签名技术在现代社会中占有非常重要的地位,为了解决用户不想在签名者签名时泄露自己的消息内容的问题,许多隐藏消息的签名方案被提出。为解决此类问题Chaum于1982年首次提出盲签名,Chaum在文献 [1] 中并没有详细介绍具体的算法和步骤来实现盲签名,而是举了一个投票的例子来解释盲签名。盲签名不仅满足一般签名所具有的性质,还具有不可伪造性、不可追踪性、盲性。因为其性质好,盲签名一被公开就有各种类型的盲签名方案被提出,1985年Chaum给出基于RSA的盲签名体制,2007年韩春霞 [2] 等人提出一种ELGamal体制的盲签名方案,基于有限域上离散对数难解的特点设计了一种盲签名方案。为了解决签名者由于某种原因不能及时对用户进行签名的问题,Mambo于1996年首次提出的代理签名方案, Mambo,Usudu和Okamoto在文献 [3] 中提出了完整的代理签名,部分代理签名和带有权利证书的签名。代理签名也像盲签名一样要满足代理签名被广泛用于网络计算、移动代理等诸多领域,同时有许多学者提出各种各样的代理签名方案 [4] [5] [6] 。
代理盲签名是Lin和Jan [7] 于2000年首次提出的,该方案主要是结合代理签名与盲签名的优点。随着代理盲签名被用于不同的情景,不同的方案也被提出 [8] [9] [10] [11] [12] 。Tan等(2002) [13] 提出了两种分别基于DLP和ECDLP的代理盲签名方案。Lal和Awasthi (2003) [14] 指出Tan等人的代理盲签名方案由于签名接收者的不诚实而遭受一种伪造攻击。与Tan等人的方案相比,Lal和Awasthi进一步提出了一种更加有效和安全的代理盲签名方案,以克服Tan等人的方案中指出的缺点。Sun Hung-Min Sun和Bin-Tsan Hsieh [15] 表明Tan等人的方案不满足不可伪造性和不可链接性,也指出Lal和Awasthi的方案也不具有不可链接性。但是他们没有给出克服不安全感的改进方案。针对Tan等人的方案不满足四种伪造攻击和不可链接性,本文结合文献 [16] 提出了一种的代理盲签名方案,以克服其不安全性,且证明了该方案比以前的方案更安全,更有效。
2. 系统参数及相关符号
设E为有限域
上的一组点集
,E的整个加法群是由n的,坐标x和y位于有限域
且满足三次方程
,且
。
O:原始签名者;
P:代理签名者;
A:签名验证者;
C:签名请求者;
:两个大素数且
;
g:
且g的阶为q;
:一个安全的单向哈希函数;
:用户u的私钥;
:用户u的公钥,且
;
B:
,B是阶为q的基点;
:用户u的公钥,
;
:点Q的x坐标;
:
协商生成的代理签名委托证书,其中包含
的身份标识、代理签名者P的代理期限以及签名消息范围;
:A发消息给C。
3. 回顾Tan等人提出的代理盲签名方案
Tan等人在Schnorr盲签名的基础上,提出基于DLP和ECDLP的两种数字代理盲签名方案,两种方案都满足代理签名和盲签名的安全性。基于ECDLP的代理盲签名方案是在基于DLP签名方案的基础上提出的椭圆曲线模拟,在这一节我们简单回顾基于ECDLP的代理盲签名方案,同时给出关于该方案的密码分析。
现在我们从代理委托阶段、签名阶段、验证阶段三个方面简单描述Tan等人基于ECDLP的代理盲签名方案。
3.1. 代理委托阶段
步骤1:原始签名者O随机选择
,计算
,
和
(1)
(2)
(3)
O把
安全地发给代理签名者P。
步骤2:代理签名者P检查等式
,如果等式成立,P接受
,承认原始签名者O的委托签名。同时代理签名者P代理私钥
,上述过程可以用图清晰的描述,具体如图1所示。
3.2. 签名阶段
步骤1:代理签名者P随机选择数
,计算
,再把k发给签名验证者A。
步骤2:签名验证者A随机挑选盲因子
,计算:
(4)
(5)
(6)
(7)
(8)
A把
发给P。
步骤3:P计算
(9)
P把
再发给A。
步骤4:A计算
(10)
从而关于消息m签名是
,具体的过程如图2所示。
![](//html.hanspub.org/file/28-1542818x51_hanspub.png?20230403101954862)
Figure 1. Tan et al.’s agent delegation stage in the ECDLP-based scheme
图1. Tan等人基于ECDLP的方案中的代理委托阶段
![](//html.hanspub.org/file/28-1542818x52_hanspub.png?20230403101954862)
Figure 2. Tan et al. signature stage in ECDLP-based scheme
图2. Tan等人基于ECDLP的方案中的签名阶段
3.3. 验证阶段
签名验证者A公开代理盲签名
,签名接收者收到签名后,验证下面等式
(11)
若等式成立,则说明此签名是有效的;否则签名接收者拒绝接受签名。
3.4. 分析基于ECDLP的代理盲签名方案
在本节中,我们从常见的四个伪造攻击方面分析代理盲签名方案,同时也指出该方案不满足链接性。
1) 原始签名者的伪造
为了伪造一个有效的代理盲签名,原始签名者随机选择
,计算点
,
,原始签名者利用参数v伪造代理签名者的代理私钥
,这是因为由
,从而对应
的公钥为
,由
知,原始签名者利用伪造的
可验证:
(12)
由(12)式左边可知:
从而有
,因为原始签名者已构造出合适的
和
满足上面的等式,从而
就是一个有效的代理签名私钥,攻击者可以伪造一个有效的代理签名。
2) 签名接受者的伪造
由原方案知
是接受者A接收到的关于消息m的代理盲签名,假设接受者对消息
伪造出一个有效的签名
,其中
,
,
,并声称此签名为代理签名者P所签名的。若
成立,则说明该签名有效。
由等式的左边知:
则说明该方案容易受到接受者的一般攻击。
3) 一般伪造攻击
为了伪造一个有效的代理盲签名,攻击者首先为消息m选择一点R,并计算
,其次再挑选随机数s,计算
,从而签名
是该消息m的有效签名,因为
可以通过等式
。
4) 签名接收者的一般伪造攻击
a) 恶意的接受者A可以证明签名
为代理人F而不是P的签名,A协助没有被授权的F进行代理签名,具体过程如下:在签名阶段时A与P交互信息时,A计算
代替
,这样伪造并不会干扰其他方程,且A可以验证等式
,表明签名
是代理签名者F的有
效代理签名,从而证明了F参与该代理盲签名过程。
b) 若攻击者D想要取代原始签名者O的位置,只需与接受者A联合。因为A可以证明D在验证阶段代替O产生有效的代理盲签名,具体步骤如下:A首先计算
,修改验证方程为
,这样就可以保证签名组
为攻击者D代替O进行盲签名,但实际上O从未将自己的私钥
交给
D。
5) 关于不可链接性
代理签名者P为了识别已公开的消息m与盲签名之间的关系,记录每次代理签名的中间量,比如
,
和
。当签名
公开时,P计算
,
和
,
,其中
,
,以及
,最后P检查等式
。若等式成立,P知道
是与消息m相关的盲消息,从而该方
案不满足不可链接性。
4. 改进的方案
针对Tan等人提出的代理盲签名方案存在的缺陷,本文基于Lal和Awasthi [14] 的代理盲签名方案和柳菊霞 [16] 的基于离散对数的代理签名方案,通过在代理授权阶段引入委托证书改进代理签名私钥,同时去掉签名生成阶段的参数U,使得新方案可以抵抗恶意的原始签名者和接收者的四个伪造攻击,同时方案也具有不可链接性。
4.1. 代理委托阶段
步骤1:原始签名者O随机选择
,
,计算
,
和
:
(12)
(13)
(14)
O把
安全地发给代理签名者P。
步骤2:代理签名者P在收到代理信息
后,验证等式
是否成立。若成立P计算
作为代理私钥,从而代理公钥
。上述过程可
以用图清晰的描述,具体如图3所示。
4.2. 签名阶段
步骤1:代理签名者P随机选择
,
,计算
,把T签名请求者C。
步骤2:签名请求者C随机挑选盲因子
,计算:
(15)
(16)
(17)
(18)
C把
发给P。
步骤3:P收到
后计算
(19)
P把
再发给C。
步骤4:C收到
后计算
(20)
从而关于消息m的代理盲签名为
,具体的过程如图4所示。
4.3. 验证阶段
签名接收者收到签名
,通过验证等式:
(21)
若等式成立,则说明此代理盲签名是有效的;否则签名接收者拒绝接受签名。
![](//html.hanspub.org/file/28-1542818x136_hanspub.png?20230403101954862)
Figure 3. The agent delegation stage in the new scheme based on ECDLP
图3. 基于ECDLP的新方案中的代理委托阶段
![](//html.hanspub.org/file/28-1542818x137_hanspub.png?20230403101954862)
Figure 4. Signature phase in the new scheme based on ECDLP
图4. 基于ECDLP的新方案中的签名阶段
5. 新方案的分析
5.1. 正确性分析
1) 在代理验证时只有当代理信息
满足等式
,代理签名者P才承认原始签名者O的身份,从而计算代理签名私钥。
证明:等式的左边知:
等于等式的右边,则等式
成立,代理签名者P承认原始签名者O的身份,从而计算代理签名私钥
。
2) 签名接收者收到签名
后,验证等式(21),若等式成立,则该代理盲签名是有效的。
证明:要验证
等价于验证
,从而有
从而有
。
5.2. 安全性分析
1) 抵抗原始签名者伪造的攻击
针对Tan等人的原始签名者伪造攻击,新方案的代理私钥加入签名授权证书
,即
。当
与
被公开进行签名时,攻击者无法再次重新计算
,因为伪造的签名公钥
,不能用于验证代理签名。同时也有原始签名者O想伪造消息
的有效签名
就必须有一个代理私钥
且有
,攻击者O从等式
入手,即从下列等式分析:
则上式变为
入手,从而可得
,因为O不知道随机数b且也不知道
,则原始签名者不能伪造
出有效的签名。
2) 抵抗接收者的伪造攻击
由前面分析知接收者想伪造消息
签名
,其中
,想要此攻击成立必须有
。等式左边为:
则可得
,有
。因为
,所以上式不成立,该攻击也不成立。
3) 抵抗一般伪造攻击
这里为克服一般伪造攻击,对U进行删除,从而攻击者无法任找一点R就可以计算出
,因为s中含有代理私钥
,由于
中引入授权证书
,从而这种攻击是不成立的。且针对签名接收者的一般攻击伪造也不能成功,因为可以伪造的U被删除了,该方案对这种类型的伪造是安全的。
4) 具有不可链接性
针对Tan等人的方案中不满足不可链接性,我们通过在签名阶段引入签名请求者C的私钥
求代理签名
,即使代理签名者P保留每次签名消息也无法从
中获取盲因子a,假设P在等式
中得到b,但是由于不知道a也无法从
得到L,从而该方案具有不可链接性。
5.3. 效率分析
在本部分中将计算新提出的方案与Tan等人的方案的计算效率,设M,A和S分别表示求模乘,模加和模减的计算量,用下列的表展示我们的方案与Tan等人的比较,如表1所示。
![](Images/Table_Tmp.jpg)
Table 1. Total calculated amount of the newly proposed scheme and the scheme of Tan et al.
表1. 新提出的方案与Tan等人的方案的计算总量
我们的方案中的每个阶段都有比较少的计算量,除了代理委托阶段它比Tan等人的方案多了2个模乘和1个模加,可以在签名阶段把这部分多出的计算量折中减少了,在某些应用中,代理签名者被委托一次但签名和验证却是多次的,在这种情况下,提议的方案的效率会随着签名和验证次数增加而增加。此外,提议方案的总量为
,而Tan等人的方案的计算总量为
,因此,新的方案的计算效率更高。
6. 结语
在本文中我们回顾了Tan等人的方案的基于ECDLP的代理盲签名方案,指出基于ECDLP的方案容易受到多种攻击,且不满足不可链接性。在基于已有的代理盲签名方案中,通过改进代理私钥,在签名阶段引入签名请求者的私钥,提出一种新的基于ECDLP的代理盲签名方案,通过分析发现新方案是正确的,可以抵抗原始签名者和接收者伪造的攻击及抵抗一般伪造攻击,具有不可链接性。比较新方案与Tan等人的方案的计算总量,发现新方案的计算总量低于Tan等人的方案,进一步说明该方案的计算效率高。
致谢
感谢导师范老师对本文在创作过程中提供的帮助与指导。
基金项目
安徽理工大学2022年研究生创新基金立项建设项目(2022CX2134)。