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 (5): 1173-1180   PDF    
安全的无证书聚合签名方案
陈虎, 魏仕民, 朱昌杰, 杨忆    
淮北师范大学 计算机科学与技术学院, 安徽 淮北 235000
摘要:无证书密码系统既解决了密钥托管问题,又不涉及公钥证书;而聚合签名可以有效地减少计算代价和通信开销.结合二者的优点构造无证书聚合签名是很有意义的.尽管无证书聚合签名方案的构造已经取得了重要进展,但是现有的方案仍然不能同时达到既可抵抗两类超级攻击者又具有运算的高效性.使用双线性映射并引入状态信息来设计具有强安全性的无证书聚合签名方案.在随机预言模型中,该状态信息被用于嵌入给定困难问题的部分信息.结果显示,该方案的安全性基于计算Diffie-Hellman问题的困难性并可以抵抗超级攻击者的攻击.同时,由于充分利用公开信息和双线性映射的性质,它在个体签名和聚合签名验证过程只需4个双线性映射.另外,在该方案中,用户知道状态信息后可独立完成个体签名而无需交换信息,所以它允许用户动态地加入聚合签名.故它可应用于多对一的通信系统中.
关键词无证书密码系统     聚合签名     计算Diffie-Hellman 问题     双线性映射     随机预言模型    
Secure Certificateless Aggregate Signature Scheme
CHEN Hu, WEI Shi-Min, ZHU Chang-Jie, YANG Yi    
School of Computer Science and Technology, Huaibei Normal University, Huaibei 235000, China
Abstract: Certificateless public key cryptography can solve the key escrow problem without any digital certificates to bind users and their public keys. Meanwhile, aggregate signature can efficiently lower the cost of computations and communications. Hence it is of interest to construct a certificateless aggregate signature scheme by taking advantages of the two methods. Though great progress has been made in this area, certificateless aggregate signature schemes available today cannot simultaneously achieve the objectives of being secure against both types of super adversaries and being efficient in operation. This paper puts forward a construction of certificateless aggregate signature scheme with stronger security by using pairings and introducing state information. The state information is used to hold partial information on a given hard problem in the random oracle model. The results show that the presented scheme, based on the infeasibility of the computational Diffie-Hellman (CDH) problem, is secure against both super adversaries. At the same time, the new scheme needs only four pairings during the processes of individual signature and verification for an aggregate signature by making good use of public information and the properties of bilinear maps. Furthermore, after knowing the same state information, a user in the scheme can perform individual signature operations in a non-interactive manner, which allows any users in the system to join dynamically for generating an aggregate signature. As a result, it can have practical applications in many-to-one communications.
Key words: certificateless cryptography     aggregate signature     computational Diffie-Hellman problem     bilinear map     random oracle model    

2003年,Al-Riyami等人[1]首次提出无证书密码体制.该体制不但成功地解决了密钥托管问题,而且不涉及公钥证书.这使它成为近期一个研究热点,似雨后春笋般地涌出众多满足不同需求的无证书签名方案[2,3,4,5,6],如无证书代理签名方案[3]、无证书群签名方案[4]、无证书聚合签名方案[5,6,7,8,9].

聚合签名[10]是把来自n个不同签名者对n条不同消息的签名通过一种有效的算法压缩成单个签名.持有聚合签名的验证人可通过确定的验证算法检验其有效性,以此判定n个签名人对这n条消息的分别认可.故而,聚合签名可以有效地减少签名验证的计算代价和通信开销.

近年来,各具特色的无证书聚合签名方案[5,6,7,8,9]陆续被提出来,其中,文献[6,9]中方案的聚合签名验证计算量和聚合签名的长度均与聚合人数无关,但前者每次都要协商新的状态信息,后者完成个体签名时需要用户之间互相传递必须的数据,这些都会引起额外的通信开销致使方案低效.另外,上述除文献[8]以外的无证书聚合签名方案所给出的安全模型中的攻击者[1]能力相对较弱.虽然文献[8]中的攻击者能力得以加强,使之成为超级攻击者[2],但是签名验证计算量很大.本文提出一个在聚合签名验证阶段只需4个双线性运算的无证书聚合签名方案.它在保证较高效率的基础上,实现了在最强安全模型(即,赋予攻击者最强的攻击能力)下是可证安全的.受文献[6]的启发,我们的方案也选择使用一个共同的状态信息,以实现强安全性的聚合签名方案的设计.与文献[9]中方案的显著区别是,在我们的方案中,参与聚合的用户之间独立地完成个体签名,无需交换彼此的数据.因此,我们的聚合方案可方便地实现系统内的用户动态地加入完成聚合签名.

本文第1节给出无证书聚合签名的概念和安全模型.第2节提出一个无证书聚合签名方案.第3节分析方案的安全性和效率.最后总结全文.

1 有关的概念和安全模型

无证书聚合签名方案包含了n个用户、一个密钥生成中心(KGC)和一个聚合者,它由系统参数生成、部分私钥提取、设置公/私钥、个体签名、聚合和聚合签名验证等6个算法组成.各算法的定义参见文献[5].

无证书聚合签名中存在两类攻击者,即第一类攻击者AI和第二类攻击者AII.文献[1]最初赋予攻击者的能力为“AI不能获知系统主密钥,但可在公钥空间随意取值以替代任何用户的公钥;AII可获知系统主密钥,但不能替换任何用户的公钥.”后来,文献[2]不仅对AII能力作了增强——“可获知系统主私钥,可替换除了目标用户之外的任何用户的公钥”,而且对安全模型中所定义的签名预言器按能力强弱分为正常、强和超级这3种签名预言器.进而,每种类型的攻击者依据被允许访问签名预言器的类型进一步分为正常、强和超级攻击者.具体细节见表 1表 2.

Table 1 Types of attackers 表 1 攻击者类型

Table 2 Types of oracles 表 2 签名预言器类型

为了方便下面方案之间安全性的比较,本文把具有文献[1]所赋予的攻击能力并且只允许访问正常签名预言器的攻击者称为弱正常攻击者.

无证书聚合签名的不可伪造性是通过一个解决困难问题的挑战者Q和一个攻击者AÎ{AI,AII}之间的游戏来定义.本文考虑的攻击者为超级攻击者,对其他类型攻击者,只需相应地修改签名询问过程.

· 设置系统参数:Q初始化系统,以安全参数l作为输入,输出参数列表List.若AAI,则Q把List给A;

否则,Q把ListÈ{系统主密钥}给A.

· 攻击:A被允许受限次地访问受控于Q的预言器(和可能存在的hash函数预言器).另外,Q要维护和A交互过程中涉及到的数据所形成的一些列表,这些列表初始均为空表:

生成用户询问:输入List,一个身份ID,它输出该用户的公钥PID和身份ID的哈希值QID.

部分私钥询问(仅对AI有效):输入List和一个用户的身份ID,它输出其部分私钥DID.

公钥替换询问:输入List,一个用户的身份ID和新公钥,它把身份ID的公钥置为

秘密值询问:输入List,一个用户的身份ID,它输出其秘密值xID.

个体签名询问:输入List、消息m、状态信息D、签名者的身份ID和公钥PID,它输出有效的个体签名d.若公钥已被替换,攻击者不必提供相应的秘密值.

· 伪造:攻击者A输出在相同状态信息Δ*下,公钥集是 $L_{PK}^* = \{ P_1^*,P_2^*,...,P_n^*\} $、身份集是 $L_{{\rm{ID}}}^* = \{ ID_1^*,ID_2^*,...,$ $ID_n^*\} $的n个用户对消息 $m_1^*,m_2^*,...,m_n^*$的聚合签名 ${\sigma ^*} = (R_1^*,R_2^*,...,R_n^*,{K^*})$作为伪造A在游戏中获胜,当且仅当同时满足如下两个条件:

$1 \leftarrow verify(List,{\Delta ^*},m_1^*,...,m_n^*,L_{PK}^*,L_{{\rm{ID}}}^*,{\sigma ^*}).$

(2) 至少存在一个身份 $ID_j^* \in L_{{\rm{ID}}}^*$未对 $({\Delta ^*},m_j^*,ID_j^*,P_j^*)$做个体签名询问.同时,当AAI时,则未曾做 $ID_j^*$的部分私钥询问;否则,未曾做$ID_j^*$的秘密值询问,也未曾做$ID_j^*$公钥替换询问.

在游戏中,若任何多项式有界的攻击者AÎ{AI,AII}获胜的概率是可忽视的,则称此无证书聚合签名方案是自适应选择消息和身份攻击存在不可伪造的.

另外,因攻击者获得个体签名后可以自己生成聚合签名,故我们的安全模型无需进行聚合签名询问.

2 无证书聚合签名方案

受文献[6]的启发,我们在构造聚合签名方案时也引入了状态信息,为了增强方案的安全性以抵抗超级攻击者的攻击.聚合者在个体签名前随机选取并广播状态信息,这里状态信息可选择随机长度的比特串.

· 系统参数的生成:设安全参数为l,素数(G1,+)和(G2,×)是循环群,其阶均为q.双线性映射e:G1x G1®G2.是5个抗碰撞的哈希函数.PG1的一个生成元,KGC设置系统主密钥 $s{ \in _R}_q^*,$>系统公钥为P0=sP,消息空间M={0,1},公开参数:

List={G1,G2,e,q,P,P0,H1,H2,H3,H4,H5}.

· 部分私钥提取:KGC对用户所提交的身份IDiÎ{0,1}认证后,为其计算部分私钥Di=sQi=sH1(IDi),并安全地传Di给该用户.

· 设置公/私钥:用户IDi计算Pi=xiP.这里,Pi为公钥,(xi,Di)为私钥,xi作为其秘密值.

· 个体签名:聚合者随机选择一个状态信息D并广播.公钥和身份分别为PiIDi的用户,用其私钥(xi,Di),按如下步骤对消息mi签名,其中,i=1,2,…,n:

① 任选计算Ri=riP,hi=H4(mi||D||Ri||IDi)和gi=H5(mi||D||Ri||Pi);

② 计算Wi=giDi+xihiU+riV,其中,U=H2(D||P),V=H3(D||P0);

③ 输出si=(Ri,Wi)为个体签名.

· 聚合:设LID={ID1,ID2,…,IDn}是参与聚合的n个用户的身份集,公钥集是LPK={P1,P2,…,Pn}.当收齐这n个用户在相同状态信息D下的消息-签名对(m1,s1),(m2,s2),...,(mn,sn)后,聚合者计算W=W1+W2+… +Wn并输出聚合签名s=(R1,R2,…,Rn,W).

· 聚合签名验证:在状态信息D下,欲验证身份集是LID={ID1,ID2,…,IDn},公钥集是LPK={P1,P2,…,Pn}的n个用户对消息m1,m2,...& lt; /span>,mn的聚合签名s=(R1,R2,…,Rn,W),验证者按如下步骤进行检验:

① 计算U=H2(D||P),V=H3(D||P0),hi=H4(mi||D||Ri||IDi),gi=H5(mi||D||Ri||Pi),Qi=H1(IDi),i=1,2,…,n;

② 验证$e(W,P) = e\left( {\sum\nolimits_{i = 1}^n {{g_i}{Q_i}} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {{h_i}{P_i}} ,U} \right)e\left( {\sum\nolimits_{i = 1}^n {{R_i}} ,V} \right)$是否为真:若真,则接受s;否则,拒绝s.

3 安全性和效率 3.1 正确性

下面证明方案是正确的.

$\begin{array}{c} e(W,P) = e\left( {\sum\nolimits_{i = 1}^n {{W_i}} ,P} \right)\\ = e\left( {\sum\nolimits_{i = 1}^n {({g_i}{D_i} + {x_i}{h_i}U + {r_i}V)} ,P} \right)\\ = e\left( {\sum\nolimits_{i = 1}^n {{g_i}{D_i}} ,P} \right)e\left( {\sum\nolimits_{i = 1}^n {{x_i}{h_i}U} ,P} \right)e\left( {\sum\nolimits_{i = 1}^n {{r_i}V} ,P} \right)\\ = e\left( {\sum\nolimits_{i = 1}^n {{g_i}{Q_i}} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {{h_i}{P_i}} ,U} \right)e\left( {\sum\nolimits_{i = 1}^n {{R_i}} ,V} \right). \end{array}$ 3.2 不可伪造性

符号 $Query_A^t({x_1},{x_2},{x_3},{x_4},{x_5},{x_6},{x_7},{x_8},{x_9})$表示在时间t内,攻击者A被允许至多做x1次生成用户询问、x2

H2询问、x3H3询问、x4H4询问、x5H5询问、x6次部分私钥询问、x7次公钥替换询问、x8次秘密值询问、x9次个体签名询问.上述9种询问中,每种询问一次的耗时依次记为t1,t2,t3,t4,t5,t6,t7,t8t9.符号A(n,m)表示从m个不同事物中选出n个物体的排列数,其中nmn,mÎ¥.用(t,e)-CDH表示给定的CDH问题可在t时间内以概率e解决.

定理1. 在随机预言模型下,如果AI是第一类超级攻击者,做自适应选择消息和身份攻击询问 q3,q4,q5,q6,q7,q8,q9)后,以不可忽略的概率攻破所提出的方案,那么存在一个(t¢,e¢)-CDH算法Q,其中, $t' \le 2t + 2\sum\nolimits_{i = 1}^9 {{q_i}{t_i}} ,\varepsilon ' \ge {[66 \cdot A(n,{q_5})]^{ - 1}} \cdot q_1^{ - 2}{(1 - q_1^{ - 1})^{{q_6}}} \cdot {\varepsilon ^2}{\rm{.}}$

证明:若有(G1,+)上的CDH问题的一个随机实例(P,P1=aP,P2=bP),该困难问题的解决者是Q,则其目标是算出abP.下证凭借AI的能力,Q是一个(t¢,e¢)-CDH的挑战者.

· 设置系统参数:QP0=P1=aP并把List={G1,G2,e,q,P,P0,H1,H2,H3,H4,H5}给AI.

· 攻击:抗碰撞的哈希函数H1~H5受控于Q,它们被作为随机预言器.为简单,假设AI的询问都是不同的. Q维护H1~H5L等列表,它们初始都为空.这些列表中每项的格式依次为

(IDi,Qi,Pi,Di,ai,xi),(Di,Ui,bi),(Di,Vi,li),(mi,Di,Ri,IDi,hi),(mi,Di,Ri,Pi,gi),(mi,Di,IDi,Pi,Ri,ri,hi,gi,Wi).

· 生成用户询问:Q随机选择kÎ{1,2,…,q1}.当AI询问Create(IDi)时,Q选择满足(*,*,*,*,ai,*)

以前未出现在H1列表.当i=k时,置Qk=akP+P2,Dk=^(符号^表示该值未知,下同),Pk=xkP;当i¹k时,置Qi=aiP,Pi=xiP,Di=aiP1.Q将(IDi,Qi,Pi,Di,ai,xi)添加到H1列表,并把Pi,Qi返给AI. 不失一般性,下面AI询问所涉及的IDi均已生成.

· 部分私钥询问:当AI询问PPKey(IDi)时,Q执行:当i=k时,终止协议;否则,检查H1列表寻找元组(IDi,Qi,Pi,Di,ai,xi),将Di返给AI.

· 公钥替换询问:当AI询问时,QIDi检查H1列表,把元组(IDi,Qi,Pi,Di,ai,xi)替换为 $(I{D_i},{Q_i},{P'_i},{D_i},{\alpha _i},\bot )$

· 秘密值询问:当AI询问Value(IDi)时,QIDi检查H1列表:若xi¹^,则返回xiAI;否则,输出^.

· H2哈希询问:当AI询问H2(D||P)时,Q选择满足(*,*,bi)未出现在H2列表,将Ui=biP返给AI并把(Di,Ui,bi)添入H2列表.

· H3哈希询问:当AI询问H3(Di||P0)时,Q选择满足(*,*,li)未出现在H3列表,将Vi=liP-P1返给AI并添(Di,Vi,li)到H3列表.

· H4哈希询问:当AI询问H4(mi||D||Ri||IDi)时,Q选择满足(*,*,*,*,hi)未出现在H4列表,将hi返给AI并添(mi,Di,Ri,IDi,hi)到H4列表.

· H5哈希询问:当AI询问H5(mi||D||Ri||Pi)时,Q选择满足(*,*,*,*,gi)未出现在H5列表,将gi返给AI,并把(mi,Di,Ri,Pi,gi)添入H5列表.

· 个体签名询问:当AI询问Sign(mi,Di,IDi,Pi)时,Q查询H2,H3列表以分别获得Ui=biPVi=liP-P1.

Q执行如下步骤:

(1) 任选满足(*,*,*,*,hi)和(*,*,*,*,gi)分别未出现在H4H5列表.

(2) 计算Ri=riP+giQi,并置H4(mi||D||Ri||IDi)=hiH5(mi||D||R& lt; sub>i||Pi)=gi.

(3) 计算Wi=hibiPi+ligiQi+liriP-riP1.

Q把(mi,Di,IDi,Pi,Ri,ri,hi,gi,Wi)添入L列表并以Ri,Wi作答.由设定P0=P1和个体签名验证算法可知,该返回值(Ri,Wi)是关于(mi,Di,IDi,Pi)的一个有效签名,;因为 $\begin{array}{c} e({g_i}{Q_i},{P_0})e({h_i}{P_i},U)e({R_i},V) = e({g_i}{Q_i},{P_1})e({h_i}{P_i},{\beta _i}P)e({r_i}P + {g_i}{Q_i},{\lambda _i}P - {P_1})\\ = e({h_i}{\beta _i}{P_i} + {\lambda _i}{g_i}{Q_i} + {r_i}{\lambda _i}P - {r_i}{P_1},P)\\ = e({W_i},P). \end{array}$

· 伪造:AI输出公钥集是 $L_{PK}^* = \{ P_1^*,P_2^*,...,P_n^*\} $、身份集是 $L_{ID}^* = \{ ID_1^*,ID_2^*,...,ID_n^*\} $的n个用户在相同状态信息D下对消息 $m_1^*,m_2^*,...,m_n^*$的聚合签名 ${\sigma ^*} = (R_1^*,R_2^*,...,R_n^*,{W^*})$,且同时满足如下条件:

$e({W^*},P) = e\left( {\sum\nolimits_{i = 1}^n {g_i^*Q_i^*} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {h_i^*P_i^*} ,{U^*}} \right)e\left( {\sum\nolimits_{i = 1}^n {R_i^*} ,{V^*}} \right){\rm{.}}$

(2) 至少存在一个身份 $ID_j^* \in L_{ID}^*,$既未对它做部分私钥询问,也未对做个体签名询问. Q只把哈希函数H5替换为 $({\Delta ^*},m_j^*,ID_j^*,P_j^*)$其余保持不变.重复上述交互过程.由Forking lemma[11]可知:在不大于2t时间内,借助AI的能力以不低于e2×[66×A(n,q5)]-1的概率,获得一个新的有效的伪造元组% ${\sigma ^*}^\prime = (R_1^*,R_2^*,...,R_n^*,{W^*}^\prime ),$其中存在sÎ{1,2,…,n},当iÎ{1,2,…,n}\{s}时,总有 但当i=s时,有:

于是,Q得到方程组:

$\left\{ {\begin{array}{*{20}{l}} {e\left( {\sum\nolimits_{i = 1}^n {g_i^*Q_i^*} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {h_i^*P_i^*} ,{U^*}} \right)e\left( {\sum\nolimits_{i = 1}^n {R_i^*} ,{V^*}} \right) = e({W^*},P)}\\ {e\left( {\sum\nolimits_{i = 1}^n {g{{_i^*}^\prime }Q_i^*} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {h_i^*P_i^*} ,{U^*}} \right)e\left( {\sum\nolimits_{i = 1}^n {R_i^*} ,{V^*}} \right) = e({W^*}^\prime ,P)} \end{array}} \right.{\rm{.}}$

两式相除,得到:

若 $ID_j^* = I{D_k} = ID_s^*{\rm{,}}$ 则$Q_s^* = {Q_k} = {\alpha _k}P + {P_2}{\rm{,}}$解出

否则,Q终止协议.

· 成功概率:Q成功解决给定的CDH问题可转化为以下3个事件的发生:

S1:协议未终止于部分私钥询问.

S2:聚合签名被AI成功地伪造且Forking Lemma应用成功.

S3:满足 $ID_j^* = I{D_k} = ID_s^*.$

Q解决CDH问题的概率是P(S1ÇS2ÇS3)=P(S1)P(S2|S1)P(S3|S1ÇS2),其中, $P({S_1}) \ge {(1 - 1/{q_1})^{{q_6}}},$P(S2|S1)≥e2×[66×A(n,q5)]-1且 $P({S_3}|{S_1} \cap {S_2}) \ge q_1^{ - 2},$即,

定理2. 在随机预言模型下,如果AII是第二类超级攻击者,做自适应选择消息和身份攻击询问 q2,q3,q4,q5,q6,q7,q8,q9)后,以不可忽略的概率攻破提出的方案,那么存在一种(t¢,e¢)-CDH算法Q,其中, $\varepsilon ' \ge {[66 \cdot A(n,{q_5})]^{ - 1}} \cdot q_1^{ - 2}{(1 - q_1^{ - 1})^{{q_6}}} \cdot {\varepsilon ^2}{\rm{.}}$

证明:Q选择系统主密钥计算P0=sP,把{G1,G2,e,q,P,P0,H1,H2,H3,H4,H5}È{s}给AII.Q仍然将H1~H5 作为随机预言器,维护H1~H5L等列表,Q的目标是由(P,P1=aP,P2=bP)计算出abP.

· 生成用户询问:Q随机选择kÎ{1,2,…,q1}.当AII询问Create(IDi)时,Q选择 ${x_i},{\alpha _i}{ \in _R}_q^*$满足(*,*,*,ai,*)以前未出现在H1列表.当i¹k时,置Qi=aiP,Pi=xiP;当i=k时,置Qk=akP,Pk=xkP+P2.Q把(IDi,Qi,Pi,ai,xi)添入到H1列表,并把Pi&l t;/ i>和Qi返给AII.

· 公钥替换询问:当AII询问$Replace(I{D_i},{P'_i})$时,Q执行:当i=k时,终止协议;当i¹k时,Q检查H1列表,把元组(IDi,Qi,Pi,ai,xi)更新为 $(I{D_i},{Q_i},{P'_i},{\alpha _i},\bot ).$

· 秘密值询问:当AII询问Value(IDi)时,Q遍历H1列表.当i=k时,终止协议.当i¹k& lt; span style='font-family:宋体;color:black'>且xi¹^时,则为AII输出xi;否则,返回^.

· H2哈希询问:当AII询问H2(D||P)时,Q选择满足(*,*,bi)未出现在H2列表,把Ui=biP+P1返给AII并添(Di,Ui,bi)到H2列表.

H3,H4H5哈希询问与定理1的证明过程相同.

· 个体签名询问:当AII询问Sign(mi,Di,IDi,Pi)时,Q查询H2,H3列表以分别获得Ui=biP+P1Vi=liP-P1.Q执行如下步骤:

(1) 任选满足(*,*,*,*,hi)和(*,*,*,*,gi)分别未出现在H4H5列表;

(2) 计算Ri=riP+hiPi并置H4(mi||D||Ri||IDi)=hiH5(mi||D||Ri||Pi)=gi;

(3) 计算Wi=hi(bi+li)Pi+sgiQi+liriP-riP1. Q把(mi,Di,IDi,Pi,Ri,ri,hi,gi,Wi)添入L列表并以Ri,Wi作答.根据P0=sP和个体签名验证算法知:该返回值(Ri,Wi)是关于(mi,Di,IDi,Pi)的一个有效签名,因为

$\begin{array}{c} e({g_i}{Q_i},{P_0})e({h_i}{P_i},U)e({R_i},V) = e({g_i}{Q_i},sP)e({h_i}{P_i},{\beta _i}P + {P_1})e({r_i}P + {h_i}{P_i},{\lambda _i}P - {P_1})\\ = e(s{g_i}{Q_i},P)e({h_i}{\beta _i}{P_i},P)e({h_i}{P_i},{P_1})e({\lambda _i}{r_i}P + {\lambda _i}{h_i}{P_i},P)e( - {r_i}{P_1},P)e({h_i}{P_i},- {P_1})\\ = e({h_i}{\beta _i}{P_i} + {\lambda _i}{h_i}{P_i} + s{g_i}{Q_i} + {\lambda _i}{r_i}P - {r_i}{P_1},P)\\ = e({W_i},P). \end{array}$

· 伪造:类似与定理1相应过程,只是Q选择不同的哈希函数并应用Forking lemma[11],进而构造出

一个方程组:

$\left\{ {\begin{array}{*{20}{l}} {e\left( {\sum\nolimits_{i = 1}^n {g_i^*Q_i^*} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {h_i^*P_i^*} ,{U^*}} \right)e\left( {\sum\nolimits_{i = 1}^n {R_i^*} ,{V^*}} \right) = e({W^*},P)}\\ {e\left( {\sum\nolimits_{i = 1}^n {g_i^*Q_i^*} ,{P_0}} \right)e\left( {\sum\nolimits_{i = 1}^n {h{{_i^*}^\prime }P_i^*} ,{U^*}} \right)e\left( {\sum\nolimits_{i = 1}^n {R_i^*} ,{V^*}} \right) = e({W^*}^\prime ,P)} \end{array}} \right..$

两式相除,得出:

若 $ID_j^* = I{D_k} = ID_s^*$,则U=bkP+P1, $P_s^* = {P_k} = {x_k}P + {P_2}$.Q可以解出:

否则,Q终止协议.

· 成功概率:类似于定理1中相应的部分. □

表 3列举了几个在随机预言模型下可证安全的无证书聚合签名方案.数据显示,只有文献[8]和本文的方案给出了能够抵抗两类超级攻击者形式化的证明,而文献[5,6,7,9]中的方案给出了只能抵抗弱正常攻击者AII的 证明.

Table 3 Comparison of certificateless aggregate signature schemes 表 3 无证书聚合签名方案比较
3.3 效 率

方案的效率从两个方面考察:计算和通信代价.为了方便,用L表示群G1中元素的比特长度,pairing运算用

BP表示,上的hash运算记为H,群G1中标量乘运算为SM.这3种运算代价较大,尤其是BP.故比较

时只考虑它们.文献[7]包含两个聚合签名方案,我们用[7]-1和[7]-2加以区别.表 3数据显示:本文方案的聚合验证运算量明显小于文献[5,6,7,8],稍大于文献[9].虽然我们的聚合签名长度比文献[9]大,但是文献[9]中每个个体签名时必须所有参与成员互相传递数据后才能完成,最后再聚合产生聚合签名.因需要成员间交互信息而加大了通信代价,这必将极大地降低方案的效率,故在通信代价上,文献[9]并不比我们的方案占优势.另外,由于文献[9]涉及交换数据,所以在个体签名之前需要确定参与的成员.而我们的方案却没有这种限制,故它可以方便地实现系统中成员动态地加入每次的聚合签名.

4 结 论

本文利用双线性映射提出一个无证书聚合签名方案.该方案具有效率高、安全性强等优点.另外,方案中用户个体签名只使用公共信息和用户自己的信息,阻断了用户间的耦合性,可以方便实现系统中用户动态加入聚合签名,这使得方案具有应用的灵活性.鉴于该方案安全、高效和无证书管理的优点,它可应用于多对一的通信系统中对消息的认证.

致谢 我们向给予支持和提出宝贵建议的同行深表感谢.

参考文献
[1] Al-Riyami SS, Paterson KG. Certificateless public key cryptography. In: Laih CS, ed. Proc. of the ASIACRYPT 2003. LNCS 2894, Berlin: Springer-Verlag, 2003. 452-473. [doi: 10.1007/978-3-540-40061-5_29]
[2] Huang XY, Mu Y, Susilo W, Wong DS, Wu W. Certificateless signature revisited. In: Pieprzyk J, Ghodosi H, Dawson E, eds. Proc. of the ACISP 2007. LNCS 4586, Heidelberg: Springer-Verlag, 2007. 308-322. [doi: 10.1007/978-3-540-73458-1_23]
[3] Chen H, Zhang FT, Song RS. Certificateless proxy signature scheme with provable security. Ruan Jian Xue Bao/Journal of Software, 2009,20(3):692-701 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/574.htm [doi: 10.3724/SP.J. 1001.2009.00574]
[4] Chen H, Zhu CJ, Song RS. Efficient certificateless signature and group signature schemes. Journal of Computer Research and Development, 2010,47(2):231-237 (in Chinese with English abstract).
[5] Zhang L, Zhang FT. A new certificateless aggregate signature scheme. Computer Communications, 2009,32(6):1079-1085. .[doi: 10.1016/j.comcom.2008.12042]
[6] 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]
[7] Gong Z, Long Y, Hong X, Chen KF. Practical certificateless aggregate signatures from bilinear maps. Journal of Information Science and Engineering. 2010,26:2093-2106.
[8] Chen H, Song WG, Zhao B. Certificateless aggregate signature scheme. In: Xie S, et al., eds. Proc. of the 2010 Int'l Conf. on E-Business and E-Government (ICEE). IEEE Computer Society, 2010. 3790-3793. 9[doi: 10.1109/ICEE.2010.50]
[9] Lu HJ, Yu XY, Xie Q. Provably secure certificateless aggregate signature with constant length. Journal of Shanghai Jiaotong University, 2012,46(2):259-263 (in Chinese with English abstract).
[10] Boneh D, Gentry C, Lynn B, Shacham H. Aggregate and verifiably encrypted signatures from bilinear maps. In: Biham E, ed. Proc. of the EUROCRPYT 2003. LNCS2656, Heidelberg: Springer-Verlag, 2003. 416-432. [doi: 10.1007/3-540-39200-9_26]
[11] Herranz J, Saez G. New identity-based ring signature schemes. In: Lopez J, Qing S, Okamoto E, eds. Proc. of the ICICS 2004. LNCS 3269, Heidelberg: Springer-Verlag, 2004. 27-39. [doi: 10.1007/978-3-540-30191-2_3]