MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); function MyAutoRun() { var topp=$(window).height()/2; if($(window).height()>450){ jQuery(".outline_switch_td").css({ position : "fixed", top:topp+"px" }); } } window.onload=MyAutoRun; $(window).resize(function(){ var bodyw=$win.width(); var _leftPaneInner_width = jQuery(".rich_html_content #leftPaneInner").width(); var _main_article_body = jQuery(".rich_html_content #main_article_body").width(); var rightw=bodyw-_leftPaneInner_width-_main_article_body-25; var topp=$(window).height()/2; if(rightw<0||$(window).height()<455){ $("#nav-article-page").hide(); $(".outline_switch_td").hide(); }else{ $("#nav-article-page").show(); $(".outline_switch_td").show(); var topp=$(window).height()/2; jQuery(".outline_switch_td").css({ position : "fixed", top:topp+"px" }); } }); 高效可证安全的无证书聚合签名方案
  软件学报  2015, Vol. 26 Issue (12): 3204-3214   PDF    
高效可证安全的无证书聚合签名方案
周彦伟1, 2, 3, 杨波1, 2, 3 , 张文政2    
1. 陕西师范大学计算机科学学院, 陕西 西安 710062;
2. 国家保密通信重点实验室, 四川 成都 610041;
3. 信息安全国家重点实验室(中国科学院信息工程研究所), 北京 100093
摘要:由于现有聚合签名方案多数是基于双线性映射构造,存在计算效率低的不足.针对不同的网络环境,提出了2种不使用双线性映射的无证书聚合签名方案CLAS-Ⅰ和CLAS-Ⅱ,并在随机预言机模型下,基于离散对数困难问题证明了方案的不可伪造性;同时,分析了该方案所具有的公开验证性等安全属性.与现有方案相比较,由于未使用双线性映射运算,该方案具有更高的计算效率.由于方案CLAS-Ⅰ的聚合签名长度较长,将用于带宽较高的网络环境;CLAS-Ⅱ具有较短的签名长度,且长度与用户数无关,将用于带宽较低的网络环境.
关键词无证书聚合签名    随机预言机模型    无双线性映射    离散对数问题    
Efficient and Provide Security Certificateless Aggregate Signature Scheme
ZHOU Yan-Wei1, 2, 3, YANG Bo1, 2, 3 , ZHANG Wen-Zheng2    
1. School of Computer Science, Shaanxi Normal University, Xi'an 710062, China;
2. Science and Technology on Communication Security Laboratory, Chengdu 610041, China;
3. State Key Laboratory of Information Security(Institute of Information Engineering, the Chinese Academy of Sciences), Beijing 100093, China
Abstract: Almost all existing aggregate signature schemes are based on bilinear pairing which leads to high computational cost. In order to solve this problem under different network environment, two new certificateless aggregate signature schemes without bilinear pairing CLAS-Ⅰ and CLAS-Ⅱ are proposed in this paper. The proposed schemes are provably unforgeable in the random oracle model under the discrete logarithm assumption, and also have the security properties of public verifiability. Moreover, compared with other existing aggregate signature schemes in the computationally complexity, the proposal are more efficient. Meanwhile, the scheme CLAS-Ⅰ can be used for high bandwidth network environment because the length of signature is long, and the scheme CLAS-Ⅱ can be used in a narrow bandwidth network environment since it is the shortest certificateless aggregate signature and the number of users does not correlate to the length of the signatures generated by CLAS-Ⅱ,.
Key words: certificateless aggregate signature    random oracle model    without bilinear pairing    discrete logarithm problem    

Shamir于1984年提出基于身份的公钥密码体制(ID-PKC)[1],改进了传统公钥密码体制中公钥证书的管理问题.在ID-PKC体制中,用户的身份信息(如电话号码、姓名、电子邮件等)直接被作为公钥使用,而用户私钥由可信第三方——密钥生成中心(key generation center,简称KGC)提供.由于公钥无需与证书绑定,使得ID-PKC成为密码学领域的研究热点之一,目前已有很多基于身份的加密、签名方案相继被提出.但是由于KGC生成了用户私钥,使得KGC具有伪造任意用户的合法签名或替代任意用户进行签名验证的能力,即:ID-PKC存在密钥托管的不足,该不足制约了ID-PKC在实际生活中的应用.Al-Riyami和Paterson于2003年提出无证书公钥密码系统(CL-PKC)[2],减少了对KGC的依赖.在CL-PKC中,用户基于KGC计算的部分私钥和自身随机选取的秘密值生成用户完整的私钥;公钥由用户的秘密值、身份和系统参数计算得出.因此,CL-PKC克服了ID-PKC中用户密钥托管的问题,也消除了传统公钥密码学中公钥证书的复杂性管理问题,提高了密码系统的运行效率.

聚合签名的概念是由Boneh等人[3]在2003年提出的,是一种具有广阔应用前景的关键签名密码技术,对许多应用都有良好的支撑作用.聚合签名可同时给多个消息、多个用户提供不可否认服务,也可把任意多个用户的签名压缩成一个签名.因此,聚合签名既降低了签名的存储空间,也降低了对签名传输网络带宽的要求.同时,将任意多个签名的验证简化为一次验证,也降低了签名验证的工作量[4].

近年来,国内外学者对聚合签名领域进行了深入研究.在CL-PKC的基础上,已有若干无证书聚合签名(certificateless aggregate signature,简称CLAS)方案[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]相继被提出.文献[5]构造了两个CLAS方案,但在方案I中,聚合签名的长度随签名用户数的增加而变长,并且签名的验证计算量较大;由于签名验证阶段验证者需要计算(n+2)个耗时的双线性运算,导致方案II存在运行效率低的缺点.并且这两个方案的安全性证明均是在较弱的敌手模型假设下进行的,其安全性有待进一步检测.在文献[6]中,因为验证者需计算(n+3)个双线性运算才能完成签名的合法性验证,致使该方案存在运行效率低的不足.文献[7]在文献[6]的基础上提出了相应的改进方案,与文献[6]中的方案相比较,该方案提高了运行效率,但仍存在下述不足:① 为用户生成部分私钥时,KGC需要额外增加2个群元素;② 为完成签名,需要签名用户维护一个共同的状态信息.文献[8, 9]分别提出基于身份的聚合签名方案和具有常数次双线性运算的聚合签名方案,各方案中均需进行双线性映射运算,具有较高的计算效率.但文献[10]发现文献[8, 9]中的方案均存在安全性缺陷,在对原始方案进行安全性分析的基础上,文献[10]分别构造了针对上述方案的攻击算法.文献[11]提出进行常数次双线性运算,且签名长度固定的无证书聚合签名方案,并证明了方案的安全性.但文献[12]发现文献[11]中方案存在安全性缺陷,并在安全性分析的基础上构造了具体的安全性攻击算法.文献[13]提出新的进行常数次双线性运算的无证书聚合签名方案,同时对方案的安全性进行了证明.但文献[14, 15]均发现文献[13]中的无证书聚合签名方案无法满足其所声称的安全性,在安全性分析的基础上,分别构造了对文献[13]方案安全性的具体攻击算法.文献[16, 17, 18, 19]分别基于双线性映射提出了相应的聚合签名方案.

文献[5, 6, 7]分别提出了相应的无证书聚合签名方案,但是各方案中均使用了双线性映射运算,导致相关方案存在计算负载高的不足.虽然文献[8, 9, 10, 11, 12, 13]提出的聚合签名方案具有较高的计算效率,但遗憾的是,上述方案均存在安全性缺陷[10, 12, 14, 15].相较于文献[5, 6, 7]而言,文献[16]具有聚合签名长度短和验证效率高的优点,但该方案中,签名合法性验证阶段要进行4次双线性映射运算,由于双线性映射运算具有较高的计算量[20],所以该方案的高效性是相对而言的.文献[17, 18, 19]中,聚合签名的长度较长,并且计算效率较低.由于现有的聚合签名方案都是基于双线性映射构造,因此在不使用双线性映射的前提下进行聚合签名方案的设计,已成为聚合签名研究领域的热点问题.

针对不同网络环境对消息传输性能的要求,本文提出两种不使用双线性映射的无证书聚合签名方案,在随机预言机模型下,基于离散对数困难问题证明了方案的不可伪造性.相较与现有的无证书聚合签名方案而言,本文方案的签名及签名验证阶段无需进行双线性映射运算,具有更高的计算效率.方案CLAS-I的聚合签名较长,将用于带宽较高的网络环境,方案CLAS-II具有较短的聚合签名长度,且长度与用户数无关,将用于带宽较低的网络环境.

1 基础知识 1.1 困难性假设

定义1(离散对数(discrete logarithm,简称DL)问题).q(q>2k,k为安全参数)是大素数,循环群G的阶为q,P是群G的生成元;给定P,bpG,对于任意且未知的$b \in Z_q^ * $,DL困难问题的目标是计算b.

DL假设. 定义概率多项式时间算法A解决DL问题的优势为AdvDL(A)=Pr[A(P,bp)=b].对于任意的多项式时间算法A,优势AdvDL(A)都是可忽略的,则称之为满足DL假设.其中,概率来源于b在$Z_q^ * $上的随机选取和算法A的随机选择.

1.2 聚合签名

定义2. 聚合签名[4]是一种支持聚合特性的数字签名变体,即:给定n个用户${U_{I{D_i}}} \in U$(1≤in,U为用户集合),对消息miM(M为消息集合)的n个签名,聚合签名的生成者可以将这n个签名聚合成一个唯一的短签名.并且,当给定该聚合签名,参与生成聚合签名用户${U_{I{D_i}}}$的身份标识IDi及其签名的原始消息mi等相关信息时,可以使验证者确信是用户${U_{I{D_i}}}$对消息mi做的签名.

文献[4]详细介绍了聚合签名的工作原理及特点,并综述了聚合签名领域的研究现状;同时,在研究现状的基础上介绍了未来的研究方向.

1.3 无证书聚合签名方案及安全模型

无证书聚合签名方案[16]由算法Setup(初始化)、PartialPrivateExtract(部分密钥提取)、UserKeyGen(用户密钥生成)、Sign(签名)、Aggregate(聚合)和Verify(验证)构成.聚合签名方案的合法参与者有KGC、用户${U_{I{D_i}}}$(1≤in)、聚合签名者UAgg和签名验证者UVer,对各算法功能的介绍详见文献[16].本文方案中将算法PartialPrivateExtract和UserKeyGen的功能集成到算法KeyGen(密钥生成)中实现.

参照文献[7]所定义的安全模型,无证书聚合签名方案将面临AI和AII两类敌手的不可伪造性攻击.

AI类敌手无法掌握系统的主密钥,但其具有替换合法用户公钥的能力,则AI类敌手为恶意的用户.本文中,敌手A1即为AI类敌手.

AII类敌手可掌握系统的主密钥,但其不具有替换合法用户公钥的能力,则AII类敌手为恶意的KGC.本文中,敌手A2即为AII类敌手.

文献[7]详细介绍了无证书聚合签名方案在AI和AII两类敌手适应性选择消息攻击下不可伪造性的定义及相应的游戏,本文不再赘述,安全模型及游戏的具体定义见文献[7].

2 无双线性映射的无证书聚合签名方案 2.1 无证书聚合签名方案I(CLAS-I) 2.1.1 初始化(setup)

KGC执行下述操作:

① 定义阶为素数q(q>2k,k为安全参数)的循环群G,P为群G的一个生成元;

② 定义抗碰撞的安全哈希函数:${H_1}:{\{ 0,1\} ^{{L_1}}} \times G \times G \to Z_q^ * ,{H_2}:{\{ 0,1\} ^{{L_1}}} \times {\{ 0,1\} ^{{L_2}}} \times G \to Z_q^ * $,其中,L1为用户身份标识的长度,L2为消息长度;

③ 随机选取主密钥$s \in Z_q^ * $,计算系统公钥PPub=sP,公开参数Paramsq,P,G,PPub,H1,H2ñ,并秘密保存主密钥s.

2.1.2 密钥生成(KeyGen)

用户${U_{I{D_i}}}$的密钥生成过程如下:

① ${U_{I{D_i}}}$随机选取秘密值${x_{I{D_i}}} \in Z_q^ * $,计算公开参数${X_{I{D_i}}} = {x_{I{D_i}}}P$,发送身份标识IDi和公开参数${X_{I{D_i}}}$给密钥生成中心KGC;

② 给定用户${U_{I{D_i}}}$的身份标识IDi及公开参数${X_{I{D_i}}}$,KGC随机选取秘密数${r_{I{D_i}}} \in Z_q^ * $,计算${Y_{I{D_i}}} = {r_{I{D_i}}}P$和${y_{I{D_i}}} = {r_{I{D_i}}} + s{H_1}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$,通过已认证的安全信道将${y_{I{D_i}}}$和${Y_{I{D_i}}}$返回给用户${U_{I{D_i}}}$,其中${y_{I{D_i}}}$为${U_{I{D_i}}}$的部分私钥,${Y_{I{D_i}}}$为${U_{I{D_i}}}$的部分公钥;

③ ${U_{I{D_i}}}$通过验证等式${y_{I{D_i}}}P = {Y_{I{D_i}}} + {P_{Pub}}{H_1}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$是否成立,完成对KGC生成的部分私钥及公钥的正确性验证,则${U_{I{D_i}}}$的公私钥分别为$P{K_{I{D_i}}} = \langle {X_{I{D_i}}},{Y_{I{D_i}}}\rangle $和$S{K_{I{D_i}}} = \langle {x_{I{D_i}}},{y_{I{D_i}}}\rangle $.

2.1.3 聚合签名(aggregate signature)

(1) 用户${U_{I{D_i}}}$(1≤in)对消息mi进行签名,并将生成的签名${\sigma _{I{D_i}}}$发送给聚合签名者UAgg;

用户${U_{I{D_i}}}$随机选取秘密数${a_{I{D_i}}} \in Z_q^ * $,计算${V_{I{D_i}}} = {a_{I{D_i}}}P,h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}})$和${S_{I{D_i}}} = {a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2$,生成签名${\sigma _{I{D_i}}} = \langle {V_{I{D_i}}},{S_{I{D_i}}}\rangle $.

(2) UAgg收到${U_{I{D_i}}}$(1≤in)关于消息mi的签名${\sigma _{I{D_i}}} = \langle {V_{I{D_i}}},{S_{I{D_i}}}\rangle $后,分别计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}})$,当且仅当${S_{I{D_i}}}P = {V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)$成立时,UAgg接收${U_{I{D_i}}}$对mi的签名${\sigma _{I{D_i}}}$.

因为:${S_{I{D_i}}}P = ({a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2)P = {V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)$;其中,${y_{I{D_i}}} = {r_{I{D_i}}} + sh_{I{D_i}}^1.$

当用户${U_{I{D_i}}}$(1≤in)关于消息mi的签名${\sigma _{I{D_i}}}$的合法性验证都通过后,UAgg生成聚合签名σ:构造集合V={V1,V2,…,Vn},并计算$S = \sum\nolimits_{i = 1}^n {{S_{I{D_i}}}} $,则σ=(V,S)是UAgg关于身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}})(1\le i\le n)$的聚合签名.

2.1.4 聚合签名验证(AS-verify)

给定身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}})(1\le i\le n)$聚合签名σ=(V,S),签名验证者UVer进行如下操作:

① 对于每个签名者${U_{I{D_i}}}$(1≤in),计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}});$

② 验证等式$SP = \sum\nolimits_{i = 1}^n {[{V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} ]$是否成立:若成立,则接收签名σ=(V,S),输出True,表明σ=(V,S)是UAgg关于身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}})(1\le i\le n)$的聚合签名;否则拒绝,并输出False.

因为:$SP = \sum\nolimits_{i = 1}^n {{S_{I{D_i}}}P} = \sum\nolimits_{i = 1}^n {({a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2)P} = \sum\nolimits_{i = 1}^n {[{V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} ].$

2.2 无证书聚合签名方案II(CLAS-II)

方案CLAS-II的初始化算法和密钥生成算法与方案CLAS-I的Setup和KeyGen算法相同,并且在该方案中,各参与者基于认证的安全信道进行相关信息的共享.

2.2.1 聚合签名(aggregate signature)

(1) 用户${U_{I{D_i}}}$(1≤in)对消息mi进行签名,并将生成的签名${\sigma _{I{D_i}}}$发送给聚合者UAgg;同时,各用户间进行相关信息的共享.

用户${U_{I{D_i}}}$随机选取秘密数${a_{I{D_i}}} \in Z_q^ * ,$计算共享信息${V_{I{D_i}}} = {a_{I{D_i}}}P,$并将${V_{I{D_i}}}$发送给其他的n-1个用户${U_{I{D_j}}}$(1≤jn,ji);当${U_{I{D_i}}}$收到其他n-1个用户${U_{I{D_j}}}$的共享信息${V_{I{D_j}}}$后,首先计算$V = \sum\nolimits_{i = 1}^n {{V_{I{D_i}}}} ,$然后计算$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},V)$和${S_{I{D_i}}} = {a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2,$生成签名${\sigma _{I{D_i}}} = \langle V,{V_{I{D_i}}},{S_{I{D_i}}}\rangle .$

(2) UAgg收到${U_{I{D_i}}}$(1≤in)关于消息mi的签名${\sigma _{I{D_i}}} = \langle V,{V_{I{D_i}}},{S_{I{D_i}}}\rangle $后,首先计算$V' = \sum\nolimits_{i = 1}^n {{V_{I{D_i}}}} $,若V¢=V,则UAgg计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},V)$,当且仅当${S_{I{D_i}}}P = {V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)$成立时,UAgg接收${U_{I{D_i}}}$对消息mi的签名${\sigma _{I{D_i}}};$否则,${U_{I{D_i}}}$关于消息mi的签名${\sigma _{I{D_i}}}$在生成过程中出现错误,则UAgg要求${U_{I{D_i}}}$(1≤in)重新生成对相应消息mi的签名${\sigma _{I{D_i}}}.$当${U_{I{D_i}}}$(1≤in)关于消息mi的签名${\sigma _{I{D_i}}}$的合法性验证都通过后,计算$S = \sum\nolimits_{i = 1}^n {{S_{I{D_i}}}} $,则σ=(V,S)是UAgg关于身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},\langle {{X}_{I{{D}_{i}}}},{{Y}_{I{{D}_{i}}}}\rangle )(1\le i\le n)$的聚合签名.

2.2.2 聚合签名验证(AS-verify)

给定身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}})(1\le i\le n)$及聚合签名σ=(V,S),签名验证者UVer进行如下操作:

① 对于每个签名者${U_{I{D_i}}}$(1≤in),计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},V)$;

② 验证等式$SP = V + \sum\nolimits_{i = 1}^n {h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} $是否成立:若成立则输出True,表明σ=(V,S)是UAgg关于身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}})(1\le i\le n)$的聚合签名;否则拒绝,并输出False.

因为:

$\begin{gathered} SP = \sum\nolimits_{i = 1}^n {{S_{I{D_i}}}P} \hfill \\ {\text{ }} = \sum\nolimits_{i = 1}^n {({a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2)P} \hfill \\ {\text{ }} = \sum\nolimits_{i = 1}^n {{a_{I{D_i}}}P} + \sum\nolimits_{i = 1}^n {({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2P} \hfill \\ {\text{ }} = \sum\nolimits_{i = 1}^n {{V_{I{D_i}}}} + \sum\nolimits_{i = 1}^n {h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} \hfill \\ {\text{ }} = V + \sum\nolimits_{i = 1}^n {h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} . \hfill \\ \end{gathered} $
3 安全性证明

本节在随机预言机模型下,基于离散对数问题对方案CLAS-I和CLAS-II的不可伪造性进行证明.

引理1. 在随机预言机模型下,若存在AI类敌手A1能在多项式时间内,以不可忽略的优势ε攻破本文聚合签名方案CLAS-I的不可伪造性(其中,A1最多进行qS次签名询问、qK次部分密钥生成询问和qSK次私钥生成询问,聚合签名的用户数为n),则存在算法T1,能在多项式时间内以不可忽略的优势$Adv({{\mathcal{T}}_{1}})\ge \left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)$$\frac{\varepsilon }{{ne({q_S} + n)}}$(其中,e是自然对数底数)成功解决离散对数问题.

证明: 假设算法T1是一个离散对数问题的解决者,输入为元组(P,bP),其中$b \in Z_q^ * $且未知,目标是计算b.T1以A1为子程序并充当挑战者,T1运行Setup算法,生成公开参数Paramsq,P,G,PPub,H1,H2ñ,令PPub=bP,并发送Params给A1,同时,T1维护列表L1,L2,LK,LSK,LPK,LS分别用于跟踪A1对预言机H1、预言机H2、部分密钥生成、私钥生成、公钥生成和签名的询问.开始时,各列表均为空.T1选择身份IDj(询问阶段对qS个身份进行签名询问,挑战阶段生成n个用户的聚合签名)作为其猜测的挑战身份,则T1选择身份IDj的概率为$\delta \in \left[ {\frac{1}{{{q_S} + n}},\frac{1}{{{q_S} + 1}}} \right]$.

询问阶段:敌手A1进行下述询问:

H1查询:当A1向预言机H1询问${H_1}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$时,T1进行下述操作:

① 若列表L1中存在相应的元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $,则T1返回h1给A1;

② 否则,T1随机选取${h_1} \in Z_q^ * $,使得L1中不存在相应的元组*,*,*,h1ñ(避免哈希函数H1碰撞的产生),并添加相应的元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $到L1中,同时返回h1给A1.

H2查询:当A1向预言机H2询问${H_2}(I{D_i},{m_i},{V_{I{D_i}}})$时,T1进行下述操作:

① 若列表L2中存在相应的元组$\langle I{D_i},{m_i},{V_{I{D_i}}},{h_2}\rangle $,则返回h2给A1;

② 否则,T1随机选取${h_2} \in Z_q^ * $,使得列表L2中不存在元组*,*,*,h2ñ,并添加元组$\langle I{D_i},{m_i},{V_{I{D_i}}},{h_2}\rangle $到L2中,同时返回h2给A1.

部分密钥生成询问:当收到A1IDi和公开参数${X_{I{D_i}}}$的部分密钥生成询问时,T1进行下述操作:

① 若列表LK中存在相应的元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle $,则返回相应的值$({y_{I{D_i}}},{Y_{I{D_i}}})$给A1;

② 否则,若IDiIDj,T1随机选取${y_{I{D_i}}},{h_1} \in Z_q^ * $,计算${Y_{I{D_i}}} = {y_{I{D_i}}}P - {P_{Pub}}{h_1}$,添加元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle $到LK中,返回$({y_{I{D_i}}},{Y_{I{D_i}}})$给A1,若列表L1中不存在相应的元组,则添加元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $到L1中;若IDi=IDj,T1随机选取${y_{I{D_i}}},{h_1} \in Z_q^ * $,令${Y_{I{D_j}}} = {r_{know}}P$(其中,${r_{know}} \in Z_q^ * $是T1已知的随机数),添加元组$\langle I{D_j},{y_{I{D_j}}},{Y_{I{D_j}}}\rangle $到列表LK中,返回$({y_{I{D_j}}},{Y_{I{D_j}}})$给A1,若列表L1中不存在相应的元组,则添加元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $到L1中.

私钥生成询问:当T1收到A1IDi的私钥生成询问时,T1进行下述操作:

① 若LSK中存在元组$\langle I{D_i},{x_{I{D_i}}},{y_{I{D_i}}}\rangle $,则返回相应的值$S{K_{I{D_i}}} = ({x_{I{D_i}}},{y_{I{D_i}}})$给A1;

② 否则,T1随机选取${x_{I{D_i}}} \in Z_q^ * $,计算${X_{I{D_i}}} = {x_{I{D_i}}}P$,通过对IDi和${X_{I{D_i}}}$进行部分密钥生成询问获知相应的元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle $,添加元组$\langle I{D_i},{x_{I{D_i}}},{y_{I{D_i}}}\rangle $到列表LSK中,并返回$S{K_{I{D_i}}} = ({x_{I{D_i}}},{y_{I{D_i}}})$给A1,同时添加元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}}\rangle $到列表LPK中.

公钥生成查询:当收到A1对身份IDi的公钥生成询问时,T1进行下述操作:

① 若列表LPK中存在元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}}\rangle $,则返回$P{K_{I{D_i}}} = ({X_{I{D_i}}},{Y_{I{D_i}}})$给A1;

② 否则,T1随机返选取${x_{I{D_i}}} \in Z_q^ * $,计算${X_{I{D_i}}} = {x_{I{D_i}}}P$,通过对IDi和${X_{I{D_i}}}$进行部分密钥生成询问获知相应的元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle $,添加元组$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}}\rangle $到列表LPK中,并返回$P{K_{I{D_i}}} = ({X_{I{D_i}}},{Y_{I{D_i}}})$给A1,同时添加元组$\langle I{D_i},{x_{I{D_i}}},{y_{I{D_i}}}\rangle $到列表LSK中.

公钥替换询问:A1可选择一个新的公钥$P{K'_{I{D_i}}} = ({X'_{I{D_i}}},{Y'_{I{D_i}}})$替换任意合法用户的原始公钥$P{K_{I{D_i}}}$.

签名询问:当T1收到A1关于身份-消息-公钥$\langle I{D_i},{m_i},P{K_{I{D_i}}}\rangle $的签名询问时,操作如下:

① 若IDi=IDj,则T1放弃,并终止模拟;

② 否则,T1随机选取秘密数${a_{I{D_i}}} \in Z_q^ * $,计算${V_{I{D_i}}} = {a_{I{D_i}}}P,h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}})$和${S_{I{D_i}}} = {a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2$,生成签名${\sigma _{I{D_i}}} = \langle {V_{I{D_i}}},{S_{I{D_i}}}\rangle $返回给敌手A1.

聚合签名询问:当T1收到A1关于身份-消息-公钥对$\langle I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}}\rangle (1\le i\le n)$的聚合签名询问时,操作如下:

① 若对于所有的IDi(1≤in),都有IDiIDj,则T1对每个用户IDi(1≤in)随机选取秘密数${a_{I{D_i}}} \in Z_q^ * $,计算${V_{I{D_i}}} = {a_{I{D_i}}}P,h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}})$和${S_{I{D_i}}} = {a_{I{D_i}}} + ({x_{I{D_i}}} + {y_{I{D_i}}})h_{I{D_i}}^2$后,构造集合V={V1,V2,…,Vn},并计算$S = \sum\nolimits_{i = 1}^n {{S_{I{D_i}}}} $,生成聚合签名σ=(V,S)返回给A1.

② 否则,T1放弃,并终止模拟.

签名验证询问:当T1收到A1关于身份-消息-签名$\langle I{D_i},{m_i},{\sigma _{I{D_i}}}\rangle $的验证询问时,T1查询LPK中是否存在IDi所对应的元组:

① 若LPK中存在IDi所对应的元组且IDiIDj,则T1计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}})$,并验证${S_{I{D_i}}}P = {V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)$是否成立:若成立,则T1返回True给A1;否则,返回False给A1;

② 若LPK中存在IDi所对应的元组且IDi=IDj,则当L2中存在IDi相对应的元组$\langle I{D_i},{m_i},{V_{I{D_i}}},{h_2}\rangle $时,T1返回True给A1;否则,返回False给A1;

③ 若LPK中不存在IDi所对应的元组,则当L2中存在IDi相对应的元组$\langle I{D_i},{m_i},{V_{I{D_i}}},{h_2}\rangle $时,T1返回True给A1;否则,返回False给A1.

伪造:经过多项式有界次的上述询问后,A1输出关于身份-消息-公钥对$\langle I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}}\rangle (1\le i\le n)$聚合签名σ=(V,S),其中至少有一个IDi(i∈[1,n])未进行部分密钥生成询问和私钥生成询问,同时至少有一个mi(i∈[1,n])未进行签名询问.

① 若对于所有的IDi(1≤in)都有IDiIDj,则T1放弃,并终止模拟;

② 否则(有一个IDi(1≤in)与IDj相等),则T1在列表LPK,LSK,L1L2中查询身份IDi(1≤in)所对应的记录值,并验证等式$SP = \sum\nolimits_{i = 1}^n {[{V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} ]$是否成立:

• 若等式成立,则T1输出$b = {(h_{I{D_j}}^1h_{I{D_j}}^2)^{ - 1}}\{ S - \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] - {a_{I{D_j}}} - h_{I{D_j}}^2({x_{I{D_j}}} + {r_{know}})\} $作为离散对数问题的有效解;

• 否则,T1没有解决离散对数问题.因为:

$\begin{gathered} S = \sum\nolimits_{i = 1}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] \hfill \\ {\text{ }} = \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] + {a_{I{D_j}}} + h_{I{D_j}}^2({x_{I{D_j}}} + {y_{I{D_j}}}) \hfill \\ {\text{ }} = \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] + {a_{I{D_j}}} + h_{I{D_j}}^2({x_{I{D_j}}} + {r_{know}} + bh_{I{D_j}}^1). \hfill \\ \end{gathered} $

若A1在询问阶段对IDi(1≤in)进行了部分密钥生成询问和私钥生成询问,则T1会终止模拟.事件ε1表示至少存在一个IDf(f∈[1,n])未进行部分密钥生成询问和私钥生成询问,事件ε2表示T1在签名询问时未终止.则有:

$\Pr [{{\mathcal{E}}_{1}}]\ge \frac{1}{n}\left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right),\Pr [{{\mathcal{E}}_{2}}|{{\mathcal{E}}_{1}}]={{(1-\sigma )}^{{{q}_{S}}}}.$

因此,T1在询问阶段不终止的概率为$\Pr [{{\mathcal{E}}_{1}}\wedge {{\mathcal{E}}_{2}}]=\Pr [{{\mathcal{E}}_{2}}|{{\mathcal{E}}_{1}}]\Pr [{{\mathcal{E}}_{1}}]\ge \frac{1}{n}\left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right){{(1-\sigma )}^{{{q}_{S}}}}.$

事件ε3表示算法T1在挑战阶段未终止,即,A1在挑战阶段伪造的聚合签名中包含身份IDj,则T1在挑战阶段不终止的概率为Pr[ε3]=δ.

在整个模拟过程中,T1不终止的概率至少为$\frac{1}{n}\left( {1 - \frac{{{q_K}}}{{{2^k}}}} \right)\left( {1 - \frac{{{q_{SK}}}}{{{2^k}}}} \right){(1 - \sigma )^{{q_S}}}\delta .$由于$\delta \in \left[ {\frac{1}{{{q_S} + n}},\frac{1}{{{q_S} + 1}}} \right],$则当qS足够大时,${(1 - \sigma )^{{q_S}}}$趋向于e-1;因此,模拟过程中T1不终止的概率至少为$\left( {1 - \frac{{{q_K}}}{{{2^k}}}} \right)\left( {1 - \frac{{{q_{SK}}}}{{{2^k}}}} \right)\frac{1}{{ne({q_S} + n)}}.$

综上所述,若T1在模拟过程中未终止,并且A1以不可忽略的优势ε攻破了本文聚合签名方案CLAS-I的不可伪造性,则T1能以不可忽略的优势$Adv({{\mathcal{T}}_{1}})\ge \left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon }{ne({{q}_{S}}+n)}$成功解决离散对数问题.

引理2. 在随机预言机模型下,若存在一个AII类敌手A2,能在多项式时间内,以不可忽略的优势ε攻破本文聚合签名方案CLAS-I的不可伪造性(其中,A2最多进行qS次签名询问、qK次部分密钥生成询问和qSK次私钥生成询问,聚合签名的用户数为n),则存在算法T2,能在多项式时间内,以不可忽略的优势$Adv({{\mathcal{T}}_{2}})\ge \left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)$ $\left( {1 - \frac{{{q_{SK}}}}{{{2^k}}}} \right)\frac{\varepsilon }{{ne({q_S} + n)}}$(其中,e是自然对数底数)成功解决离散对数问题.

证明:假设算法T2是一个离散对数问题的解决者,输入为元组(P,bP),其中,$b \in Z_q^ * $且未知,目标是计算b.T2以A2为子程序并充当挑战者,T2运行Setup算法,生成公开参数Params=q,P,G,PPub,H1,H2ñ和主密钥.发送Params和主密钥给A2;同时,T2维持列表L1,L2,LK,LSK,LPK,LS分别用于跟踪A2对预言机H1、预言机H2、部分密钥生成、私钥生成、公钥生成和签名的询问.开始时,各列表均为空.T2选择身份IDj作为其猜测 的挑战身份,则T2选择身份IDj的概率为$\delta \in \left[ {\frac{1}{{{q_S} + n}},\frac{1}{{{q_S} + 1}}} \right].$

询问:敌手A2对预言机H1、预言机H2、私钥生成、公钥生成、签名和聚合签名询问的执行过程与引理1中的相应询问相同.

部分密钥生成询问:当收到A2IDi和公开参数${X_{I{D_i}}}$的部分密钥生成询问时,T2进行下述操作:

① 若LK中存在相应的元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle ,$则返回$({y_{I{D_i}}},{Y_{I{D_i}}})$给A2;

② 否则,若IDiIDj,T2随机选取${y_{I{D_i}}},{h_1} \in Z_q^ * ,$计算${Y_{I{D_i}}} = {y_{I{D_i}}}P - {P_{Pub}}{h_1},$添加元组$\langle I{D_i},{y_{I{D_i}}},{Y_{I{D_i}}}\rangle $到列表LK中,返回$({y_{I{D_i}}},{Y_{I{D_i}}})$给A2,同时添加$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $到L1中;若IDi=IDj,T2随机选取${y_{I{D_i}}},{h_1} \in Z_q^ * ,$令${Y_{I{D_j}}} = bP,$添加$\langle I{D_j},{y_{I{D_j}}},{Y_{I{D_j}}}\rangle $到LK中,返回$({y_{I{D_j}}},{Y_{I{D_j}}})$给A2,同时添加$\langle I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}},{h_1}\rangle $到L1中.

签名验证询问:当T2收到A2关于身份-消息-签名$\langle I{D_i},{m_i},{\sigma _{I{D_i}}}\rangle $的验证询问时,T2查询LPK中是否存在IDi所对应的元组:

① 若LPK中存在IDi所对应的元组且IDiIDj,则T2计算$h_{I{D_i}}^1 = {H_2}(I{D_i},{X_{I{D_i}}},{Y_{I{D_i}}})$和$h_{I{D_i}}^2 = {H_2}(I{D_i},{m_i},{V_{I{D_i}}}),$并验证${S_{I{D_i}}}P = {V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)$是否成立:若成立,则T2返回True给A2;否则,返回False给A2;

② 若LPK中存在IDi所对应的元组且IDi=IDj,若L2中存在IDi相对应的元组$\langle I{D_i},{m_i},{V_{I{D_i}}},{h_2}\rangle ,$则T2返回True给A2;否则,返回False给A2.

伪造:经过多项式有界次上述询问后,A2输出关于身份-消息-公钥$\langle I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}}\rangle (1\le i\le n)$的聚合签名σ=(V,S),其中至少有一个IDi(i∈[1,n])未进行部分密钥生成询问和私钥生成询问.同时也至少有一个mi(i∈[1,n])未进行签名询问.

① 若对于所有的IDi(1≤in)都有IDiIDj,则T2放弃,并终止模拟;

② 否则(存在一个IDJ(J∈[1,n])与IDj相等,IDJ=IDj),则T2在列表LPK,LSK,L1L2中查询身份IDi(1≤in)所对应的记录值,并验证等式$SP = \sum\nolimits_{i = 1}^n {[{V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} ]$是否成立:

• 若成立,则T2输出$b = {(h_{I{D_j}}^2)^{ - 1}}\{ S - \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] - {a_{I{D_j}}} - h_{I{D_j}}^2({x_{I{D_j}}} + sh_{I{D_j}}^1)\} $作为离散对数问题的有效解;

• 否则,T2没有解决离散对数问题.因为:

$\begin{gathered} S = \sum\nolimits_{i = 1}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] \hfill \\ {\text{ }} = \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] + {a_{I{D_j}}} + h_{I{D_j}}^2({x_{I{D_j}}} + {y_{I{D_j}}}) \hfill \\ {\text{ }} = \sum\nolimits_{i = 1,i \ne j}^n {[{a_{I{D_i}}} + h_{I{D_i}}^2({x_{I{D_i}}} + {y_{I{D_i}}})} ] + {a_{I{D_j}}} + h_{I{D_j}}^2({x_{I{D_j}}} + b + sh_{I{D_j}}^1). \hfill \\ \end{gathered} $

由引理1证明可知:在模拟过程中,T2不终止的概率至少为$\left( {1 - \frac{{{q_K}}}{{{2^k}}}} \right)\left( {1 - \frac{{{q_{SK}}}}{{{2^k}}}} \right)\frac{1}{{ne({q_S} + n)}},$因此,若T2在模拟过程中未终止,并且A2以不可忽略的优势e攻破了本文聚合签名方案CLAS-II的不可伪造性,则T2能以不可忽略的优势$Adv({{\mathcal{T}}_{2}})\ge \left( 1-\frac{{{q}_{K}}}{{{2}^{k}}} \right)\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon }{ne({{q}_{S}}+n)}$成功解决离散对数问题.

定理1. 在随机预言机模型下,由于离散对数问题是困难的,则本文聚合签名方案CLAS-I在适应性选择消息攻击下是存在性不可伪造的,即,方案CLAS-I的聚合签名是不可伪造的.

证明:由引理1和引理2的证明可知,定理1成立.

定理2. 在随机预言机模型下,由于离散对数问题是困难的,则本文聚合签名方案CLAS-II在适应性选择消息攻击下是存在性不可伪造的,即,方案CLAS-II的聚合签名是不可伪造的.

定理2的证明与定理1相类似,采用相同的方式将困难问题嵌入到对敌手相关询问的应答中,并构造相应的引理证明方案CLAS-II,分别抵抗AI和AII类敌手的伪造性攻击.与定理1证明的区别在于应答敌手的聚合签名询问和签名验证询问时部分参数的计算方式不相同,具体的计算过程由CLAS-II中相应的算法所决定.篇幅所限,对于定理2的证明过程本文不再赘述.

4 性能及效率分析 4.1 性能分析 4.1.1 无密钥托管

在本文方案中,KGC基于用户${U_{I{D_i}}}$身份标识IDi和公开参数${X_{I{D_i}}}$为${U_{I{D_i}}}$生成部分私钥${y_{I{D_i}}}$和部分公钥${Y_{I{D_i}}}.$由于${X_{I{D_i}}} = {x_{I{D_i}}}P$,若KGC欲通过${X_{I{D_i}}}$求解用户${U_{I{D_i}}}$的秘密值${x_{I{D_i}}}$,则其将面临求解离散对数问题,因此,KGC无法掌握用户${U_{I{D_i}}}$的私钥$S{K_{I{D_i}}} = ({x_{I{D_i}}},{y_{I{D_i}}}),$所以,本文方案中不存在密钥托管问题.

4.1.2 公开验证性

本文方案中,当签名发送者和签名接收者关于签名的有效性发生争执,需要公开验证发送者身份时,接收者可发送身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},\langle {{X}_{I{{D}_{i}}}},{{Y}_{I{{D}_{i}}}}\rangle )(1\le i\le n)$及聚合签名σ=(V,S)给任意可信第三方,无需接收者的任何私有信息,可信第三方只需进行相应的验证即可.

对于方案CLAS-I,第三方只需验证等式$SP = \sum\nolimits_{i = 1}^n {[{V_{I{D_i}}} + h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} ]$是否成立即可;对于方案CLAS-II,第三方只需验证等式$SP = V + \sum\nolimits_{i = 1}^n {h_{I{D_i}}^2({X_{I{D_i}}} + {Y_{I{D_i}}} + {P_{Pub}}h_{I{D_i}}^1)} $是否成立即可.由于本文方案中签名具有不可伪造性,所以上述等式成立,则表明σ=(V,S)是UAgg关于身份-消息-公钥对$(I{{D}_{i}},{{m}_{i}},P{{K}_{I{{D}_{i}}}}=\langle {{X}_{I{{D}_{i}}}},{{Y}_{I{{D}_{i}}}}\rangle )(1\le i\le n)$的聚合签名,因此,本文方案具有公开验证性.

4.1.3 不可否认性

本文方案中,由定理1和定理2可知,本文聚合签名方案对敌手具有不可伪造性,则用户不能否认其对消息进行签名的事实;同时,由公开验证性可知:任何可信第三方均可公开验证签名发送者的身份,因此,本文方案具有不可否认性.

4.2 效率分析

将本文方案与现有相关方案[5, 6, 7, 16, 17, 18, 19]的计算效率和通信效率进行比较,由于文献[8, 9, 11, 13]中的方案存在安全性缺陷,并且文献[10, 12, 14, 15]仅对现有方案进行安全性分析,并未提出相应的新方案,因此上述方案[8, 9, 10, 11, 12, 13, 14, 15]不作为对比方案.效率分析时,计算效率主要以聚合签名合法性验证算法的计算量来衡量,通信效率主要以聚合签名的长度来衡量,具体的效率比较结果见表1.

表1中,相关符号的具体含义为:EM表示群上的乘法运算,EB表示双线性映射运算;LG表示群中元素的长度,Lz表示$Z_q^ * $中元素的长度,|$ \triangleright $|表示用户状态信息的长度.

Table 1 Efficiency comparison 表1 效率比较结果

在计算效率方面,由于双线性映射具有较高的计算量[20],而文献[5, 6, 7, 16, 17, 18, 19]中的方案均使用了双线性映射,导致其计算效率较低;但是本文聚合签名方案CLAS-I和CLAS-II中无需进行双线性映射运算,仅进行群上的乘法运算,因此相较与现有聚合签名方案[5, 6, 7, 16, 17, 18, 19]而言,本文方案CLAS-I和CLAS-II具有较高的计算效率.

在通信效率方面,本文方案CLAS-I的签名长度高于文献[7, 16],与文献[6, 17, 18, 19]中相关方案的聚合签名长度相同;本文方案CLAS-II的签名长度明显优于文献[5, 6, 7, 17, 18, 19]中的相关方案,与文献[16]一样具有固定的签名长度.本文方案CLAS-II是目前最短的不使用双线性映射的无证书聚合签名方案之一,即,本文方案CLAS-II与文献[16]具有较高的通信效率,但文献[16]中签名验证阶段需进行4次双线性映射运算,导致该方案[16]的计算效率较低.

5 结束语

由于聚合签名特点突出,已经广泛应用在诸多领域.现有的聚合签名方案多数是基于双线性映射来构建,而双线性映射运算具有较高的计算量,导致现有的聚合签名方案普遍存在计算效率低的不足.针对上述不足,根据不同应用环境对传输效率的需求,本文提出了两种不使用双线性映射的无证书聚合签名方案CLAS-I和CLAS-II,并在随机预言机模型下基于离散对数困难性假设证明了方案的不可伪造性;相较于其他方案而言,本文方案无需进行双线性映射运算,运算量较少,具有更高的计算效率.其中:方案CLAS-I的聚合签名长度较长,将用于带宽较高的网络环境;方案CLAS-II中聚合签名的长度与用户数无关,是固定的,是目前签名长度最短且计算效率较高 的无证书聚合签名方案之一,将用于带宽较低的网络环境.

虽然方案CLAS-I的签名较长,方案CLAS-II中用户需要进行相关信息的共享,但是本文首次对不使用双线性映射的无证书聚合签名方案进行了探索性的研究,并且大幅度提高了聚合签名的计算效率.下一阶段,本文将对方案进行优化,在保证聚合签名方案高计算效率的同时提高其执行效率.

参考文献
[1] Shamir A. Identity-Based cryptosystems and signature schemes. In:Proc. of the Advances in Cryptology-Crypto'84. MLNCS 196, Berlin:Springer-Verlag, 1985. 47-53.[doi:10.1007/3-540-39568-7_5]
[2] Al-Riyami SS, Paterson KG. Certificateless public key cryptography. In:Proc. of the Asiacryft 2003. LNCS 2894, Berlin:SpringerVerlag, 2003. 452-473.[doi:10.1007/978-3-540-40061-5_29]
[3] Boneh D, Gentry C, Lynn B, Shacham H. Aggregate and verifiably encrypted signatures from bilinear maps. In:Proc. of the Cryptology- Eurocrypt. Berlin:Springer-Verlag, 2003. 416-432.[doi:10.1007/3-540-39200-9_26]
[4] Yang T, Kong LB, Hu JB, Chen Z. Survey on aggregate signature and its applications. Journal of Computer Research and Development, 2012,49(S2):192-199(in Chinese with English abstract).
[5] Gong Z, Long Y, Hong X, Chen KF. Two certificateless aggregate signatures from bilinear maps. In:Proc. of the IEEESNPD 2007. IEEE, 2007. 188-193.[doi:10.1109/SNPD.2007.132]
[6] Zhang L, Zhang FT. A new certificateless aggregate signature scheme. Computer Communications, 2009,32(6):1079-1085.[doi:10.1016/j.comcom.2008.12.042]
[7] Zhang L, Qin B, Wu QH, Zhang FT. Efficient many-to-one authentication with certificateless aggregate signatures. Computer Networks, 2010,54(14):2482-2491.[doi:10.1016/j.comnet.2010.04.008]
[8] Wang Z, Wu Q, Ye DF, Chen HY. Practical identity-based aggregate signature scheme from bilinear maps. Shanghai Jiaotong University Press, 2008,13(6):684-687.[doi:10.1007/s12204-008-0684-5]
[9] Wen YL, Ma JF. An aggregate signature scheme with constant pairing operations. IEEE Computer Society, 2008,CSSE(3):830-833.[doi:10.1109/CSSE.2008.941]
[10] Selvi SSD, Vivek SS, Shriram J, Kalaivani S, Rangan CP. Security analysis of aggregate signature and batch verification signature schemes. Cryptology ePrint Archive. https://eprint.iacr.org/2009/290.pdf [doi:10.1109/INCoS.2011.151]
[11] Xiong H, Wu QH, Chen Z. Strong security enabled certificateless aggregate signatures applicable to mobile computation. In:Proc. of the 20113rd Int'l Conf. on Intelligent Networking and Collaborative Systems. IEEE, 2011.
[12] Shen LM, Sun YX. On security of a certicateless aggregate signature scheme. Cryptology ePrint Archive. https://eprint.iacr.org/2012/152.pdf
[13] Xiong H, Guan Z, Chen Z, Li F. An efficient certificateless aggregate signature with constant pairing computations. Information Sciences, 2013,219:225-235.[doi:10.1016/j.ins.2012.07.004]
[14] Cheng L, Wen QY, Jin ZP, Zhang H, Zhou LM. On the security of a certificateless aggregate signature scheme. Cryptology ePrint Archive. http://eprint.iacr.org/2013/093.pdf
[15] He DB, Tian MM, Chen JH. A note on 'An efficient certificateless aggregate signature with constant pairing computations'. http://eprint.iacr.org/2012/445.pdf
[16] Du HZ, Huang MJ, Wen QY. Efficient and provably-secure certificateless aggregate signature scheme. Acta Electronica Sinica, 2013,41(1):74-76(in Chinese with English abstract).
[17] Liu H, Wang SJ, Liang MG, Chen YQ. New construction of efficient certificateless aggregate signatures. Int'l Journal of Security and its Applications, 2014,8(1):411-422.[doi:10.14257/ijsia.2014.8.1.38]
[18] Chen YC, Horng G, Liu CL, Tsai YY, Chan CS. Efficient certificateless aggregate signature scheme. Journal of Electronic Science and Technology, 2012,10(3):209-214.[doi:10.3969/j.issn.1674-862X.2012.03.004]
[19] Gong Z, Long Y, Hong X, Chen KF. Practical certificateless aggregate signatures from bilinear maps. Journal of Information Science and Engineering, 2008.
[20] Chen L, Cheng Z, Smart NP. Identity-Based key agreement protocols from pairings. Journal of Information Security, 2007,6(4):213-241.[doi:10.1007/s10207-006-0011-9]
[21] 杨涛,孔令波,胡建斌,陈钟.聚合签名及其应用研究综述.计算机研究与发展,2012,49(S2):192-199.
[22] 杜红珍,黄梅娟,温巧燕.高效的可证明安全的无证书聚合签名方案.电子学报,2013,41(1):74-76.