多级代理签名方案分析(精选7篇)
多级代理签名方案分析 篇1
摘要:由于现有标准模型下的群代理签名方案存在多项式时间敌手伪造代理签名授权的缺陷,提出一种改进方案。在原有方案的基础上,新方案采用了变形的Paterson签名机制改进了群代理签名授权算法。采用Paterson的标准安全模型,改进的群代理签名授权算法被规约为求解CDH(Computational Diffie–Hellman)问题,具有可证明安全性。分析表明,改进方案在几乎不增加额外计算开销的情况下,实现了群代理签名不可伪造性。
关键词:基于身份密码学,群代理签名,双线性对,计算DH问题,标准模型
0引言
代理签名是原始签名者将自己的签名权限授予一个或者多个代理签名者,然后由代理签名者代表原始签名者实施签名的一种签名方案,于1996年首次提出[1]。目前,代理签名方案又分为: 单授权代理[1 - 3],即一对一授权; 多( 群) 代理签名MPS ( multi-proxy signature)[4 - 6],即一对多授权; 代理多签名[6 - 8],多对一授权; 以及多代理多签名[9,10],多对多授权四种类型。代理签名方案在电子商务、电子政务和电子投标等领域有重要的研究和应用价值。
最近,一些研究者提出几种新的多代理签名方案[4,11,12]。 其中,文献[12]中的MPS方案在随机预言模型下可证明安全, 文献[5,11]中的MPS方案在标准模型下可证明安全。随机预言模型依赖于现实世界无法实现的随机预言假设,而标准模型无需随机预言,具有更强的安全规约。
本文研究了谷科等人[11]提出的标准模型下基于身份的MPS方案( 简称Gu-IDMPS) 。分析发现该方案在第4类敌手[11]攻击下不满足不可伪造性。本文采用变形的Paterson签名[13]签署代理授权书,改进了Gu-IDMPS方案。改进方案能防止第4类敌手发起的群代理签名伪造攻击。
1背景知识
1. 1双线性映射与困难数学问题
这里简要描述双线性映射理论及存在的困难数学问题和假设,详细内容请参考文献[13]。
双线性映射: 给定大素数q,阶为q的循环群G1和G2,g是G1的一个生成元,如果e: G1× G1→G2是从G1到G2上一个有效的双线性映射,那么满足:
( 1) 双线性给定u,v∈G1和任意的a,b∈瓕q,满足e( ua,vb) = e ( u , v )ab;
( 2) 非退化性e( g,g) ≠1;
( 3) 可计算性任意的u,v∈G1,存在多项式时间算法能成功计算e( u,v) 。
CDH问题对于任意未知的整数a,b ∈瓕q,给定( g,ga, gb) ∈ G31,求解gab。
CDH假设如果不存在多项式时间算法在时间t内以至少∈的概率求解CDH问题,那么称( ∈,t) -CDH假设在G1上成立。
1. 2基于身份群代理签名模型
基于身份的群代理签名主要由: 系统建立( Setup) 、用户私钥产生( Key Gen) 、群代理签名授权( MDelegate) 、群代理签名密钥产生( MProxy Key Gen) 、群代理签名( MProxy Sign) 和群代理签名验证( MProxy Verify) 六个算法组成。
Setup算法由PKG执行产生系统公开参数并且发布。
Key Gen算法由PKG执行,输入用户ID,PKG产生与用户ID相关联的私钥,并通过安全信道发送给用户。
MDelegate算法由原始签名者执行,输入群代理者身份{ ID} 以及代理授权书,为每位代理者产生代理签名授权,并且分别发送给每位代理者。
MProxy Key Gen算法由每位代理者分别执行,首先验证所收到的代理签名授权的正确性,如果正确则继续,然后利用代理签名授权和自己的私钥产生部分代理签名密钥。
MProxy Sign算法分为两个步骤,第一步,每位代理者分别产生对消息的部分代理签名; 第二步,其中一位代理者收集其他所有代理者的部分代理签名,然后计算并输出聚合的群代理签名。
MProxy Verify算法由验证者执行,验证群代理签名的正确性。
2 Gu-IBMPS方案密码学分析与改进
2. 1 Gu-IBMPS方案描述
最近,谷科等人[11]提出一种基于身份的群代理签名方案, 并声称在标准模型下具有可证明安全性。下面简要回顾Gu- IBMPS方案,详细内容请参考文献[11]。
Setup PKG执行Setup算法,产生并发布公共参数params = { G1,G2,e,g,g1,τ',I,m',M} 。其中,e: G1× G1→G2是满足定义的双线性映射; g是G1的生成元; g1,τ',m'∈G1由PKG随机选择; I = ( τi) 和M = ( mi) 是由PKG选择的长度分别为nu和nm的向量,并且向量I和M的元素 τi和mi也是群G1上的元素。此外,存在3个抗碰撞的Hash函数H: { 0,1}*→瓕q, Hu: { 0,1}*→{ 0,1}nu和Hm: { 0,1}*→{ 0,1}nm。同时,PKG生成用户公共参数列表UPK_List用于发布注册用户生成的公共参数,初始值为空。
Key Gen提交用户身份ui, ui为长度是nu的二进制串,PKG随机选择,产生用户私钥为其中,} 表示ui中比特值等于1的位置d的集合。同时产生用户公钥参数pki= gxi。
UPK_List PKG通过安全信道发送私钥ski给用户ui,并将公钥参数pki发布到UPK_List。ui按照下列等式验证私钥ski的正确性:
MDelegate u1为原始签名者,对于每一个代理者随机选择,计算:其中, w1为授权书 。 令为uj生成代理签名授权并发送给uj。
MProxy Key Gen收到( δ1,j,1,δ1,j,2,δ1,j,3,δ1,j,4) 后,uj验证消息:
( 2) 存在一个代理者up( p∈{ 2,…,n,n + 1} ) 收集所有代理者的部分代理签名,并按照下列等式验证每个部分代理签名的正确性:
如果存在某个部分代理签名无效则拒绝代理签名,否则, 计算:
令 σ1,1,3= psk1,p,3= gr1,生成长度为n + 1的元组 σ1,3= ( σ1,j,3) ,j∈{ 1,…,n,n + 1} ; 最后,输出群代理签名( w1,pσ1= ( σ1,1, σ1,2,σ1,3,σ1,4) ) 。
MProxy Verify收到对消息m的群代理签名( w1,pσ1= ( σ1,1,σ1,2,σ1,3,σ1,4) ) ,按如下计算进行验证:
如果相等则接受群代理签名,否则拒绝。
2. 2 Gu-IBMPS方案分析
基于Boldyreva等人[2]的研究,文献[11]定义了群代理签名的敌手类型及形式化安全模型,并以此模型分析了Gu-IBMPS方案的安全性,认为该方案满足自适应敌手攻击下的不可伪造性。但是,本文分析发现,Gu-IBMPS方案在第4类敌手攻击下不满足不可伪造性。
我们首先回顾文献[11]中的第4类攻击者( 记为AIV,文献[11]第2节情况4) : “敌手控制n + 1个用户中的至多n个用户; 该n个用户伪造一个在没有获得用户u*的授权下假装用户u*授权的群代理签名”。根据描述,敌手控制了除原始签名者u*以外的所有n个代理签名者( AIV可以随意访问n个代理签名者的私钥) ,那么AIV只需要伪造一份u*的合法签名授权,就能实施伪造群代理签名。因此,AIV的核心攻击目标是伪造u*的合法代理签名授权。下面给出一个实际的攻击方案演示AIV如何伪造u*的代理签名授权。
假设攻击者AIV曾经获得一份u*针对授权书w的合法代理签名授权其中,由于AIV控制了所有n个代理签名者,因此,获得一份这样的签名授权是容易的。然后,AIV为每位代理签名者伪造u*针对授权书w'( w'为AIV伪造的授权书) 的代理签名授权,计算如下:
式中,δ1,j,1和 δ1,j,3保持不变,伪造的代理签名授权为( δ1,j,1, δ'1,j,2,δ1,j,3,δ'1,j,4) 。根据下列等式:
可见,( δ1,j,1,δ'1,j,2,δ1,j,3,δ'1,j,4) 是u*对授权书w' 的有效代理签名授权。
在简单情况下,所有n个代理者共用一份伪造的代理签名授权,这种情况可以通过比对每个代理者的代理签名授权,被检测出来。
在真实的攻击环境下,AIV可以收集n份不同的u*签署的代理签名授权( 具有n个不同的sj,AIV不需要知道sj) 为每个代理签名者伪造一份各不相同的代理签名授权,然后,AIV以此为每个代理签名者产生代理签名密钥并进行代理签名。由于AIV控制了所有n个代理签名者,只要原始签名者执行了一次合法的代理签名授权,那么,AIV就能获得n份不同代理签名授权。
因此,在第4类敌手攻击下,Gu-IBMPS方案不满足不可伪造性。
2. 3 Gu-IBMPS方案改进
本文采用Paterson签名[13]机制对Gu-IBMPS方案进行增强,改进后的方案如下。
Setup与Gu-IBMPS方案基本相同,PKG增加选择w'∈G1和长度为nw的向量W = ( wi) 。这里,所有wi∈G1。
Key Gen与Gu-IBMPS方案相同 。
UPK_List与Gu-IBMPS方案相同 。
MDelegate u1为原始签名者,对于每一个代理者uj,j∈{ 2 , … , n , n + 1 } , u1随机选择计算:其中, w1为授权书; n为代理者数量;表示H ( w1) 中比特值等于1的位置k的集合 。 令为uj生成代理签名授权并发送给uj。
相应的对代理签名授权的验证表达式如下:
MProxy Key Gen与Gu-IBMPS方案相同 。
MProxy Sign与Gu-IBMPS方案相同 。
MProxy Verify收到对消息m的群代理签名( w1,pσ1= ( σ1,1,σ1,2,σ1,3,σ1,4) ) ,按如下计算进行验证:
如果相等则接受群代理签名,否则拒绝。
3改进方案分析
3. 1正确性分析
本文改进方案的正确性由下式证明:
上面计算表达式表明: 一个有效的群代理签名能通过验证者的验证。
3. 2安全性分析
改进方案采用了变形的Paterson签名机制对Gu-IBMPS方案进行增强,用以产生代理签名授权( 授权书w1作为被签名消息) 。也就是说,每个代理者的代理签名授权等价于Paterson签名结果。Paterson签名机制作为标准签名方案,受到国内外众多研究者的研究,是一种标准模型下可证明安全的签名方案,并且被扩展衍生出多种类型的签名方案[14,15]( 包括本文提到的几种标准模型下的代理签名方案[5,7,11]) 。
由于本文方案仅仅针对Gu-IBMPS方案的MDelegate算法进行了改进,未影响原有MProxy Key Gen算法和MProxy Sign算法,因此,对于文献中定义的第1、2、3类敌手情况( 请参考文献[11]第2节) ,本文方案与Gu-IBMPS方案等价。这里,重点考察改进方案在第4类敌手攻击下的不可伪造性。根据本文2. 2节的描述,第4类攻击者AIV的核心攻击目标是伪造u*的合法代理签名授权。本文采用Paterson的标准安全模型[13],定义敌手AIV与挑战者B之间的游戏模拟代理签名授权不可伪造性, 过程如下。
定理1令 ρ 和 τ 分别表示G1上的乘法运算和指数运算时间,假设AIV最多执行了qe次Key Gen询问和qs次MDelegate询问,如果( ∈',t') -CDH假设成立,那么本文MDelegate算法满足( ∈,t,qe,qs) -EUF-CMA安全。这里:
证明如果存在多项式时间敌手AIV在t时间内以不可忽略的优势∈攻破本文的MDelegate算法,那么,必然存在算法利用AIV在t'时间内以优势∈'解决CDH问题。挑战者B模拟该算法并回答AIV的询问,过程如下。
初始化B设置lu= 2( qe+ qs) 和lm= 2qs,随机选择整数ku和kw,满足条件: 0≤ku≤nu、0≤kw≤nw。对于给定的( qe,qs, nu,nw) ,我们假设有lu( nu+ 1) < q、lw( nw+ 1) < q。B随机选择整数x'←Zlu,度为nu的向量X = ( xi) ,其中,X的每个元素xi满足xi←Zlu。类似地,B构造参数z'←Zlw和Z = ( zj) 。B选择y',v'←Zq以及度为nu,nw的向Y = ( yi) 和V = ( vj) ,分别满足yi,vj←Zq。B定义两组函数如下:
这里,μ { 1,…,nu} 表示使得u[i]= 1的i的集合;{ 1, …,nw} 表示使得m[j]= 1的j的集合。然后,B构建公共参数:
这里,pku*是未被敌手控制的用户u*的公钥,a,b∈Zq未知, 因此B面临求解CDH问题gab。并且存在下列等式:
攻击AIV自适应地执行多项式时间有界次的询问。
-Key Gen询问: 收到该查询,如果F( u) = 0 mod q,那么B终止游戏; 否则F( u) ≠0 mod q,B随机选择xu,ru← Zq,计算用户私钥:返回给AIV。并发布u的公钥
-MDelegate询问: AIV提交原始签名者身份u、授权书w和代理签名者身份列表{ uj| j∈ { 2,…,n,n + 1 } } 。如果F ( u) = 0 mod q∧K( ω) = 0 mod q,B终止游戏; 否则,如果F( u) ≠0 mod lu,B首先执行Key Gen询问计算sku,然后按照MDelegate算法计算代理签名授权; 否则F( u) = 0 mod q∧K( ω) ≠0 mod q,B随机选择ru*,sj∈Zq,计算:
令 δj,3= sku* ,2= gru*,δj,4= w。上述过程中,n为代理者数量; ω = H( w) ; { 1,…,nw} 表示使得 ω[t] = 1的t的集合。可以验证,( δj,1,δj,2,δj,3,δj,4) 是一份有效的代理签名授权。最后,B返回{ ( δj,1,δj,2,δj,3,δj,4) } 给AIV作为{ uj| j∈{ 2,…,n,n + 1} } 的代理签名授权。
伪造最后, A IV输出u * 对w * 的伪造代理签名授权这里,
如果( δ1*,δ2*,δ3*,δ4*) 是u*对w*的有效代理签名授权, 那么,B计算:
作为对CDH问题的回答。游戏模拟到此结束。
概率分析与文献[13]定理1中签名询问( Sign queries) 相同,将MDelegate询问分为F( u) ≠0 mod lu和F( u) = 0 mod q & K( ω) ≠0 mod q两个部分,类似的,本文定义4类事件Ai, A*,Bj和B*:
同文献[13]定理1。
其中,qu表示最多询问了qu个用户密钥,qw表示最多询问了qw个授权书的代理签名授权。显然,qu≤qe+ qs,qw≤ qs。
时间复杂度分析令( ρ,τ) 分别表示G1上的乘法运算和幂指数运算时间。Key Gen询问执行了O( qenu) 次G1上的乘法运算和O( qe) 次G1上的幂指数运算; MDelegate询问执行了O ( nqs( nw+ nu) ) 次G1上的乘法运算和O( nqs) 次G1上的幂指数运算。那么,算法时间复杂度为: t' = t + O( ( qenu+ nqs( nw+n u ) ) ρ + ( q e + nq s ) τ ) 。
证毕。
4结语
本文研究了标准模型下的基于身份群代理签名方案,发现现有方案不满足不可伪造性,给出了攻击实例,并改进了现有方案。本文的改进工作主要针对原有方案中的代理签名授权伪造问题,采用了变形的Paterson签名算法对授权书进行签名,从而有效防止了对代理签名授权的篡改和伪造。改进的MDelegate算法在标准模型下可规约为求解CDH问题,满足不可伪造性。
一种新的盲代理重签名方案 篇2
在代理重签名中,一个拥有重签名密钥的半可信代理者可将受托者(delegatee)的签名转换为委托者(delegator)对同一消息的签名(也称重签名),但这个代理者不能单独生成受托者或委托者的任何签名[1]。根据转换的方向,代理重签名分为单向和双向两类。代理重签名在简化证书管理、管理群签名、提供遍历的路径证明、构造审查系统和数字版权管理系统等方面有广泛的应用前景[2]。
盲代理重签名结合了代理重签名和盲签名的特性,使得代理者在生成委托者的签名时并不知道所转换消息的具体内容。盲代理重签名的公开文献比较少;然而,已有的盲代理重签名方案几乎都是双向的[3]。单向盲代理重签名比双向盲代理重签名更具有优越性,因为后者可以用两个不同的前者来构成,而前者不能由后者构成。Canetti等人发现,一个在随机预言模型下可证安全的密码系统,当使用一个真正哈希函数实现时,却是完全不安全的。所以,研究标准模型下可证安全的单向盲代理重签名签名方案更具有实际意义。本文提出了一个单向盲代理重签名方案,并在标准模型下证明了新方案的安全性。
1 预备知识
1.1 双线性对
设G1和G2是两个阶为素数p的循环群,g是G1的生成元,定义两个群G1和G2上的双线性映射e:G1×G1→G2,且满足以下性质的双线性映射为双线性对:
(1) 双线性 对任意的a,b∈Zp,有e(ga,gb)=e(g,g)ab。
(2) 非退化性 对任意的g1,g2∈G,满足e(g1,g2)≠1G2,这里1G2是G2的单位元。
(3) 可计算性 对任意的g1,g2∈G1,存在一个有效的算法计算e(g1,g2)。
1.2 复杂性假设
离散对数(DL)问题[4]:设G1是阶为素数p的循环群,g是G1的生成元,则群G1上的离散对数问题是:已知g,ga∈G1,计算a∈Zp。
定义1 离散对数假设 如果没有一个概率多项式时间算法在时间t内以至少ε的概率解决群G1上的离散对数问题,则称群G1上的(t,ε)-DL假设成立。
计算性Diffie-Hellman(CDH)问题[5]:设G1是阶为素数p的循环群,g是G1的生成元,群G1上的CDH问题是:已知g,ga,gb∈G1,其中a、b是从Zp中随机选取的,计算gab。
定义2 计算性Diffie-Hellman假设 如果没有一个概率多项式时间算法在时间t内以至少ε的概率解决群G1上的CDH问题,则称群G1上的(t,ε)-CDH假设成立。
2 盲代理重签名的形式化定义
定义3 盲代理重签名 盲代理重签名有4个参与方:用户(签名申请者)、受托者、代理者和委托者。一个盲代理重签名方案BPRS=(Setup,KeyGen,ReKey,Sign,Blind,ReSign,Unblind,Verify)由以下八个算法组成:
● Setup是系统参数生成算法 输入一个安全参数1k,输出系统的公开参数params。
● KeyGen是密钥生成算法 输入系统参数params,输出用户的公钥/私钥对(pk,sk)。
● ReKey是重签名密钥生成算法 输入一个受托者和委托者的公私钥对(pkA,skA)和(pkB,skB),输出一个重签名密钥rkA→B。代理者使用rkA→B可将受托者的签名转换为委托者的签名。
● Sign是签名生成算法 输入一个用户请求签名的消息m和一个私钥sk,输出一个消息m的签名σ,并发送给用户。可用对应的公钥pk来验证签名σ的合法性。
● Blind是盲化算法 输入一个盲化因子λ,一个消息m,一个公钥pkA和一个签名σA,该算法首先验证σA的合法性,如果Verify(pkA,m,σA)=1,输出一个盲化后的消息m′和一个对应于公钥pkA的消息m′的盲化签名σA′,并发送给代理者;否则,输出⊥。
● ReSign是重签名生成算法 输入一个重签名密钥rkA→B,一个盲化消息m′,一个公钥pkA和一个签名σA′,该算法首先验证σA′的合法性,如果Verify(pkA,m′,σ′A)=1,输出一个对应于公钥pkB的消息m′的重签名σB′,并发送给用户;否则,输出⊥。
● Unblind是脱盲算法 输入一个盲化消息m′,一个公钥pkB,一个签名σB′和Blind中的盲化因子λ,该算法首先验证σB′的合法性,如果Verify(pkB,m′,σB′)=1,输出脱盲后的签名σB;否则,输出⊥。这里σB是委托者对消息m的盲代理重签名。
● Verify是签名验证算法 输入一个消息m,一个公钥pk和一个签名σ,如果σ是对应于公钥pk的消息m的合法签名,输出1;否则,输出0。
定义4 盲代理重签名的不可伪造性 在一个盲代理重签名方案BPRS=(Setup,KeyGen,ReKey,Sign,Blind,ReSign,Unblind,Verify)中,如果攻击者进行有限次数的选择消息询问后,最终不能产生一个新消息的有效签名,则称BPRS方案在适应性选择消息攻击下能抵抗存在性伪造。
3 单向盲代理重签名方案
新方案有4个参与方:用户(签名申请者)、受托者、代理者和委托者,具体描述如下:
● Setup 输入一个安全参数1k,选择两个阶为素数p的循环群G1和G2,g是G1的生成元,定义一个双线性映射e:G1×G1→G2。假定m是一个nm比特长的签名消息,可用一个抗碰撞的哈希函数H1:{0,1}*→{0,1}nm来实现。在G1中随机选取nm+2个元素(h,u,u1,…,unm)。公开系统参数params:=(G1,G2,p,e,g,h,u,u1,…,unm)。
● KeyGen 输入系统参数params,选取随机数x∈Z
● ReKey 输入一个受托者的公钥pkA=gα和一个委托者的私钥skB=β,输出一个重签名密钥rkA→B=(pkA)1/skB=gα/β。
● Sign 输入一个受托者的私钥skA=α和一个用户申请签名的消息m=(m1,…,mnm)∈{0,1}nm,输出一个消息m的签名
● Blind 输入一个消息m,一个公钥pkA和一个受托者的签名σA=(σA,1,σA,2),用户首先验证σA的合法性,若Verify(pkA,m,σA)=1,然后选取一个盲因子λ∈Z
● ReSign 输入一个重签名密钥rkA→B,一个盲化消息ω′,一个公钥pkA和一个签名σA′=(σA,1′,σA,2′),该算法首先验证σA′的合法性:
若令
● Unblind 输入一个盲化消息ω′,一个公钥pkB和一个重签名σB′=(σB,1′,σB,2′,σB,3′,σB,4′),用户首先验证σB′的合法性:
● Verify 输入一个nm比特长的消息m和一个公钥pk,如果一个待验证的签名σ=(σ1,σ2)且
4 新方案的安全性分析
在新方案中,受托者不参与重签名密钥的生成过程,委托者不参与盲代理重签名的生成过程。因为重签名密钥rkA→B=gα/β,所以新方案是单向的。代理者只需保存一个重签名子密钥rkA→B,所以新方案满足密钥最优性。盲因子λ在盲代理重签名的生成中总是存在,代理者无法将获取的中间数据和脱盲后的签名联系起来。用户将签名消息m相关的值ω盲化处理后发给代理者,代理者想通过
定理1 在标准模型下,新方案在计算性Diffie-Helllman假设下是不可伪造的。
证明:下面证明新方案是有限代理安全、受托者安全、委托者安全和外部安全的。
有限代理安全 如果一个攻击者A1以一个不可忽略的概率ε攻破新方案,那么我们可构造另外一个攻击者B1以概率ε/(4qS(nm+1))解决在群G1上一个CDH问题实例(g,A=ga,B=gb),这里qS是A1询问签名生成预言机的次数,攻击者B1根据下面的过程来模拟新方案的安全游戏。
建立 攻击者B1首先设置lm=2(qS+qRS),并选择一个随机数km,满足0≤km≤nm和lm(nm+1)<p。任选nm+1个不大于lm的正整数x′,x1,…,xnm,在Z
查询 因为攻击者A1能独立进行盲代理重签名方案中的消息盲化和脱盲操作,所以A1可以自适应性地询问攻击者B1建立的如下预言机:
● OKeyGen是密钥生成预言机 攻击者B1选择一个随机数xi∈Z
● OSign是签名生成预言机 攻击者A1输入一个公钥pki和一个消息m,如果F(m)=0(modp),攻击者B1不能计算出签名σ,只能退出模拟宣告失败;否则,B1选择一个随机数r∈Zp,计算签名
● ORekey是重签名密钥生成预言机 攻击者A1输入两个不同的公钥pki和pkj,如果pki和pkj均已被攻陷或均未被攻陷,那么攻击者B1首先询问预言机OKeyGen获得(pki, pkj)对应的私钥(xi, xj),然后将rki→j=gxi/xj=gaxi/axj=(gaxi)1/axj=(pki)1/skj返回给A1;否则,输出⊥。
伪造 如果攻击者B1在经过上面的一系列预言机的查询后都没有失败,那么攻击者A1将以至少ε的概率输出一个消息m*,公钥pk*和一个伪造签名σ*=(σ
为了解决CDH实例(g,ga,gb),攻击者B1计算(σ
如果攻击者B1完成了整个模拟过程,那么作为签名预言机的输入消息m和m*必须满足F(m)≠0(modp)和F(m*)=0(modp)。攻击者B1不退出模拟的概率分析与Smb方案[5]的安全性分析完全相同。即如果攻击者A1以至少ε的概率攻破新方案,那么攻击者B1以至少ε/(4qS(nm+1))的概率解决CDH问题实例。
受托者安全 与有限代理安全的分析基本相同,主要区别如下:
● OKeyGen 设目标用户0的公钥pk0=A=ga,h=B=gb。攻击者B2选择一个随机数xi∈Z
● OSign 攻击者A2能计算任意用户i≠0的所有签名,当A2询问目标用户0对消息m的签名时,攻击者B2对攻击者A2的模拟过程与攻击者B1对攻击者A1的模拟过程基本相同。
最后,A2成功输出一个签名伪造,B2也能与B1一样解决一个CDH问题实例。
委托者安全 如果一个攻击者A3以一个不可忽略的概率ε攻破新方案,那么我们可构造另外一个攻击者B3以概率ε/(4qS(nm+1))解决在群G1上一个mCDH问题实例,这里qS是A1询问签名生成预言机的次数。给定(g,A=ga,A′=g1/a,B=gb),攻击者B3的目标是计算gab。与受托者安全的分析基本相同,主要区别如下:
● ORekey 攻击者A3输入两个不同的公钥pki和pkj,攻击者B3首先询问预言机OKeyGen获得(pki, pkj)的私钥(xi, xj),如果i≠0,j≠0,计算rki→j=gxi/xj;如果i=0,j≠0,计算rk0→j=A1/xj=ga/xj;如果i≠0,j=0,计算rki→0=(A′)xi=gxi/a;然后B3将rki→j返回给A3。
最后,A3成功输出一个消息m*的签名伪造σ*=(σ
外部安全 与有限代理安全的分析基本相同,主要区别如下:
● OKeyGen 设目标用户i*的公钥pki*=A=ga,h=B=gb。攻击者B4选择一个随机数xi∈Z
● OSign 攻击者A4计算任意用户i≠i*的所有签名;当A4询问目标用户i*对消息m的签名时,B4对A4的模拟拟过程与B1对A1的操作完全相同。
● OResign是重签名生成预言机 攻击者A4输入两个不同的公钥pki和pkj,一个盲化消息ω′和一个盲化签名σi′,如果Verify(pki,ω′,σi′)=0或i=i*时F(m*)=0,攻击者B4输出⊥;否则,B4返回给A4一个ω′的重签名σB′=ReSign(rki→j,pki,ω′,σi′)。
最后,A4成功输出一个签名伪造,B4也能类似B1解决一个CDH问题实例。
5 结 语
本文将盲签名的特性与单向代理重签名的特性进行有效融合,提出了一个安全的单向盲代理重签名方案,并在标准模型和CDH假设下给出了其安全性证明。
参考文献
[1]Blaze M,Bleumer G,Strauss M.Divertible Protocols and Atomic ProxyCryptography[C]//Proceedings of EUROCRYPT 1998.LNCS,Vol.1403,1998:127-144.
[2]Ateniese S,Hohenlerger S.Proxy Re-signatures:New Definitions,Algo-rithms and Applications[C]//Proceedings of ACM Conference onComputer and Communications Security,2005:310-319.
[3]Deng Y Q,Du M H,You Z L,et al.A Blind Proxy Re-Signatures Scheme Based on Standard Model[J].Journal of Electronics&Infor-mation Technology,2010,37(05):1119-1223.
[4]Libert B,Vergnaud D.Multi-Use Unidirectional Proxy Re-Signatures[C]//Proceedings of ACM Conference on Computer and Communica-tions Security,2008:511-520.
一种新的无证书定向代理签名方案 篇3
定向签名[1]是Lim和Lee在1992年提出的,在一个定向签名方案中,签名人所作的任何签名都是针对指定接收人的,只有指定的接收人才可以验证定向签名的有效性,而其他任何人都无法验证定向签名是否有效。因此当签名消息涉及到接收人的隐私时,定向签名能够有效地解决隐私保护的问题。在普通代理签名[2]中,当代理签名人代理原始签名人行使代理权时,代理签名是可公开验证的。然而,在某些场合,当代理签名人代理原始签名人签名时,如果代理签名的消息对签名接收人而言是比较隐私的,此时并不希望任何人都能验证代理签名,只有原始签名人指定的签名接收人才能验证代理签名的有效性。这在实际中是需要的,例如个人病例、个人商业活动等。
2003年,AL-Riyami和Paterson[3]提出了无证书公钥密码体制,这种新的密码体制解决了基于证书公钥密码体制中存在的证书管理问题和基于身份密码体制中存在的密钥托管问题。由于无证书密码体制不需要公钥证书,而且不存在密钥托管问题,因此无证书密码体制以其安全、高效的特点受到了密码学界的广泛关注[4,5]。
目前,定向代理签名的研究成果并不多。文献[6,7,8]分别提出了几种基于证书公钥密码体制的定向代理签名方案,但在具体应用中,这些方案都存在着公钥证书存储和管理开销较大的问题。文献[9,10]分别提出了基于身份的定向代理签名方案和基于身份的定向多重代理签名方案,然而基于身份的密码体制本身所固有的密钥托管问题使得这些定向代理签名方案并不安全。文献[11,12]分别给出了两种定向代理签名方案,但这两个方案都存在着一个共同的安全缺陷:因为在无证书密码体制中,用户的公钥并没有得到直接验证,从而容易遭受公钥替换攻击和恶意KGC攻击[13]。为了克服以上问题,本文通过将用户的部分私钥与身份信息和公钥绑定,从而可以防止公钥替换攻击和恶意的KGC攻击。和已有的定向代理签名方案相比,新方案的安全性得到了提高,适合于实际应用。
1 预备知识
1.1 双线性映射
设G1是阶为q的循环加法群,G2是阶为q的循环乘法群,q是大素数,P是G1的生成元。假设在G1和G2群中的离散对数问题都是难解的。定义两群之间的双线性映射e:G1×G1→G2满足以下性质:
(1) 双线性性:对∀a,b∈Z
(2) 非退化性:∃P,Q∈G1,满足e(P,Q)≠1。
(3) 可计算性:对所有的P,Q∈G1,存在有效算法可以计算出e(P,Q)。
1.2 计算困难性问题
(1) 离散对数问题(DLP):
给定P,Q∈G1,找一整数n,使得Q=nP成立。
(2) 计算Diffie-Hellma问题(CDHP):
对∀a,b∈Z
(3) 判定Diffie-Hellma
问题(DDHP):对∀a,b,c∈Z
2 新的无证书定向代理签名方案
新的无证书定向代理签名方案由系统设置、密钥提取、代理密钥生成、定向代理签名和验证五个算法构成。同时该方案的参与者为原始签名人、代理签名人和指定接收人。
2.1 系统设置
设G1是阶为q的循环加法群,G2是阶为q的循环乘法群, q是大素数,P是G1的生成元, e:G1×G1→G2是一个双线性映射,满足1.1节中的定义。定义三个密码学上的单向哈希函数H1:{0,1}*×G1→G1, H2:{0,1}*×G2→Z
2.2 密钥提取
假设A、B、V分别表示原始签名人、代理签名人和指定接收人。各自对应的公钥和私钥的计算按以下操作进行:
(1) 身份为IDi(i∈(A,B,V))的用户随机选取xi∈Z
(2) 身份为IDi(i∈(A,B,V))的用户向KGC提交自己的身份IDi,KGC计算Di=sQi,其中,Qi=H1(IDi,Pi),并把Di作为用户的部分私钥,通过安全信道传送给用户。
(3) 身份为IDi(i∈(A,B,V))的用户收到Di后,验证等式e(Di,P)=e(Qi,PPub)是否成立。若成立,则计算Si=xiDi,并把Si作为私钥。
成功进行以上操作后,A的私钥为SA,公钥为PA=<XA,YA>。B的私钥为SB,公钥为PB=<XB,YB>。C的私钥为SC,公钥为PC=<XC,YC>。
2.3 代理密钥生成
(1) A建立一个授权许可信息mw,主要包含A、B、V的身份信息和代理权限等内容。然后随机选取r∈Zq*,计算R=rQA,h=H3(H1(mw,R)),Sw=(r+h)SA,并将(mw,R,Sw)发送给B。
(2) B收到(mw,R,Sw)后,通过验证等式e(XA,Ppub)=e(YA,P)来验证A的公钥是否正确。然后计算h=H3(H1(mw,R)),再验证等式e(Sw,P)=e(R+hQA,YA)是否成立。若成立,则接受代理授权,并计算代理签名密钥Sp=Sw+hSB。
2.4 定向代理签名
当要对消息m签名时, B随机选取k,t∈Zq*,计算K=e(XV,P)k,v=H2(m,K),U=t-1kP-vSp,则(mw,R,t,v,U)为B对m的定向代理签名,并将(mw,R,t,v,U)发送给V。
2.5 验 证
V收到定向代理签名(mw,R,t,v,U)后,先通过验证等式e(XA,Ppub)=e(YA,P)和e(XB,Ppub)=e(YB,P)来验证A、B的公钥是否正确。然后计算QA=H1(IDA,PA),QB=H1(IDB,PB),h=H3(H1(mw,R)),最后计算K=e(xVP,tU)e(xVYA,thQA)ve(xVYB,thQB)ve(xVYA,tR)v,并验证等式v=H2(m,K)是否成立。若成立则接受签名,否则拒绝。
3 方案分析
3.1 正确性分析
(1) 授权签名的正确性:
e(Sw,P)=e((r+h)SA,YA)=e((r+h)sxAQA,P)
=e((r+h)QA,YA)=e(R+hQA,YA)
(2) 定向代理签名的正确性:
因为e(xVP,tU)e(xVYA,thQA)ve(xVYB,thQB)ve(xVYA,tR)v
=e(P,tU)xVe(xVYA,vthQA)e(xVYB,vthQB)e(xVYA,vtR)
=e(P,tU)xVe(xVP,vt(hxAsQA+hxBsQB+rxAsQA))
=e(P,tU)xVe(xVP,vt(hSA+hSB+rSA))
=e(P,tU)xVe(xVP,vt(Sw+hSB))
=e(xVP,tU)e(xVP,vtSp)
=e(xVP,tU+vtSp)
=e(xVP,kP)
=e(XV,P)k=K
所以v=H2(m,K)
3.2 安全性分析
(1) 指定验证性
可以看出,在验证定向代理签名时,必须要用到指定接收人V的秘密值xV,除了原始签名人指定的接收人V,任何第三方都不能验证定向代理签名是否有效。这是因为验证定向代理签名时,必须计算K=e(xVP,tU)e(xVYA,thQA)ve(xVYB,thQB)ve(xVYA,tR)v。任何第三方试图获取秘密值xV,则需要从等式XV=xVP或YV=xVPpub中计算出xV,而计算xV等价于求解离散对数困难问题。因此只有拥有合法秘密值xV的指定接收人V才能验证定向代理签名的有效性。
(2) 不可伪造性
在无证书密码体制中,一般要考虑两种类型的攻击者。第一种攻击者代表一个不诚实的用户,他可以替换任意用户的公钥,但是不知道系统的主密钥。第二种代表一个恶意的KGC,他可以获得系统主密钥,但是不能替换用户的公钥。由于本方案采用了绑定技术,即利用哈希函数Qi=H1(IDi,Pi)(i∈(A,B,V))将用户的身份和公钥绑定在KGC为用户生成的部分私钥里,从而可以防止公钥替换攻击和恶意的的KGC攻击。
① 授权签名的不可伪造性
由于本方案中的授权签名是基于文献[14]中的不可伪造签名,而文献[14]中的签名是基于CDHP的,已证明是安全的,因此本方案中的授权签名也是不可伪造的。也就是说,在本方案中,无证书密码体制中的两类攻击者,即不诚实的代理签名人B、指定接收人V和恶意的KGC都无法伪造授权签名。
② 定向代理签名的不可伪造性
假设C是第一类攻击者(包括不诚实的原始签名人A和指定接收人V),因为攻击者C不知道代理签名人B的私钥SB,他就无法计算代理密钥Sp,因此也就无法伪造定向代理签名。假设C是第二类攻击者,即C是恶意的KGC,虽然KGC知道A、B的部分私钥dA和dB,但他不知道A、B的秘密值xA和xB,所以他就无法计算相应的私钥SA和SB,更无法计算代理密钥Sp,因此攻击者C也就无法伪造定向代理签名。显然,对无证书密码体制中的两类攻击者而言,本方案中的定向代理签名是不可伪造的。
(3) 不可否认性
有效的定向代理签名(mw,R,t,v,U)包含授权信息mw,在签名验证时要用到mw和代理签名人B的公钥YB,由于mw包含在有效的验证等式里。所以代理签名人B不能更改,更改相当于求解哈希函数的单向性问题。因此只要代理签名人B完成了一次代理签名,他就不能否认其代理人身份。类似的,只要原始签名人A授予了代理签名人代理签名权,他也不能否认其授权人身份。
3.3 效率分析
本方案的计算和通信效率分析结果见表1。其中,P表示一个双线性对运算,S表示群G1上的一个标量乘运算,E表示群G2上的一个幂运算,H表示一个哈希函数到群G1的运算,P1表示G1上一个点的长度,PZ表示Z
4 结 语
考虑到定向代理签名在现实生活中有重要的应用价值。为此,本文结合无证书签名和定向签名技术,提出了一种新的无证书定向代理签名方案。新方案可以实现定向代理签名,确保只有原始签名人指定的接收人可以验证定向代理签名的有效性。和已有的定向代理签名方案相比,新方案的安全性得到了提高,适合于实际应用。
多级代理签名方案分析 篇4
代理签名1996年由Mambo等人提出[1],它指当某个签名人(称为原始签名人)因某种原因不能签名时,将签名权委托给他人(称为代理签名人)替自己行使签名权,验证人能够验证并区分原签名人的签名和代理人的签名。盲签名[2]是因电子支付匿名性的要求而提出的,它与通常的数字签名不同之处在于,签名者并不知道他所签发文件的具体内容。正是这个特点,使得盲签名技术可广泛用于许多领域。
代理签名和盲签名有着各自不同的特点,然而在某些情况下需要同时应用它们,这就是代理盲签名。代理盲签名方案结合了代理签名和盲签名的特点,它能使用户得到代理签名者对消息的签名,而代理签名者对消息的内容却一无所知。例如在电子支付系统中,银行可以指定一个它所信赖的部门或其分支部门来代表银行发行电子现金,而银行只需对用户帐户进行管理。2000年文献[3]首次提出了代理盲签名方案,之后文献[4]在Schnorr盲签名的基础上提出了一个基于离散对数的代理盲签名,但是后来文献[5]证明文献[4]的方案是不安全的,它既受到了广泛伪造攻击,又是可链接的。
1984年,文献[6]提出了一个基于身份的加密和签名方案,解决了由CA颁发公钥证书所带来的存储和管理开销等问题。后来,人们发现利用双线性映射可以高效实现密码学上基于身份的加密、签名等应用。最近,利用双线性对构造的一些基于身份的代理盲签名方案被提出[7,8,9],具有一些较好的性质。容易发现在这些方案当中PKG掌握各用户的私钥,不诚实的PKG可以任意伪造签名,这个问题成为基于身份的公钥密码系统在实际中广泛应用的极大障碍。
基于对以上问题的研究,本文首次利用双线性对构造了一种基于身份无可信中心的代理盲签名方案,证明了其正确性并在安全性及性能等方面和已提出的基于身份的代理盲签名方案进行了比较分析,结果表明,新方案具有更高的安全性,签名效率也有明显的提高。
1 数学知识
设(G1,+)和(G2,×)为q阶循环群,q为一大素数,P为G1的生成元。设在群G1、G2中离散对数问题是困难的,可定义双线性映射为e:G1×G1→G2,其满足双线性性、非退化性和可计算性。对于这样定义的G1,我们可以定义离散对数问题(DLP)、可计算Diffie-Hellman问题(CDHP)、可判定Diffie-Hellman问题(DDHP)、Gap Diffe-Hellman(GDH)问题等难解问题,并称具有CDH问题难解而DDH问题易解特征的群为GDH群。有关详细内容可参看文献[10]。
2 本文的代理盲签名方案
2.1 系统初始化
输入安全参数1k,输出两个阶为q的循环群(G1,+)和(G2,×),q为大素数,P为G1的生成元。定义G1上的一个双线性映射e:G1×G1→G2,同时定义四个强无碰撞安全单向Hash函数H1:{0,1}*×G1→Zq*,H2:{0,1}*×G1→G1,H3:{0,1}*→G1,H4:G1→Zq*。最后PKG选择s∈RZq*,计算Ppub=s P,将s秘密保存,公开其系统参数:Params={G1,G2,e,q,P,Ppub,H1,H2,H3,H4}。
2.2 密钥提取
原始签名者Alice和代理签名者Bob分别秘密选取各自相应的随机数rA,rB∈RZq*,各自计算rAP、rBP并把rAP、rBP和rA、rB的使用期限TA、TB发送给PKG,再把它们的身份信息IDA、IDB各自提交给PKG,而后PKG计算QA=H2(IDA||TA,rAP),QB=H2(IDB||TB,rBP),把QA、QB作为Alice和Bob的公钥,把SA=s QA、SB=s QB作为Alice和Bob的部分私钥,通过安全通道分别送给Alice和Bob,Alice的私钥为(SA,rA),Bob的私钥为(SB,rB)。
2.3 生成代理密钥
Alice在开始代理授权之前先准备授权文件mW,其中包含代理人信息,如代理签名人公钥以及代理签名的文件类型、时间等。Alice首先计算一个短签名SW=H4(H3(mW))SA,然后将(SW,mW,TA,rAP)发送给Bob,Bob验证等式e(SW,P)=e(QA,Ppub)43WH(H(m))是否成立,如果成立,Bob计算代理密钥:SP=SW+H4(H3
2.4 签名
若用户U要求代理签名者Bob对消息m进行代理盲签名,则:
(1)U选择t1∈RZq*,计算m′=t1-1H1(m),然后将m′发送给Bob;
(2)Bob收到m′后,计算S′=(H4(H3(mW)rB(QA+QB))+SP)m′,然后将S′发送给U;
(3)U收到m′后,计算S=t1S′。
于是用户U得到Bob对消息m的代理盲签名σ(m)=(S,mW,rAP,rBP,TA,TB)。
2.5 验证
验证者首先计算QA=H2(IDA||TA,rAP),QB=H2(IDB||TB,rBP),再看等式e(S,P)=e(QA+QB,rBP+Ppub)1H(m)H4(H3(mW))是否成立。如果成立则接受签名,否则认为该签名无效。详细推导过程如下:
3 安全性分析
代理盲签名应该满足可验证性、可区分性、可识别性、不可伪造性、不可否认性、防止滥用性、盲性和不可链接性等安全性要求,其中可验证性在上节中已经得到证明。由于有效的代理签名σ(m)=(S,mW,rAP,rBP,TA,TB)中包含了授权证书mW,而且授权证书mW、原始签名者Alice和代理签名者Bob的公钥QA、QB都要在签名的验证算法中出现,易证本文的代理签名方案满足可区分性、可识别性、不可否认性、抗滥用性,下面主要证明其满足不可伪造性、盲性和不可链接性。
定理1本文提出的代理盲签名方案具有不可伪造性
证明由于攻击者(非PKG)不知道代理签名者Bob的代理密钥SP,因此攻击者不能利用代理密钥SP来进行签名。攻击者想要伪造的对消息m的代理签名通过验证,他们必须使(S,mW,rAP,rBP,TA,TB)满足验证式:e(S,P)=e(QA+QB,rBP+Ppub)1H(4m)H(3H(Wm)),然而e是一个安全的双线性对,找到一组数(S,mW,rAP,rBP,TA,TB)满足上式在计算上是不可行的,所以满足不可伪造性。
如果PKG想伪造签名,由于PKG知道SA、SB,所以他可以计算代理密钥SP,通过伪造的rAP、rBP进而伪造出能通过验证的“有效”的代理签名,然而代理签名者Bob可以提供证据证明PKG伪造了他的代理签名。他可以先把rBP、TB递交给一个中间人,就可以证明他知道SB。中间人选取一个随机数a∈RZq*,把a P通过一个安全通道送给Bob,Bob计算e(SB,a P),如果等式e(SB,a P)=e(QB,Ppub)a成立,那就说明Bob知道SB,且他的IDB在同一个时间期限内对应了rBP,rB′P,这时中间人就可判断PKG伪造了Bob的代理签名。因为只有PKG知道s,别人无法得到SB,当然无法伪造能通过验证的rB、rBP。
定理2本文提出的代理盲签名方案具有盲性
证明用户U使用盲因子t1对消息m进行盲化,代理签名者Bob只对消息m的变形m′进行签名并未看到m,因此m对代理签名者Bob是盲的。
定理3本文提出的代理盲签名方案具有不可链接性
证明盲签名σ(m)=(S,mW,rAP,rBP,TA,TB)是由消息持有者Bob进行脱盲变化后形成的,由于群G1上的离散对数问题是难解的,因此签名者Alice不能通过S=t1S′计算出盲因子t1。即使Alice保存了m′和S′,当盲签名(S,mW,rAP,rBP,TA,TB)公布后,他也不能确定盲签名(S,mW,rAP,rBP,TA,TB)是他的哪一次签名,所以本文方案具有不可链接性。
4 效率分析
下面将本文提出的代理盲签名方案和文献[7,8,9]中的方案从计算复杂性方面进行了比较,并将结果总结在表1中。表1中有关符号的定义如下:Pa表示双线性映射中的对操作,Pm表示G1上的标量乘,Ad表示G1上的点加操作,Mu表示Zq上的乘操作,MuG2表示G2上的乘操作,ExG2表示G2上的指数运算。这里我们忽略了所有的哈希运算,而且在考虑计算复杂性时已经对文献[7,8,9]方案中的相关双线性对进行了预计算。
从各种操作的计算来看,Pa计算最耗时,然后是Pm,其它运算相对计算双性对时间开销非常小。从表1可以看出,本文的代理盲签名方案的计算复杂度大约是2Pa+6Pm,而文献[7]方案的计算复杂度大约是7Pa+11Pm,文献[8]方案的计算复杂度大约是8Pa+3Pm,文献[9]方案的计算复杂度大约是3Pa+8Pm,因此本文方案具有更高的效率。
5 结束语
针对已提出的基于身份的代理盲签名方案不能有效抵抗伪造攻击和不具有不可链接性等缺陷,本文利用双线性对构造了一个高效的基于身份的代理盲签名方案,证明了其正确性并进行了安全性和性能分析。结果表明所提方案克服了已有方案的安全隐患,具有安全性高、计算复杂性低的优点。
参考文献
[1]Mambo M,Usuda K,Okamoto E.Proxy Signatures:Delegation of the Powerto Sign Messages[J].IEICE Trans.on Fundamentals,1996,E79-A(9):1338-1354.
[2]Chaum D.Blind signature for untraceable payments[C].Crypto’82,New York:Prenum Publishing Corporation,1982:199-204.
[3]Lin W D,Jan J K.A Security Personal Learning Tools Using a Proxy Blind Signature Scheme[C].Proceedings of International Conference on Chinese Language Computing,Illinois,USA:2000:273-277.
[4]谭作文,刘卓军,唐春明.基于离散对数的代理盲签名[J].软件学报,2003,14(11):1931-1935.
[5]王蜀洪,王贵林,鲍丰,等.对一个基于离散对数代理盲签名的密码分析[J].软件学报,2005,16(5):911-915.
[6]SHAMIR A.Identity-based cryptosystems and signature schemes[A].Crypto’84,LNCS196[C].Berlin,1984.47-53.
[7]ZHENG D,HUANG Z,CHEN KF.ID-based proxy blind signature[A].ANNA2004[C].IEEE Computer Society,2004,2:380-383.
[8]李素娟,张福泰.基于ID的代理盲签名[J].计算机工程,2006,32(17):203-204.
[9]LANG W M,TAN Y M,YANG Z K.A newefficient ID-based proxy blind signature scheme[A].ISCC 2004[C].IEEE Computer Society,2004,1:407-411.
多级代理签名方案分析 篇5
带消息恢复功能的基于身份的代理签名方案是这样一种签名方案, 原始消息附加到了签名中, 无需同签名一起发送给对方, 在进行签名验证时可恢复出原始消息。它不同于认证加密和签密, 在这种签名方案中, 任何人在无需任何秘密信息的情况下都可恢复嵌入到签名中的消息。这种签名技术最大限度地减小了签名消息的总长度, 特别适合用在带宽受限的网络环境中。
1984 年, Shamir首次提出了基于身份的加密体制来简化传统的基于证书的公钥密码体制[1]。Mambo等人1996 年提出了代理签名[2]的概念。在2003 年, Zhang和Kim应用双线性对技术提出了第一个基于身份的代理签名方案[3]。2005 年, Zhang等人提出了一个带消息恢复功能的基于身份的数字签名方案[4], 该方案极大地缩短签名的总长度, 因而受到了人们的重视。同年, Gu和Zhu对Zhang和Kim等人2003 年提出的签名方案进行了改进, 效率更高[5]。2007 年, Tso等人对张等人2005年使用双线性对提出的方案进行了改进[6]。2007 年, Wu提出了一个新的具有更强安全假设的基于身份的代理签名方案[7]。2008 年, Wang提出了一个在随机预言模型下安全性更高的基于身份的代理签名方案[8]。2009 年, Wu等人使用自认证公钥提出了一个带消息恢复功能的代理签名方案[9]。2010 年刘振华等人提出了一个标准模型下基于身份的具有部分消息恢复功能的签名[10]方案, 该方案对自适应选择消息攻击是存在不可伪造的, 其安全性规约为q-Strong Diffie-Hellman困难假设。2012年Singh等人提出了一个带消息恢复功能的基于身份的代理签名方案[11], 方案的安全性规约为CDHP难题。
自2003 年以来, 很多基于身份的代理签名方案被提出, 但带消息恢复功能的基于身份的代理签名方案却很少, 本文提出了一个带消息恢复功能的基于身份的代理签名方案并给出了其安全性证明, 该方案极大地缩短了签名的总长度, 适合传输带宽受限的网络环境中使用。
1 预备知识
1. 1 IDPSMR模型定义
本节给出了带消息恢复功能的基于身份的代理签名的形式化定义, 整个签名过程涉及三个主要实体: 原始签名者、代理签名者、签名验证者。
一个带消息恢复功能的基于身份的代理签名方案由以下8个步骤组成:
1) Setup系统初始化阶段, 算法输入安全参数 λ, 输出KGC的主密钥msk和一组系统公开参数params。
2) Extract用户密钥生成阶段, 算法输入用户A的身份信息IDA∈{ 0, 1}*, KGC计算用户A的密钥对 ( qA, dA) 并通过安全通道发送给用户A。
3) Del Gen委托生成阶段, 原始签名者A用其私钥dA和委托消息mw计算委托状WA→B, 并通过安全通道发送给代理签名者B。
4) Del Verify委托验证阶段, 输入用户A的公钥IDA, 委托状WA→B, 验证WA→B是否来自于用户A。
5) PKGen代理密钥生成阶段, 输入委托状WA→B和代理签名者的一些秘密信息 ( 如代理者的密钥) , 为代理签名者输出代理签名密钥dp。
6) Psign代理签名算法为一个多项式时间算法, 代理签名者用代理签名密钥dp生成消息m∈{ 0, 1}l的代理签名 δ。
7) Sign Verify / Message Recovery这是一个确定性算法, 验证者收到签名 δ 后使用原始签名者的身份信息和代理签名者的身份信息, 进行签名验证并恢复出消息m。
8) ID代理身份验证算法, 在该算法中, 输入一个有效的代理签名, 可输出代理签名者的身份信息。
1. 2 IDPSMR安全模型
新方案的安全模型基于Gu和Zhu给出的安全模型, 在这个模型中, 假想攻击者A是一个概率图灵机, 输入公开参数和随机数 λ 进行下面的模拟实验。
对于一个带消息恢复功能的基于身份的代理签名方案, 通过攻击者A和安全参数 λ 做如下模拟实验ExpAIDPSWM ( λ) 。
1) 挑战者C运行setup ( ·) 获得公开参数params, 并将params传递给攻击者A。
2) 设集合Clist、Dlist、Glist、Slist初始值为空集。
3) 攻击者A可向挑战者进行一系列自适应询问。询问方式如下:
Extract ( ·) 假设攻击者A能够获取任意一个身份IDi的私钥di。攻击者A向挑战者C提供身份IDi, 挑战者通过运行Extract ( ·) 输出di进行响应。并将 ( IDi, di) 加入集合Clist。
Delegate ( ·) 假设攻击者能够获取任意指定的身份ID信息和委托消息mw的委托状W。挑战者通过运行Delegate ( ID, mw) 输出一个委托状W, 并将其发送给攻击者A。如果挑战成功, 将 ( ID, mw, W) 加入集合Dlist。
PKGen ( ·) 假设攻击者能够获取任意代理签名者的代理签名密钥dp。挑战者通过PKgen ( ID, W) 获得dp, 并将其发送给挑战者, 并将 ( ID, W, dp) 加入集合Glist。
PSign ( ·) 假设攻击者能够完全获取到代理签名者通过委托状W和消息m∈{ 0, 1}l的代理签名 δ。如果挑战成功, 将 ( W, m, δ) 加入集合Slist。
4) 挑战者输出 ( ID, mw, W) 或 ( W, m, δ) 。
5) 如果下面的任何一个条件满足, 则意味着攻击者A攻击成功。
输出的结果是 (ID, mw, W) , 并且满足:, 并且输出1。
输出的结果是 (W, m, δ) 并且满足:Sign Verify/Message Recovery ( (m, δ) IDi) =1, (W, m, ·) Slist, (IDj, ·) Clist, (ID, W, ·) Glist。其中, IDi是指定的签名者身份信息, IDj是IDi通过委托状W指定的代理签名者身份信息。相应的, ExpIDPSWMA (λ) 输出2, 否则输出0。
对于一个带消息恢复功能的基于身份的代理签名方案 ( IDPSWM) , 对于攻击者A来说, 在任何多项式乘法时间P ( ·) 内, 选取足够大的 λ, 能够抵抗自适应性选择身份和消息攻击下的不可伪造性和可委托性 ( DS-EUF-ACMIA) , 则认为该方案是安全的。即满足:
2 带消息恢复功能的基于身份的代理签名
本节对新提出的带消息恢复功能的基于身份的代理签名方案进行描述。
1) Setup该算法输入安全参数 λ, 返回主密钥s和系统参数params = ( G1, G2, H0, H1, H2, F1, F2, e, P, q, Ppub, λ, l1、l2) , 其中G1是q阶加法循环群, G2是一个q阶乘法循环群。H0: { 0, 1}*→G1*, H1: { 0, 1}*× G2→Zq, H2: G2→Zq*, F1和F2是两个哈希函数, 其中为定义在群G1、G2上的双线性对, l1和l2是两个正整数, 并且满足l1+ l2= | q | , λ 是一个安全参数, P是群G1上的元素, Ppub= s P是PKG的全局公钥, q是大素数。
2) Extract该算法输入用户U的身份信息IDU∈{ 0, 1}*, 计算私钥dU= s H0 ( IDU) 对应的公钥qU= H0 ( IDU) 。
3) Delegate该算法输入原始签名者的密钥dA和委托签名消息mw。随机选择kA∈Zp*并进行计算:, hA=H1 ( mw, rA) , S = hA·dA+ kAP, 输出委托状WA→B= ( mw, rA, s) 。
4) Del Verify代理签名者B收到委托状WA→B= ( mw, rA, s) , 计算hA= H1 ( mw, rA) , qA= H0 ( IDA) , 并进行验证, 如果, 则接受委托。
5) PKGen代理签名者B接受委托后计算代理签名密钥dp= hA·dB+ S, 其中hA= H1 ( mw, rA) 。
6) Psign代理签名者选择随机数kB∈Zp*, 消息m∈{ 0, 1}l2, 并计算代理签名 δ = ( rA, VB, mw, U) , 其中r B = e ( P, P) kB, v=rA·rB, β=F1 (m) ‖ (F2 (F1 (m) ) ⊕m) , α=[β]10, VB=H2 (υ) +α, U=kBP+dp。
7) Sign Verify / Message Recovery接收者收到签名 δ = ( rA, VB, mw, U) 后, 进行如下计算:
, 并恢复出消息m' = F2 (l1| β | ) ⊕ | β |l2, 如果l1| β | = F1 ( m') 则接受消息m'。
8) ID代理签名者的身份信息IDB能够通过mw进行跟踪验证。
整个签名验证和消息恢复过程的正确性证明如下:
由于, 所以, 并且消息的完整性可通过进行证明。
3 安全性和效率分析
3. 1 安全性分析
本节对所提出的方案进行安全性证明。
定理在随机预言模型下, 对于本文给出的新方案, 假设攻击者A进行上述的ExpAIDPSWM ( λ) 模拟实验, 如果在指定的时间T内, 以不可忽略的概率 ε 攻击成功。则存在攻击者A', 在有限的时间T'内, 能够成功解决CDHP难题。其中, 分别表示攻击者A对预言机H0 ( ·) , H1 ( ·) , H2 ( ·) , PSign ( ·) 的询问次数, 。
为了证明这个定理, 定义如下的带消息恢复功能的通用数字签名方案 ( IDWM) 。
Key Gen给定安全参数 λ, 生成密钥对的过程如下:
( 1) ( s, param) ← ( setup ( 1λ) ) , 其中params = ( G1, G2, q, e, P, Ppub, H0, H1) , Ppub= s P。随机选取Q, qA∈G1*, 令dA= sqA, d= s Q。
( 2) 随机选取mw∈{ 0, 1}*, 对委托消息mw使用密钥dA, 应用文献[5]的方法计算签名 ( mw, rA, UA) 。
( 3) 计算hA= H1 ( mw, rA) 和dp= hA·d + UA。
( 4) 公开参数为 ( G1, G2, H0, H1, F1, F2, e, q, p, Ppub, Q, qA, mw, hA, rA) , 私钥为dp。
Sign对消息m∈{ 0, 1}| l2|进行签名计算。选取k1∈Zq*, 计算, 则消息m的签名为δ = ( rA, VB, mw, U) 。
Verify接收者受到签名 δ = ( rA, VB, mw, U) 后, 计算。通过等式进行签名验证。验证通过后恢复消息。
引理1 给定参数 ( G1, G2, H0, H1, H2, F1, F2, e, P, Ppub, q, Q, qA, rA, mw, λ, l1, l2, hA) , 设, 则下面的两个分布是不可区分的:
证明选取一个三元组 ( α, β, γ) , 其中 α∈G2*, β∈Zq, γ∈G1。令 α = e ( γ, P) ( rA·e ( qA+ Q, Ppub) hA) - 1≠1。
下面计算分别计算两个三元组的不可区分度概率:
定理的证明通常假定攻击者A在进行Extract ( ·) , delegate ( ·) , PKGen ( ·) , Psign ( ·) 之前, 可以对任何的身份ID向H0 ( ·) 进行多次密钥询问。
从攻击者A的角度来考虑, 构建这样一个概率算法B, 即通过输入P, a P, Q∈G1*, 输出a Q, 运算过程如下:
( 1) 挑战者C运行Setup ( 1λ) , 生成 ( G1, q, P, a, q) 并发送给算法B。B根据这些元素生成一组参数params = ( G1, G2, H0, H1, H2, F1, F2, e, q, P, Ppub, Q, qA, mw, hA, rA, l1, l2)
( 2) 令Ppub←a P, i←1。
( 3) 令Clist, Dlist, Glist, Slist初始为空集。
( 4) 随机选取参数和xi∈Zq, 。
( 5) 算法B把公开参数params发送给A, 并让A模拟ExpAIDPSWM ( λ) , 在密钥生成阶段, 算法B通过下面的方法推导A要获取的预言信息。
H0 ( ·) 输入指定身份ID, 算法B检查H0 ( ID) 是否被定义, 若未定义, 则:
并且让IDi←ID, i←i + 1, 并把H0 ( ID) 返回给攻击者A。
H1 ( ·) 攻击者A通过 ( m, r) 随机向H1 ( ·) 进行询问, 算法B检查H1 ( m, r) 是否被定义, 若未定义, 则随机选取随机数c∈Zp*作为H1 ( m, r) 的值返回给A。
Extract ( ·) 攻击者A向算法B输入IDi, 如果i = t, 则终止算法, 否则计算di= xiPpub响应A, 并将 ( IDi, di) 加入集合Clist。
Delegate ( ·) 输入IDi和委托消息mw, 如果i≠t, 算法B计算di = xiPpub作为其密钥对mw使用Gu和Zhu在2005 年提出的签名方案进行签名并获得 ( r0, s0) 。否则, 按如下的步骤推导IDi'的代理委托状。
随机选取S0∈G1, h0∈Zq。
计算
如果攻击者A向H1 ( ·) 做过 ( mw, r0) 询问, 则算法终止 ( 出现碰撞) , 否则设置H1 ( mw, r0) = h0, 并计算W = ( mw, r0, S0) 来响应攻击者, 同时把 ( IDi, mw, W) 加入集合Dlist。
PKGen ( ·) 输入代理签名者的身份IDj和委托书W = ( mw, r0, S0) , 如果j = t则终止算法, 否则算法B计算dp= H1 ( mw, r0) xjPpub+ S0来响应攻击者A, 并把 ( W, IDj, dp) 加入集合Glist。
PSign ( ·) 输入W = ( mw, r0, S0) , 消息m, 指定者的身份IDi和代理签名者的身份IDj, 如果j≠t, 算法B以dp= H1 ( mw, r0) xjPpub+ S0作为代理密钥计算消息m的代理签名 δ = ( r0, Vp, mw, Up) 来响应攻击者A, 否则按如下过程用身份IDi'来伪造IDi代理签名。
随机选取U'∈G1, V∈Z ( | V| ≤| q| ) 。
检查H1 ( mw, r0) 是否被定义, 若未定义, 通过 ( mw, r0) 询问随机预言机H1 ( ·) 并返回h = H1 ( mw, r0) 。
计算rp= e ( U', P) · ( e ( xi·P + Q, Ppub) h·r0) - 1和Up= U'。
如果攻击者A向H2 ( ·) 进行过 ( rp, r0) 询问, 则终止算法 ( 出现碰撞) , 否则计算Vp= H2 ( r0, rp) +[β]10, 其中 β = F1 ( m) ‖ ( F2 ( F1 ( m) ) ⊕ m) 。
输出 δ = ( r0, Vp, mw, Up) , 并把 ( W, m, δ) 加入到集合Slist中, 根据上面的定理, 上述的推导过程和真实签名过程是不可区分的。
( 6) 如果攻击者A用指定的身份信息和代理签名者身份信息获取了签名 ( W, m, δ) = ( ( mw, r0, S0) , m, ( r0, Up, mw, Vp) ) , 并满足PVerify ( ( m, δ) , IDi) = 1, ( W, m, δ) Slist, ( IDj, dj) Clist, ( IDj, W, dp) Glist, j = t, 则算法B成功伪造了签名 ( r0, Vp, mw, Up) 和应用的代理私钥dp= a Q, 其中h = H1 ( mw, r0) 。
( 7) 不失一般性, 假定算法B获得两个委托状和签名对 ( W, m, δ) = ( ( mw, r0, S0) , m, ( r0, Up, mw, Vp) ) 和 ( W', m, δ') = ( ( m'w, r0, S0') , m, ( r0, U'p, m'w, V'p) ) 。其中S0= H1 ( mw, r0) 。
dp+ k0P, S0'= H1 ( m'w, r0) ·dp+ k0P, 对应的私钥dp= a Q可通过如下方式计算:
另外, 令H1 ( mw, r0) = e, i = 1, 并转向第 ( 5) 步继续执行。在算法B执行的过程中, 如果攻击者A模拟ExpAIDPSWM ( λ) 并输出2, 则表示攻击成功。这样, 对攻击者A来说, 算法B产生的签名同挑战者产生的签名是不可区分的。由于t是随机选择的, 在有限的时间T内, 通过私钥dp= ha Q + U0, 算法B能够以ε / nh1的概率成功伪造IDWM方案的签名。IDWM方案是基于分叉引理的一个通用签名方案, 若算法B能够生成消息m的两个合法签名 ( mw, r0, S0, h0) 和 ( mw, r0, S'0, h'0) , 其中h0≠h'0, 则在有限的时间内, B能够成功计算出a Q。定理证明完毕。
所以, 在随机预言模型下, 文中提出的方案在自适应选择身份和消息攻击下是不可伪造的和可委托的, 方案的安全性规约为CDHP难题。
3. 2 效率分析
本节对新方案的效率进行分析。从消息签名的长度和计算代价两个方面, 将新方案和一些相关知名方案进行比较分析。具体比较见表1 所示, 其中, M表示加法群G1上的普通标量乘法运算, E表示乘法群G2上的指数运算, H表示一个哈希函数运算。
从表1 可以看出, 与现有方案相比, 新方案的签名长度是最短的。在签名委托阶段, 新方案和现有方案的运算量大概相同。在委托验证阶段, 新方案只需一个双线性对运算和一个指数运算, 比其它的方案效率都高。在代理密钥生成阶段, 新方案的运算量同其它方案相同。在代理签名阶段, 新方案比表中的前两个方案少了一个M运算, 和Gu方案[5]的运算量相同。在签名验证/消息恢复阶段, 新方案的运算量和其它方案大概相同。总的来看, 文中提出的新方案和现有方案相比, 需要的传输带宽更低, 运算的效率更高。
4 结语
本文给出了一个带消息恢复功能的基于身份的代理签名方案。该方案只需更小的传输带宽, 可以很好地代替基于证书代理签名, 因此特别适合用在传输带宽受限的网络环境中使用。同时, 本文提出的方案在随机预言模型下基于CDHP难题, 对自适应选择身份和消息攻击是存在不可伪造的。该方案在设计时基于固定的消息长度, 方案通过分段消息恢复的方法, 可推广到任意消息长度的方案中。
参考文献
[1]Shamir A.Identity based cryptosystems and signature[C]//Proc.Crypto 84, Springer-Verlag, 1984.
[2]Mambo M, Usuda K, et al.Proxy signatures for deligating signing operation[C]//Proceedings of the 3rd ACM Conference on Computer and Communication Security (CCS) , ACM Press, New York, 1996.
[3]Zhang F, Kim K.Efficient ID-based blind signature and proxy signature from bilinear pairing[C]//Proc.ACISP’03, Springer-Verlag, 2003, LNCS-2727:312-323.
[4]Zhang F, Susilo W, Mu Y.Identity based partial message recovery signature[C].FC’05, 2005, LNCS-3570:45-56.
[5]Gu C, Zhu Y.Probable secuirty of ID-based proxy signature schems[C]//Proceedings of ICCNM’05, Springer-Verlag, 2005, LNCS-3619:1277-1286.
[6]Tso R, Gu C, et al.An efficient ID-based digital signature scheme with message recovery[J].Cryptology and Network Security.Springer, Berlin/Heidelberg, 2007, LNCS-4856:47-59.
[7]Wang B.A new identity based proxy signature scheme[EB/OL].Cryptology Eprint Archive Report, 2008.http://www.eprint.iacr.org/2008/323.
[8]Wu W, Mu Y, et al.Identity based proxy signature from pairing[C]//Proc.ATC-2007.Springer-Verlag, 2007, LNCS-4610:22-31.
[9]Wu T, Hsu C, Lin H.Self certified multiproxy signature scheme with message recovery[J].Zhejiang Univ.Sci.2009, 10 (2) :290-300.
[10]刘振华, 等.标准模型下基于身份的具有部分消息恢复功能的签名方案[J].北京工业大学学报, 2010 (5) .
多级代理签名方案分析 篇6
关键词:数字签名,代理签名,门限多代理多签名,内部攻击
0引言
自1976年Diffie和Hellman首次提出数字签名概念以来[1], 数字签名在一些特殊行业, 如金融、商业、军事等领域得到广泛的应用, 尤其在数据完整性检验、身份鉴别、防否认性等方面具有独特的功能[2]。随着社会的发展, 普通的数字签名方案已经不能满足实际需求, 为了适应实际需要, 许多具有特殊功能的数字签名方案相继提出, 如门限签名[3]、代理签名[4]等。
2003年, Li等提出了一种同时具有多种特殊功能的数字签名即门限多代理多签名[5]。在 (t1, n1;t2, n2) 门限多代理多签名方案中, 只有n1个原始签名者中的任意t1个或多于t1个共同合作才能将代理权授给代理签名者, 同时, 只有n2个代理签名者中的任意t2个或多于t2个共同合作才能生成有效的签名。门限多代理多签名是门限签名和多重代理多重签名的有机结合, 克服了多重代理多重签名需要所有的原始签名者合作才能授权及所有的代理签名者合作才能签名这个弱点, 与普通的多重代理多重签名相比, 门限多代理多签名具有更大的灵活性和实用性。但是, 2004年Hwang等指出Li方案存在缺陷并进行了改进[6]。
2004年, Tzeng等提出了一个具有共享验证性质的门限多代理多签名方案[7], 即在该方案中, 不仅原始签名者和代理签名者是由群体组成, 而且验证者也是由群体组成。但是, Tzeng方案存在一些缺陷[8,9,10], 其中Kang等指出Tzeng方案具有这样一个缺陷:n1个原始签名者中的任意t′1个都能代表原始组将签名权委托给代理组, 并进行了相应的改进[9]。为了方便叙述, 我们把Kang等提出的方案称为KHW 方案。本文指出, KHW 方案仍存在缺陷, 即如果存在一定数量的恶意内部成员, 则当他们截获到一个有效的签名后, 可以实施合谋攻击, 最终伪造出另一个有效的签名。最后, 本文对攻击存在的原因及后果作了详细的分析, 并提出了改进措施。
1KHW方案简介
设GO={UO1, UO2, …, UOn1}表示有n1个原始签名者的组, GP={UP1, UP2, …, UPn2}表示有n2个代理签名者的组, GV={UV1, UV2, …, UVn3}表示有n3个验证者的组。系统中心SC负责产生系统参数、个人私钥和群私钥及相应的公钥。
1.1参数产生过程
SC按照如下过程选择和计算系统参数及密钥:
(1) 选择两个大素数p和q, 满足q|p-1, g是GF (p) 中的一个q阶生成元;选择hash函数h。
(2) 选择三个秘密多项式:
fO (x) =Ot1-1xt1-1+Ot1-2xt1-2+…+O1x+O0 (mod q)
fP (x) =Pt2-1xt2-1+Pt2-2xt2-2+…+P1x+P0 (mod q)
fV (x) =Vt3-1xt3-1+Vt3-2xt3-2+…+V1x+V0 (mod q)
其中Ol, Pi, Vj∈Zq*, l=0, 1, 2, …, t1-1, i=0, 1, 2, …, t2-1, j=0, 1, 2, …, t3-1。
(3) fO (0) = O0为群GO的私钥, fP (0) = P0为群GP的私钥, fV (0) =V0为群GV的私钥。YO=gfO (0) (mod p) , YP=gfP (0) (mod p) 及YV=gfV (0) (mod p) 为相应的公钥。
(4) 每个原始签名者UOl的私钥为ηOl, 分享私钥为fO (xOl) , 相应的公钥为βOl = gηOl (mod p) 和yOl=gfO (xOl) (mod p) , l=1, 2, …, n1。每个代理签名者UPi的私钥为λPi, 分享私钥为fP (xPi) , 相应的公钥为γPi=gλPi (mod p) 和yPi=gfP (xPi) (mod p) , i=1, 2, …, n2。每个验证者UVj的分享私钥为fV (xvj) , 相应的公钥为yVi=gfV (xVj) (mod p) , j=1, 2, …, n3。其中xOl、xPi、xvj分别为UOl、UPi、UVj的唯一身份标志符。
最后, SC公开系统参数 (p, q, g) , h, 及所有的公钥YO, YP, YV, βOl, yOl, γPi, yPi, yVi。
1.2代理份额产生阶段
方案中要求任意t1个原始签名者都能代表原始群授权给代理群。不失一般性, 设DO={UO1, UO2, …, UOt1}为实际参与的原始签名者, 在DO中选择一个合成者。DO按照如下过程将代理权授给GP:
(1) 每个UOi选择一个随机数ai∈Zq*, 广播ki=gai (mod p) 。
(2) 每个UOi计算:
K=∏
σOi= (ai+ηOi) K+fO (xOi) LOi (mod q)
其中LOi=∏
(3) 每个UOi在公开信道上发送σOi给指定的合成者。
(4) 指定的合成者收到σOi后, 通过下式检查σOi是否有效。
gσOi = (kiβOi) KyOiLOi (mod p)
若成立, 则计算σ = t2 -1∑
最后, 每个代理签名者UPi (i=1, 2, …, n2) 验证:
gσ = ( (K∏
是否成立, 若成立, 则将σ作为代理份额。
1.3代理签名产生阶段
方案中要求任意t2个代理签名者都能代表代理群对消息m签名。不失一般性, 设DP={UP1, UP2, …, UPt2}为实际参与签名的代理签名者, 在DP中选择一个合成者。DP按照如下过程产生签名:
(1) 每个UPi选择一个随机数bi∈Zq*, 广播rpi=gbi (mod p) 。
(2) 每个UPi计算:
r′pi=YVfP (xPi) LPi + bi (mod p)
其中LOi=∏
(3) 每个UPi计算:
R′=∏
si=R′fP (xPi) LPi+Rbi- (λPi+σ) h (m) (mod q) (1)
发送部分签名si给合成者。
(4) 合成者验证:
yPiR′LPirpiR = gsi (γPi ( (K∏i = 1t1 βOi) KYO) t2 -1) h (m) (mod p) (2)
是否成立, 若成立, 则计算s=∑
1.4代理签名的验证过程
方案中要求任意t3个验证者都能代表验证群对代理签名进行验证。不失一般性, 设DV={UV1, UV2, …, UVt3}为实际参与的验证者。DV按照如下过程进行验证:
(1) 每个UVj计算:
rVj= (YPR) fV (xVj) LVj (mod p)
其中LVj=∏
(2) UVj计算:R′=∏
YPR′RR = gs (∏
是否成立, 若成立, 则 (R, K, ∏
2KHW方案的攻击
设GO中有t1个恶意的内部成员, 不失一般性, 可设为A= D′O={U′O1, U′O2, …, U′Ot1}, U′Oi∈GO, i=1, 2, …, t1, 选取其中一人为合成者。由KHW方案可知, 攻击者A容易获得方案中的 σ, 这时他们只要截获到消息m的有效签名 (R, K, ∏
(1) 每个U′Oi随机选择a′i∈Zq*, 广播k′i=ga′i (mod p) 。
(2) 每个U′Oi收到k′i后, 计算:
K′=∏
σ′Oi= (a′i+η′Oi) K′+fO (x′Oi) L′Oi (mod q)
其中L′Oi=∏
(3) 每个U′Oi将σ′Oi发送给指定的合成者。
(4) 指定的合成者收到σ′Oi后, 可以通过gσ′Oi = (ki′β′Oi) K′y′OiL′Oi (mod p) 验证σ′Oi的有效性。若成立, 指定的合成者计算σ′ = t2 -1∑
(5) 此时, 攻击者A可以计算s′=t2 (σ-σ′) h (m) +s (mod q) 。
最后, 攻击者利用 (R, K′, ∏
3KHW方案的攻击分析及改进
3.1攻击的正确性
由KHW方案中的代理份额产生过程可知:
gσ = ( (K∏
由验证过程可知:
YP R′RR = gs (∏
由攻击过程可知:
gσ′ = ( (K′∏
进一步有:
gs′ (∏
= gt2 (σ-σ′) h (m) gs (∏
=gt2σh (m) gs (∏
=gs (∏
=gs (∏
= YP R′RR
所以验证者可以验证 (R, K′, ∏
3.2攻击的后果
由攻击过程及正确性分析可知, 在攻击者A截获了KHW方案中的 σ和消息m的有效签名 (R, K, ∏
3.3攻击的原因
攻击成功的关键原因不是攻击者能获取σ和截获有效签名 (R, K, ∏
3.4改进的方案及分析
由上面的攻击原因, 我们可以将原方案进行改进。在原方案的基础上, 将式 (1) -式 (3) 分别改为:
si=R′fP (xPi) LPi+Rbi- (λPi+σ) h (m‖R‖R′‖K‖APSID‖AOSID)
yPi R′LPi rpi R = gsi (γPi ( (K∏
YP R′RR = gs (∏
其中APSID和AOSID分别表示实际参与签名的代理签名者和实际参与授权的原始签名者。此时, 攻击者要想伪造签名, 就必须计算:
s′=t2 (σ-σ′) h (m‖R‖R′‖K′‖APSID‖AOSID′) +s (mod q)
但是由于攻击者无法知道R′, 所以攻击不能成功。
4结束语
本文给出了KHW方案中内部成员实施的一个伪造攻击, 并详细阐述了攻击造成的严重后果, 最后在分析攻击原因的基础上提出了改进方案。
参考文献
[1]Diffie M, Hellman M E.New directions in cryptography[J].IEEE Trans-actions on Information Theory, 1976, 22 (6) :644-654.
[2]赵泽茂.数字签名理论[M].北京:科学出版社, 2007:4-7.
[3]Mambo M, Usuda K, Okamoto E.Proxy signatures:delegation of the power to sign messages[J].IEICE Trans.Fundamentals, 1996, E79-A (9) :1338-1354.
[4]Desmedt Y, Frandel Y.Shared generation of authenticator and signature[C].//Proc of Advances in Cryptology-Crypto’91.Berlin:Springer-Verlag, c1991:457-469.
[5]Li L H, Tzeng S F, Hwang MS.Generalization of proxy signature based on discrete logarithms[J].Computers&Security, 2003, 22 (3) :245-255.
[6]Hwang S J, Chan C C.Improvement on Li et al.’s generalization of proxy signature schemes[J].Computers&Security, 2004, 23 (7) :615-619.
[7]Tzeng S F, Yang C Y, Hwang M S.A nonrepudiable threshold multi-proxy multi-signature scheme with shared verification[J].Future Gen-era-tion Computer Systems, 2004, 20 (5) :887-893.
[8]Kang Baoyuan, Han Jingguang, Wang Qinju.A new threshold multi-proxy multi-signature scheme[J].Journal of Electronics (China) , 2006, 23 (4) :560-563.
[9]Bao Haiyong, Cao Zhenfu, Wang Shengbao.Improvement on Tzeng et al.’s nonrepudiable threshold multi-proxy multi-signature scheme with shared verification[J].Applied Mathematics and Computation, 2005, 169 (2) :1419-1430.
多级代理签名方案分析 篇7
门限代理重签名不仅能有效分散单个代理者的重签名权力, 还可保证重签名密钥的安全性和完整性。在一个 (t, n) 门限代理重签名方案中, 重签名密钥被分成个n个子密钥, 然后分发给n个半可信的代理者持有。即使攻击者攻陷了t-1个代理者, 门限代理重签名方案仍是安全的。在现有的大部分门限代理重签名方案中, 只有一个固定的门限值[1,2,3]。然而, 在许多实际应用中, 参加重签名的代理者数目往往取决于重签名消息的重要性, 这就要求签名方案的门限值是可变的。
近年来, 代理重签名是密码学的一个热点研究方向, 国内外学者在代理重签名和门限代理重签名方面已进行了一些出色的工作[4,5,6,7,8,9,10];但可变门限代理重签名的研究才刚刚起步, 关于可变门限代理重签名的公开文献非常少。文献[11]提出了可变门限代理重签名的思想, 并构造了一个可证明安全的单向可变门限代理重签名方案, 但该方案的部分重签名算法和签名验证算法的效率比较低。当用具体的密码学哈希函数替换随机预言机时, 在随机预言模型下可证安全的签名方案不一定是安全的。因为单向代理重签名能实现双向代理重签名的功能, 所以研究无随机预言机的单向可变门限代理重签名方案就显得很有吸引力。本文在Sherman等人[5]提出的代理重签名方案的基础上, 提出一个在标准模型下可证明安全的单向可变门限代理重签名方案, 并利用文献[11]的安全性证明思想, 给出了新方案的安全性证明。在门限重签名密钥生成算法中, 分发者和每个代理者之间仅通信一次。根据可变的门限值, 每个代理者都能非交互地生成相应的重签名子密钥和验证公钥。与文献[11]的单向可变门限代理重签名方案相比, 新方案的部分重签名算法和重签名验证算法具有较高的计算效率, 同时具有更短的重签名长度。
1 准备知识
定义1 (CDH问题) 设p是一个大素数, G是一个阶为p的循环群, g是G的一个生成元, 群G上的计算性Diffie-Hellman (CDH) 问题是:已知 (g, ga, gb) ∈G3, 计算gab, 这里a, b∈Zp。
定义2 (CDH假设) 如果没有一个概率多项式时间算法在时间t内以至少ε的概率解决群G上的CDH问题, 则称群G上的 (t, ε) -CDH假设成立。
定理1 (中国剩余定理) 设q1, q2, …, qk是两两彼此互素的k个正整数, Q=q1, q2, …, qk, 则一次同余方程组x=ai (modqi) (i=1, 2, …, k) , 对模Q有唯一解:
这里Qi=Q/qi, Qiei=1 (modqi) (i=1, 2, …, k) 。
定义3一个单向可变门限代理重签名方案是一个由概率多项式时间算法构成的七元组 (Setup, Key Gen, Rekey Share, Sign, Resign Share, Combine, Ver) 。
1) Setup是系统参数生成算法:输入一个安全参数1λ, 输出系统参数cp。
2) Key Gen、Sign和Ver算法与标准数字签名体制中的密钥生成算法、签名算法和签名验证算法相同。
3) Rekey Share是门限重签名密钥生成算法:给定一个受托者的公钥pkA和一个委托者的公钥/私钥对 (pkB, skB) , 生成一个重签名密钥rkA→B, 然后将rkA→B分割成n个子密钥rkiA→B分发给n个代理者秘密保管。根据可变的门限值k, 每个代理者Pi均能生成相对应的重签名子密钥rkk, iA→B和验证公钥vkk, i。
4) Resign Share是部分重签名生成算法:给定一个门限值k, 一个重签名子密钥rkk, iA→B, 一个公钥pkA, 一个消息m和一个签名σA, 该算法首先验证σA的合法性, 如果Ver (pkA, m, σA) =1, 输出一个对应于公钥pkB的m的部分重签名σB, i;否则, 输出⊥。
5) Combine是门限重签名生成算法:给定k个诚实代理者对消息m的部分重签名输出一个对应于公钥pkB的消息m的门限重签名σB。
2 一个新的单向可变门限代理重签名方案
在Sherman等人[5]提出的代理重签名方案的基础上, 提出了一个新的单向可变门限代理重签名方案。假定签名消息m的和用户公钥pk的长度分别是nm和nη长的比特串, 可用两个个抗碰撞的哈希函数H1:{0, 1}*→{0, 1}nm和H2:{0, 1}*→{0, 1}nη来实现。新方案由受托者、委托者和n个半可信的代理者{P1, …, Pn}组成。新方案具体描述如下:
1) Setup:给定一个安全参数1λ, 选择一个大素数p和两个阶为p的循环群G1和G2, 定义一个双线性映射e:G1×G1→G2。在G1中随机选取nη+1个元素和nm+1个元素选择G1的一个生成元g, 并随机选取n个两两互素的正整数q0
2) Key Gen:选择一个随机数x∈Zp*, 输出公钥pk=gx和私钥sk=x。
3) Rekey Share:给定一个受托者的公钥pkA=gα和一个委托者的公钥/私钥对 (skB, pkB) = (β, gβ) , 该算法执行如下操作:
(1) 在Zp*中选取两个随机数bi和ci, 计算根据中国剩余定理计算a0∈ZQ, 使得a0=β (modqj) , j=0, …, n-1。构造一个n-1次秘密多项式对于任意的门限值k (1≤k≤n) , 一定存在一个k-1次秘密多项式
(2) 在Zp*中选取两个随机数ei和di, 计算随机选择一个数t∈Zp, 根据中国剩余定理计算t0∈ZQ, 使得t0=t (modqj) , 0≤j≤n-1。构造一个n-1次秘密多项式对于任意的门限值k (1≤k≤n) , 一定存在一个k-1次秘密多项式
(3) 广播Aj=gaj, Bj=gtj, j=0, 1, …, n-1, 其中B0=gt, A0=pkB。
(4) 根据中国剩余定理, 计算秘密份额 (f (i) , g (i) ) ∈ZQ2, 满足f (i) =fk (i) (modqk-1) , g (i) =gk (i) (modqk-1) , k=1, 2, …, n。通过一个秘密渠道将秘密份额 (i, f (i) , g (i) ) 发送给代理者Pi, i=1, 2, …, n。
(5) Pi收到 (f (i) , g (i) ) 后, 首先计算f (i) (modqn-1) =fn (i) , g (i) (modqn-1) =gn (i) , 然后通过下式验证收到的秘密份额的合法性:
如果上面两个等式都成立, 则说明秘密份额 (f (i) , g (i) ) 是合法的。
对于任意的门限值k (1≤k≤n) , 每个代理者Pi在本地计算 (fk (i) , gk (i) ) = (f (i) (modqk-1) , g (i) (modqk-1) ) , 然后广播验证公钥vkk, i=gfk (i) , 并计算相应的重签名子密钥:
4) Sign:给定一个私钥sk=α和一个消息输出一个m的签名这里r是Zp中的一个随机数
7) Ver:输入一个nm比特长的消息m, 一个nη比特长的公钥pk和一个待验证的签名σ, 如果σ= (σ1, σ2, σ3) 且输出1;如果输出1;否则, 输出0。
3 安全性分析与证明
3.1 正确性分析
本方案的正确性可以通过以下方程得到验证:
(1) 秘密份额 (i, f (i) , g (i) ) 的正确性验证
代理者Pi收到秘密份额 (i, f (i) , g (i) ) 后, 可通过下式验证其合法性:
(2) 门限值为k时的部分重签名σB, i= (σi, 1, σi, 2, σi, 3) 的正确性验证:
(3) 门限值为k时的门限重签名σB= (σB, 1, σB, 2, σB, 3) ) 的正确性验证:
3.2 安全性分析
利用文献[11]可模拟性的安全性证明方法, 证明本文提出的新方案的安全性。
定理2门限重签名密钥生成算法Rekey Share是可模拟的。
证明:给定一个门限值k, 一个受托者和一个委托者的公钥 (pkA, pkB) , 构造一个门限重签名密钥生成算法Rekey Share的模拟器SIMRekey。SIMRekey知道已被攻陷代理者的验证公钥vkk, i和重签名子密钥rkAk, i→B, i=1, 2, …, k-1;然后计算未被攻陷代理者的验证公钥。
这里λj, i是Lagrange插值多项式的系数。由于从而可计算Ai和Bi, i=1, 2, …, k-1。从攻击者的角度来看, 模拟器SIMRekey的模拟过程与Rekey Share算法的执行过程是不可区分的, 所以Rekey Share算法是可模拟的。
定理3部分重签名生成算法Resign Share是可模拟的。
这里λj, i是Lagrange插值多项式的系数。因此, SIMResign能模拟攻击者在算法Resign Share中输出消息的部分重签名的视图。综上所述, 本文提出的可变门限代理重签名方案是可模拟的。
即使恶意的攻击者攻陷了k-1个代理者, 我们的方案只要有k个诚实的代理者仍能生成一个合法的重签名, 所以当n≥k+k-1=2k-1时, 我们的单向门限代理重签名方案是强壮的。
定理4如果一个单向可变门限代理重签名方案是可模拟的, 且关联于该门限方案的代理重签名方案是安全的, 则单向可变门限代理重签名方案也是安全的[11]。
定理5在标准模型下, Sherman等人提出的代理重签名方案在适应性选择消息攻击下是安全的, 其安全性可归约到计算性Diffie-Hellman (CDH) 假设[5]。
结合定理2、定理3、定理4、定理5和单向门限代理重签名方案的强壮性, 可得如下定理:
定理6在标准模型下, 本文所提出的单向可变门限代理重签名方案在CDH假设下是安全的;对于某个门限值k, 如果n≥2k-1, 则新方案也是强壮的。
3.3 性能比较
下面将本文提出的新方案与文献[11]的单向可变门限代理重签名方案进行计算开销和重签名长度的比较。假定所有方案选择相同长度的素数|p|=160比特。记P表示双线性对运算, E表示指数运算。相对于双线性对和指数运算而言, 模乘法运算、模加法运算和普通哈希函数的计算量都比较小, 因此这些运算操作将不再进行讨论。所有方案的比较结果如表1所示。
从表1可以看出, 与文献[11]的单向可变门限代理重签名方案相比, 本文提出的新方案在部分重签名算法中少4次指数运算、重签名验证算法少1次双线性对运算、重签名的长度少160比特, 所以本文提出的新方案比文献[11]的方案具有较高的计算效率、更短的重签名长度。
4 结语
单向可变门限代理重签名可实现双向可变门限代理重签名的性能, 所以单向可变门限代理重签名更具有研究价值。基于Sherman等人[5]提出的代理重签名方案, 提出了一个单向可变门限代理重签名方案, 并在标准模型下给出了该方案的安全性证明。然而, 双线性对是已知最复杂的密码操作, 如何设计没有双线性对的可变门限代理重签名是我们下一步的研究方向。
参考文献
[1]Yang Piyi, Cao Zhenfu, Dong Xiaolei.Threshold proxy re-signature[J].Journal of Systems Science and Complexity, 2011, 24 (4) :816-824.
[2]Yang Xiaodong, Wang Caifen.Threshold proxy re-signature schemes in the standard model[J].Chinese Journal of Electronics, 2010, 19 (2E) :345-350.
[3]Yang Xiaodong, Wang Caifen, Zhang Yulei, et al.A new forward-secure threshold proxy re-signature scheme[C]//Proceedings of IC-NIDC2009, 2009:566-569.
[4]Benoit L, Damien V.Multi-use unidirectional proxy re-signatures[C]//Proceedings of the 15th ACM Conference on Computer and Communications Security.Alexandria, USA, 2008:511-520.
[5]Sherman C, Raphael P.Proxy re-signatures in the standard model[C]//Proceedings of the 11th International Conference on Information Security, Taibei, China, 2008:260-276.
[6]Ateniese G, Hohenberger S.Proxy re-signatures:new definitions, algorithms, and applications[C]//Proceedings of the 12th ACM CCS, Alexandria, USA, 2005:310-319.
[7]Shao Jun, Wei Guiyi, Ling Yun, et al.Unidirectional identity-based proxy re-signature[C]//Proceedings of 2011 IEEE ICC, 2011:1-5.
[8]Guo Duntao, Wei Ping, Yu Dan, et al.A certificateless proxy re-signature scheme[C]//Proceedings of IEEE ICCSIT 2010, 2010:157-161.
[9]Yang Xiaodong, Wang Caifen.Efficient on-line/off-line proxy re-signature schemes[J].Journal of Electronics&Information Technology, 2011, 33 (12) :2916-2921.
[10]Hong Xuan, Chen Kefei, Wan Zhongmei.Simplified universally composable proxy re-signature[J].Journal of Software, 2010, 21 (8) :2079-2088.