软件学报  2014, Vol. 25 Issue (10): 2409-2420   PDF    
公平的基于身份的多接收者匿名签密设计与分析
庞辽军1,2, 李慧贤3, 崔静静2, 王育民2    
1. 西安电子科技大学 生命科学技术学院, 陕西 西安 710071;
2. 综合业务网理论及关键技术国家重点实验室. 西安电子科技大学, 陕西 西安 710071;
3. 西北工业大学 计算机学院, 陕西 西安 710072
摘要:针对现有基于身份的多接收者签密方案中存在的接收者身份泄露以及解密不公平性等问题,提出一种具有解密公平性的基于身份的多接收者匿名签密方案.新方案不仅能够解决现有方案中不能保护接收者身份隐私性的问题,并且满足解密公平性,从而有效地防止了发送者可能的欺骗行为.接着,基于双线性Diffie-Hellman假设和计算Diffie-Hellman假设,对所提方案的保密性和不可伪造性进行了证明.同时,对方案的正确性及性能进行了分析.分析发现,该方案是一个安全、有效的公钥签密方案,能够解决现有方案中存在的接收者身份暴露和解密不公平性等问题.这使得该方案具有非常重要的应用,尤其是可以用来实现安全广播,以便在不安全和开放的网络环境中安全地广播敏感信息.
关键词公平性     匿名性     签密     多接收者签密     基于身份的签密    
Design and Analysis of a Fair ID-Based Multi-Receiver Anonymous Signcryption
PANG Liao-Jun1,2, LI Hui-Xian3, CUI Jing-Jing2, WANG Yu-Min2    
1. School of Life Science and Technology, Xidian University, Xi'an 710071, China;
2. State Key Laboratory of Integrated Services Networks(Xidian University), Xi'an 710071, China;
3. School of Computer Science and Engineering, Northwestern Polytechnical University, Xi'an 710072, China
Corresponding author: PANG Liao-Jun, E-mail: ljpang@mail.xidian.edu.cn
Abstract: Existing ID-based multi-receiver signcryption schemes presents some security problems. For example, the identities of receivers can be revealed and the receivers do not have fairness in decryption. In order to avoid those problems, this paper proposes a fair ID-based multi-receiver anonymous signcryption scheme. The new scheme can not only solve the problem that the existing schemes can not protect the privacy of receivers, but also meet the fairness of decryption to effectively prevent possible cheating behavior of the sender. It then proves the confidentiality and unforgeability under of the scheme the bilinear Diffie-Hellman assumption and the computational Diffie-Hellman assumption. Simultaneity, the correctness and the performance of this scheme are analyzed. It concludes that this scheme is a secure and effective public-key signcryption scheme and can solve the problems of the receivers' identity exposure and unfairness decryption. Therefore, the new scheme has very important applications, especially it can be used to broadcast sensitive information in unsafe and open network environment.
Key words: fairness     anonymity     signcryption     multi-receiver signcryption     identity-based signcryption    

在网络广播传输服务中,付费服务的提供方希望只有其授权的用户才可以享受服务,同时,授权用户也不希望让没有付费的非授权用户轻易地得到相关服务.因此,需要对广播信息进行加密,确保只有授权用户才能够正确解密得到信息.另外,授权用户为了避免收到某些无聊的服务或广告信息,通常希望可以对接收到的广播消息进行认证.由于以上需要,多接收者签密思想[1]被提了出来.在一个多接收者签密方案中,签密者,即消息发送者,利用自己的私钥对一组信息进行签密,而每一个授权的解签密者,即消息接收者,可以利用自己的私钥对签密密文进行解签密操作以获取明文信息.

多接收者签密能够仅通过一次签密操作完成对多个接收者安全地发送同一消息,比传统的一对一的签密方式[2,3]更为有效和实用,因此特别适合网络安全广播和安全组播等业务.目前,多接收者签密已成为信息安全领域的一个研究热点.在Duan等人[1]提出多接收者签密概念后,许多优秀的签密方案也被提了出来[4, 5, 6, 7].现有的多接收者签密方案均能满足保密性和不可伪造性要求,保证只有授权用户可以正确解密.同时,能够验证消息发送者的身份.但是,随着对个人隐私问题的日益重视,人们渴望自己订阅某种服务的事实对他人保密.然而,现有大多数多接收者签密方案[4, 5, 6, 7]中的密文信息完全暴露了接收者身份,因为在现有这些方案中,所有授权接收者的身份信息及其关联顺序是密文中的一部分,任何人只要获取了密文,就能够得到接收者的身份信息.除了隐私问题外,现有方案的这种处理方式还会导致解密不公平性问题.也就是说,当密文信息部分损坏后,可能会导致部分授权用户无法正确解密,而其他用户却仍然能够正确解密.这在实际应用中具有一定的局限性,也增加了发送者蓄意欺骗某些接收者的可能.

鉴于以上考虑,针对现有多接收者签密存在的接收者身份暴露和解密过程不公平等问题,提出一个新的多接收者签密方案,以确保接收者的身份隐私性和解密过程的公平性.所提方案的密文中不再需要直接给出接收者的身份列表,从而能够保护接收者的身份隐私性.同时,将每一个接收者所需的不同信息变换成一个公用的信息集,以实现解密公平性.因此,除了保密性和发送者不可伪造性外,相对于现有方案,本文方案具有以下优点:

1) 接收者具有匿名性.消息密文不再泄露接收者身份信息,从而可以保护他们的隐私;

2) 具有解密公平性.使得对所有授权接收者而言都有相同的机会获得解密结果,要么所有授权接收者均能正确解密,要么均无法正确解密.

本文第1节介绍相关工作.第2节介绍本文用到的数学背景以及签密方案的基本知识.第3节详细介绍本文所提方案.第4节对本文方案进行正确性分析与安全性证明,并与现有方案进行对比,以评估本文方案的性能.第5节总结全文.

1 相关工作

签密概念最早是由Zheng[8]于1997年提出来的,其基本思想是:让公钥加密和数字签名同时进行,使得签密后的消息同时具有机密性和可靠性,且相较于传统的签名-加密模式具有更小的计算和传输代价.因此,签密得到人们的关注和广泛研究[9, 10, 11, 12].自Boneh和Franklin[13]于2001年给出了第一个实际可行的基于身份的加密方案之后,基于身份的签密方案被提了出来[10].这些方案的特点是一对一签密,即,发送者通过一次签密只能向一个接收者传输密文信息.而当发送者需要向多个传输者传输同一消息时,上述签密方案需要对每一个接收者重复执行相同的签密操作.

当一则消息需要向多个接收者传送时,传统的加密方案由于需要重复多次加密过程,算法效率和实时性较低,不能满足实际需求[14].因此,Bellare[2]和Baudron[3]于2000年分别提出多接收者加密这一概念.融合签密概念和多接收者加密思想,Duan等人[1]于2006年提出了第一个基于身份的多接收者签密方案,方案中签密者对一则消息进行一次签密,其指定的多个接收者可以分别使用自己的私钥对接收到的消息密文进行解密并验证其可靠性.然而在他们的方案中,密文内容包括两部分,即,密文正文部分和接收者信息部分(但事实上,Duan等人在文章中可能由于某种失误,没有将解密所需要的接收者身份列表信息放入密文中,使得接收者无法在接收者信息部分找到自己所需要的信息,故方案并不完善)[4].2007年,文献[4]中提出了一种更为高效的基于身份的多接收者签密算法,并在密文中补充了接收者身份列表.此后,又有大量的方案被提出,如文献[5, 6, 7].其中,文献[5]提出了一个无证书的多接收者签密方案,它的缺点是密文较长,故存储和通信量较大;文献[6]提出了一个基于身份的多接收者加密方案,该方案虽然在计算性能上有一定优势,但它需要保存的公开参数过多,也不利于实际应用;文献[7]所提方案的缺点在于它的双线性对计算过多,计算复杂度太大.2009年,Lal等人在文献[15]中提出了一个签密者匿名的基于身份的多接收者签密方案,并给出了该方案的一个应用场合.2010年,文献[16]给出一种新的签密者匿名的设计方案.尽管设计方法不同,但上述方案均需在消息密文中设置一个指示授权接收者的身份列表.

通过上述分析可以看出,现有的大多数多接收者签密方案的密文中都需要包括接收者身份列表(文献[1]尽管没有包含,但对其解密过程进行分析可知,这应该是作者笔误或者是无意中漏掉了),接收者需要通过列表中自己所在的序列号找到密文中自己所需要的特定密文信息元素,继而对密文的正文部分进行解密.这样必然存在如下缺陷:首先会暴露接收者身份隐私.事实上,任何人都不愿把自己的隐私透漏出去.此外,每个接收者所需要的特定信息只是整个签密密文中的特定部分,故存在解密不公平性问题.如果密文在传送过程中出现错误,会导致部分接收者无法正确验证或解密消息,而另一些用户却可以对消息进行验证和解密.更为严重的是无法避免发送者有意欺骗某接收者的攻击,比如故意给某个接收者一个错误的信息部分.

鉴于以上考虑,针对接收者匿名性和解密不公平问题,本文提出一种新的多接收者签密方案,以满足接收者的匿名性和解密公平性.在新方案中,我们采用拉格朗日插值方法将授权接收者的身份信息隐藏在密文中,从而使得密文中不再包含接收者身份列表信息以及相关的序列号,不再直接泄露授权接收者的身份.不仅使攻击者无法得到接收者的信息,而且使接收同一则消息的所有接收者都不可获得除自己以外的其他接收者的任何信息,从而解决了接收者身份暴露的问题.同时,在新方案中,每个接收者不再需要根据自身身份选择对应的密文部分进行解密,所有接收者在解密过程中所需要的密文信息为相同的密文集合.因此,当部分密文在传输过程中丢失或者发生错误时,要么所有的接收者都不能够正确解密密文信息,要么都可以正确解密密文,从而解决了现有方案解密不公平的问题.

2 背景知识

在这一节,我们对文中用到的一些数学背景知识以及相关的困难问题作一简单介绍.

2.1 拉格朗日插值多项式

为一个t-1次多项式,且通过t个点(x1,y1),(x2,y2),…,(xt,yt),其拉格朗日插值基函数为

我们有:

(1)

2.2 双线性函数

G1G2为两个阶为q的循环群,其中q为素数.双线性映射e:G1xG1®G2满足以下性质:

1) 双线性:对任意P,QÎG1以及a,bÎZq,有e(aP,bQ)=e(P,Q)ab成立;

2) 非退化性:对任意P,QÎG1,有e(P,Q)¹1;

3) 可计算性:对任意P,QÎG1,存在有效的算法计算e(P,Q).

2.3 困难问题

G1G2为两个阶为q的循环群,且PG1的生成元,e:G1xG1®G2为一个双线性映射:

1) 计算Diffie-Hellman(computational Diffie-Hellman,简称CDH)问题:已知áP,aP,bPñ,其中,计算abP;

2) 双线性Diffie-Hellman(bilinear Diffie-Hellman,简称BDH)问题:已知áP,aP,bP,cPñ,其中,计算e(P,P)abc.

定义1(CDH假设). 在解决G1中的计算Diffie-Hellman问题时,定义一个概率多项式时间算法B的优势为

CDH假设为:如果任意多项式时间算法B,其优势都是可忽略的,则CDH假设成立.

定义2(BDH假设). 在解决G1中的双线性Diffie-Hellman问题时,定义一个概率多项式时间算法B的优势为

BHD假设为:对任意多项式时间算法B,其优势AdvBDH都是可忽略的,则BHD假设成立.

2.4 基于身份的多接收者匿名签密方案(MIBAS)

类似于基于身份的多接收者签密[1],本文提出的基于身份的匿名签密同样包括4种算法,分别称为KeyGen (参数生成算法)、Extract(密钥提取算法)、Anony-signcrypt(匿名的签密算法)和De-signcrypt(解签密算法).

· KeyGen:私钥生成中心(private key generator,简称PKG)运用该算法生成主密钥s以及公开参数params,其中,主密钥秘密保存,公开参数对外公布;

· Extract:该算法用于提取用户私钥,输入用户的身份IDi、PKG的私钥s以及系统公开参数params,输出相应的用户私钥di,即,di=Extract(IDi,s,params).其中,IDi作为用户公钥对外公开,di作为其私钥秘密保存;

· Anony-signcrypt:输入PKG的公开参数params,一个明文消息m,发送者身份IDS选取一个接收者身份集合L={ID1,ID2,…,IDt},并输入自己的私钥dS,运行该算法,输出消息m相对应的密文消息C,即:

C=Anony-signcrypt(params,m,L,dS).

· De-signcrypt:输入密文C、PKG的公开参数params、接收者的身份IDi(iÎ{1,2,…,t})及其相应的私钥di,运行该算法,如果密文C是正确的签密消息,则接受该签名,并输出相对应的密文消息m,即:m= De-signcrypt(C,params,di);否则,输出^.

本文所提出的匿名多接收者签密方案的密文同样包括密文部分和接收者信息部分,但新方案的接收者信息部分不再包含具体的身份信息明文和与之相关的序列号,而是以拉格朗日插值方式将授权接收者的身份杂糅在一起,从而形成一个密文集合,该集合不暴露任何身份隐私.同时,密文的各个部分对于每个授权接收者来说都是必要的,为了解签密收到的密文,接收者需要密文的全部内容用来解密密文,以获得对应明文.

2.5 安全模型 2.5.1 消息保密性

消息保密性是指信息不被泄露给非授权的用户,即,信息只能被授权用户使用.最广泛被接受的是选择密文攻击下(CCA)的密文不可区分性安全模型,Duan等人[1]将其扩展到多接收者环境中,我们称其为多接收者签密方案在选择密文攻击下具有密文不可区分性(indistinguishability of ciphertexts under selective multi-ID,chosen ciphertext attack,简称IND-sMIBSC-CCA),具体描述如下.

定义3(IND-sMIBSC-CCA). 假设A是一个攻击者(attacker),定义P是一个基于身份的多接收者匿名签密方案.考虑A与一个挑战者(challenger)B进行以下互动:

Setup:B运行该算法,生成主密钥s以及系统参数params,将paramsA,并秘密保存主密钥s.收到系统参数以后,A输出t个目标身份

Phase 1:AB进行如下询问:

· 私钥提取询问:当B接收到关于身份的私钥询问时,运行算法Extract得到该身份相应的密钥d=Extract(ID,s,params);

· 匿名签密询问:当B收到匿名签密询问(m,L,IDs)(其中,L={ID1,ID2,…,IDt})以后,计算密文:

C=Anony-signcrypt(params,m,L,ds),

其中,ds是攻击者IDs的私钥,并返回给A;

· 解签密询问:当B收到解签密询问(C,IDj,IDs)(其中,IDjÎL)以后,计算IDj的私钥dj,如果C是有效的密文,就解密出m=De-signcrypt(C,params,IDs,IDj,dj),并返回给A;否则,输出^;

Challenge:A选择一对等长的消息(m0,m1)和一个身份,B计算的私钥,并随机选择bÎ{0,1},生成一个目标密文,并将C*返回给A.

Phase 2:A像Phase 1中一样进行多次询问,注意,私钥提取询问时不可以询问中的身份信息,解密询问时不可以询问C*.

Guess:最终,A输出其猜测b ¢Î{0,1},如果b ¢=b,则赢得这场游戏.

如上所述的A被称为IND-sMIBSC-CCA攻击者,其优势定义为

(2)

如果对于任意的IND-sMIBSC-CCA攻击者A,在概率时间t内,它的猜测优势都小于e,则称方案P是(t,e)- IND-sMIBSC-CCA安全的.

2.5.2 不可伪造性

签密方案需要具有不可伪造性,使得发送者不能否认签名消息并发送给接收者的行为.我们对Duan等人[1]所提出的安全模型进行适当修改,提出称为多接收者签密方案在适应性选择消息攻击下能抗伪造性(modified existential unforgeability under selective ID,chosen message attack,简称MEUF-sMIBSC-CMA).这里,我们提出的新安全模型描述如下.

定义4(MEUF-sMIBSC-CMA). 假设F是一个伪造者(forger),定义P是一个基于身份的多接收者匿名签密方案.考虑F与一个挑战者(challenger)B进行以下互动:

Setup:B运行该算法,生成主密钥s以及系统参数params,将paramsF,并秘密保存主密钥s.收到系统参数以后,F输出目标身份.

Attack:FB进行如下询问:

· 私钥提取询问:当B接收到关于身份的私钥询问时,就运行算法Extract,得到:

d=Extract(ID,s,params);

· 匿名签密询问:当B收到匿名签密询问(m,L,IDs)(其中,L={ID1,ID2,…,IDt})以后,计算密文:

C=Anony-signcrypt(params,m,L,ds),

其中,ds是攻击者IDs的私钥,并返回给F.

Forgery:F最终输出一个新的密文消息C*t组接收者的公私钥对(ID1,d1),(ID2,d2),…,(IDt,dt).如果C*对消息m的签名,且可以被任何L={ID1,ID2,…,IDt}中的接收者正确解密,则C*是有效密文,F赢得这场游戏.这里的限制是:F不能对身份进行私钥提取询问,且C*不能由Anony-signcrypt算法产生.F的优势为其胜利的概率.

3 方案描述

本方案包含KeyGen,Extract,Anony-signcrypt和De-signcrypt这4种算法,具体描诉如下.

3.1 参数生成算法(KeyGen)

该算法由PKG执行,具体包括以下步骤:

1. 设G1G2分别是阶为q≥2k(其中,k是一个长整数)的加法群和乘法群,PG1的生成元.选择双线性映射e满足e:G1xG1®G2;

2. 定义4个单向Hash函数:(其中,l1=|ID|,l2=|m|);

3. 选择一个随机数为主密钥,设置Ppub=sPÎG1为系统公钥;

4. 公开系统参数params=áG1,G2,q,e,P,Ppub,H0,H1,H2,H3ñ,并安全保存主密钥s.

3.2 私钥提取算法(extract)

向PKG输入参数paramss和身份,算法进行以下步骤:

1. 计算ID的公钥QID=H0(ID);

2. 设置ID的私钥dID=sQID.

3.3 签密算法(anony-signcrypt)

签密者输入参数params、消息m,设IDA是签密者,{ID1,ID2,…,IDt}是签密者从n个用户中选择的t个接收者的身份集合,IDA的签密过程如下:

Sign:

1. 随机选择整数,RÎG1.计算U=rP,h=H1(m,U),V=hdA+rQA(其中,“+”表示G1中的加法运算).这里,dA=sQAQA=H0(IDA)分别是签密者的私钥和公钥.

Encrypt:

1. 计算Y=e(rPpub,R),W=H2(Y)Å(m||IDA);

2. 计算xi=H3(IDi),yi=r(R+Qi),i=1,2,…,t,其中,Qi=H0(IDi),从而得到t组数:(x1,y1),(x2,y2),…,(xt,yt),构造拉格朗日函数Fi(x)满足xiFi(x)=yi的根.对于i=1,2,…,t,计算:

(3)

3. 对于i=1,2,…,t,计算;

4. 生成密文C=áT1,T2,…,Tt,U,V,Wñ.

3.4 解签密算法(de-signcrypt)

接收者输入密文C=áT1,T2,…,Tt,U,V,Wñparams、接收者的身份IDi及其私钥di,为了解密C,算法进行以下步骤的操作:

Decrypt:

1. 计算xi=H3(IDi).计算.计算Y¢=e(Ppub,di)×e(U,di)-1,(m||IDA)=H2(Y¢)ÅW;

2. 输出(m||IDA)和áU,Vñ进行以下验证过程:

Verify:

1. 计算h=H1(m,U),判断e(P,V)=e(UPpub,QA)h(其中,QA=H0(IDA))是否成立:如果成立,则接受消息m;否则,输出^.

4 分析与证明 4.1 正确性分析

本文方案的正确性通过以下两个定理来加以说明.

定理1. 第3.4节中所描述的解密过程(decrypt)是正确的.

证明:首先,对于每一个IDi,iÎ{1,2,…,t},计算di如下:

(4)

从而,我们可以进一步得到e(Ppub,di)×e(U,di)-1=e(rPpub,R),具体推导过程说明如下:

(5)

所以,(m||IDA)=H2(Y¢)ÅW=H2(Y)ÅW.证毕.

定理2. 第3.4节中所描述的验证过程(verify)是正确的.

证明:由于

(6)

即:e(P,V)=e(UPpub,QA)h,因此,验证过程是正确的.证毕.

4.2 安全性证明

下面我们分别对方案的消息保密性和不可否认性给出随机预言模型下的安全证明.

定理3. 在随机预言模型中,如果存在一个IND-sMIBSC-CCA敌手A能够在时间t内,以一个不可忽略的优势e赢得定义3中的游戏(这里,他最多能进行qex次密钥提取询问、qs次匿名签密询问、qd次解签密询问和次对Hash函数H0,H1,H2,H3的询问),则存在一个算法B能够在时间t¢t+(2qd+qs)O(t1)内,以优势解决BDH问题(其中,t1是双线性对运算e的运算时间).

证明:下面我们给出算法B如何利用A在时间t¢内以概率e¢解决BDH问题.

首先,B得到一个BDH问题实例C=áP,aP,bP,Q=cPñ,其目标为计算出e(P,P)abce(P,Q)ab.B模拟一个挑战者如定义3中所述进行每一步过程.

Setup:B设定Ppub=bP,将params=áG1,G2,q,e,P,Ppub,H0,H1,H2,H3ñ作为系统参数给A.收到系统参数以后,A输出t个目标身份

其中,H0,H1,H2H3B如下控制:

H0,H1,H2H3询问的结果分别存储在H0-list,H1-list,H2-list和H3-list中.

H0-query:向H0输入一个身份IDj,jÎ{1,2,…,n},如果H0-list中存在(IDj,lj,Qj),则返回Qj;否则,进行以下步骤:

1) 若,iÎ{1,2,…,t},随机选择一个整数,计算Qj=ljP-Q;否则,随机选择一个整数,计算Qj=ljP.

2) 将(IDj,lj,Qj)存入H0-list,返回Qj.

H1-query:向H1输入一组数,若H1-list中存在(mj,Uj,hj),则返回hj;否则,进行以下步骤的操作:

1) 随机选择一个整数

2) 将(mj,Uj,hj)存入H1-list,返回hj.

H2-query:向H2输入一个元素,若H2-list中存在(Yj,rj),则返回rj;否则,进行以下步骤的操作:

1) 随机选择一个字符串

2) 将(Yj,rj)存入H2-list,返回rj.

H3-query:向H3输入一个身份IDj,jÎ{1,2,…,n},如果H3-list中存在(IDj,xj),则返回xj;否则,进行以下步骤的操作:

1) 随机选择一个整数

2) 将(IDj,xj)存入H3-list,返回xj.

Phase 1:AB进行如下询问:

· 私钥提取询问:当B接收到关于身份的私钥询问时,就在H0-list中寻找(IDj,lj,Qj),计算dj=bljP,并返回给A;

· 匿名签密询问:B收到匿名签密询问(m,L,IDA)(其中,L={ID1,ID2,…,IDt})时,这里B随机选择,计算U=r¢P-hbP,R=lP,得到(m,U,R,h),并在H1-list中查找,使得(m,U)没有在H1-list中出现;否则,重新选择,进行以上过程,B将符合条件的(m,U,h)加入到H1-list中.B计算Y=e(r¢bP,lP),在H2-list中查找(Y,r),计算出W=rÅ(m||IDA),然后,BH3-list中查找(IDi,xi),计算yi=(l+li)U,i=1,2,…,t,并由此得到Ti(i=1,2,…,t).最终,B得到密文C,并返回给A;

· 解签密询问:当B收到一个密文为C=áT1,T2,…,Tt,U,V,Wñ和一个身份IDi,iÎ{1,2,…,t}的解签密询问以 后,寻找(IDi,xi)ÎH3-list,并计算.在H0-list中寻找(IDi,li,Qi),并计算di= bliP,Y¢=e(Ppub,di)×e(U,di)-1,从而可以得到(m||IDA)=H2(Y¢)ÅW.再在H0-list中寻找(IDA,lA,QA),得到QA.最后验证是否成立:如果成立,则C是有效的密文,返回mA;否则,输出^.

Challenge:A选择一对等长的消息(m0,m1)和一个签密者的身份IDA.当B收到(m0,m1)和IDA以后,随机选择bÎ{0,1},对消息mb进行签密.首先,B查找H0-list获得与相对应的,并得到它们的公钥计算出继而得到B最终生成一个目标密文其中,U=aP,V=(bh+r)lAP,R=Q=cPW*=H2(e(P,P)abc)Å(mb||IDA).最后,将C*返回给A.

Phase 2:A像Phase 1中一样进行多次询问,注意,私钥提取询问时不可以询问中的身份信息,解密询问时不可以询问C*.

Guess:最终,A输出其猜测b ¢Î{0,1},如果b ¢=b,BH2-list选取(Y,r),并输出V作为BDH问题的解.

分析:在签密询问中,U=r¢P-hbP=(r¢-bh)P,故r=r¢-bh.又

,

yi=(l+li)U=(l+li)(rP)=r(lP+liP)=r(R+Qi)=rR+rQi,i=1,2,…,t,

由此计算出Ti,从而可以得到目标密文.

在挑战过程中,我们设置U*=aP,R=Q=cP.已知可以得到:

再通过拉格朗日插值函数得到.因此,C与实际攻击过程中描述的相同.如果A的猜测正确,它需要询问随机预言函数H2得到Y=e(rPpub,R)ab=e(abP,Q)=e(P,Q)ab,并将(Y,r)存入H2-list,B可以从中提取出e(P,Q)ab.

由以上讨论可知,攻击环境的模拟几乎完美,唯一不足的情况是:一个合理的密文在解签密询问时可能遭到拒绝.显然,对于H2-list中的每一对(Yi,ri),在H1-list中恰好存在一个hi提供一个合法的密文.拒绝一个合理密文的概率不大于.在攻击阶段,A进行了qd次解签密询问,BH2-list中随机选择Y作为BDH困难问题的结果,我们有t¢t+(2qd+qs)O(t1)(其中,t1是对运算e的运算时间).

定理4. 在随机预言模型中,如果存在一个MEUF-sMIBSC-CMA敌手F能够在时间t内,以一个不可忽略的优势e赢得定义4中的游戏(这里,他最多能进行qex次密钥提取询问、qs次匿名签密询问和次对Hash函数H0,H1,H2,H3的询问),则存在一个算法B能够在时间t¢t+qsO(t1)内,以优势解决CDH问题(其中,t1是对运算e的运算时间).

证明:下面我们给出算法B如何利用F在时间t¢内以概率e¢解决CDH问题.

首先,B得到一个CDH问题实例áP,bP,Q=cPñ,其目标为计算出bcPbQ.B模拟一个挑战者如定义4中所述进行每一步过程.

Setup:B设定Ppub=bP,将params=áG1,G2,q,e,P,Ppub,H0,H1,H2,H3ñ作为系统参数给F.收到系统参数以后,F输出目标身份.其中,对H0,H1,H2H3的询问如定理3中所描述.

Attack:FB进行如下询问:

· 私钥提取询问:当B接收到关于身份的私钥询问时,就在H0-list中寻找(ID,l,Q),计算d=blP,并返回给F;

· 匿名签密询问:对于一个关于(m,L,IDs)(其中,L={ID1,ID2,…,IDt})的签密询问,B随机选择R¢ÎG1,计算U¢=r¢P.在H1-list中查找(m,U¢,h¢),得到h¢,若未找到,就选择一个,并将(m,U¢,h¢)存入H1-list.在H0-list中查找(IDA,lA,QA),得到QA,如果找不到,就选择一个,计算QA=lAP,并将(IDA,lA,QA)存入H0-list,计算V¢=h¢SA+r¢QA=lAbh¢P+lAr¢P=lA(bh¢+r¢)P.接下来计算Y¢=e(br¢P+R¢),在H2-list中查找(Y¢,r¢),若未找到,就选择一个r¢Î{0,1}l+k,并将(Y¢,r¢)存入H2-list,计算W¢=r¢Å(m||IDA).BH3-list中查找(IDi,li),并计算yi=(l+li)U,i=1,2,…,t,由此得到Ti,iÎ{1,2,…,t},最终,B得到密文C,并返回给F.

Forgery:F生成一个目标密文,如果这个伪造是成功的,则有:

e(P,V)=e(U*Ppub,QA)h.

定义c=lAh,则V*=hSh+rQA=lAbhP+rQA=bcP+rQA,这样就很容易提取出CDH问题的解:bcP=V-rQA.

下面我们考虑B成功的优势.由于匿名签密询问中至多进行了H1询问,故B对一个签密询问回答失败的概率不大于,所以我们得到t¢t+qsO(t1)(其中,t1是对运算e的运算时间).

4.3 性能比较与效率分析 4.3.1 性能比较

与现有的基于身份的多接收者签密方案进行比较,本文提出的方案实现了更为完善的性能,见表 1(部分优缺点分析见第4.3.2节).

Table 1 Performance comparison of our scheme with the exiting ones 表 1 本文方案与现有方案的性能比较

表 1的解释如下:

1) 接收者身份列表

接收者身份列表是现有方案密文中必须要包含的信息,用于指示每个授权接收者根据自己在列表中的位置查找自己所需要的密文信息.

文献[1]中缺少此部分内容(但通过分析,文献[1]的方案事实上是需要接收者身份列表信息的),会导致接收者无法从密文中查找自己所需要的信息,故无法对消息进行正确解密.此后的文章中都补充了该列表信息,虽然解决了文献[1]中存在的问题,但却会引发下面2)和3)中所描述的安全问题.

2) 接收者匿名性

接收者匿名性要求每一个接收者的身份对攻击者以及其他接收者是匿名的.

由于签密者将消息进行广播,所以任何用户都可以接收到密文消息.在许多现有文献中,如文献[4, 5, 6, 7],密文需要包含一个标志信息才能使接收者在密文中找到自己需要的信息来对密文进行解密,而标志信息就是所有授权接收者的身份列表,故接收者的身份会直接暴露出来,从而不具备隐私性.但是在我们的方案中,加密过程中使用拉格朗日插值函数将所有授权接收者的身份信息IDi糅合在一起,并隐藏在集合{T1,T2,…,Tt}中,每个接收者都得不到其他授权的接收者的任何信息,从而使得该方案具有接收者匿名性.

3) 解密公平性

解密公平性要求,一旦消息在传输过程中出错或者被破坏,所有接收者都将以相同的概率得到正确明文信息,要么所有的接收者都不能够正确解密密文信息,要么都可以正确解密密文.

现有方案中,每个接收者需要通过密文中身份列表中自己所在的序列号找到密文信息部分中自己所需要的特定信息后,才可以对密文进行解密,然而一旦传输过程中部分密文信息发生错误,会直接导致部分接收者无法对消息进行解密,而其余接收者却可以解密,故不具有解密公平性.在我们提出的方案中,密文为C=áT1,T2,…,Tt,U,V,Wñ,解密过程中所有出现的元素对于每个接收者解密都是必须的,故任何一个元素出错,所有接收者都无法解密得到正确的消息,从而对所有授权的接收者而言解密过程是公平的.

4.3.2 效率分析

下面,我们主要从计算成本和通信量两个方面来比较现有的基于身份的多接收者签密方案和本文所提出的方案,具体分析如下.

1) 通信量分析

本文所提出的方案中密文C=áT1,T2,…,Tt,U,V,Wñ的长度为(t+2)|G1|+|ID|+|m|.文献[1]中方案的密文信息缺少了接收者身份标志,如果添加上接收者身份标志,密文的真实长度应该为(t+3)|G1|+(t+1)|ID|+|m|,大于本文所提出的方案.文献[6]中方案虽然密文长度较短,但其系统公开参数至少为(t+9)个,数量太多而不利于存储.文献[7]中所提方案虽然系统公开参数较少,但其密文长度为(t+2)|G1|+|m|+t|ID|+|Zq|,长度过长而不便于传送.综合上述分析,本文提出的方案不仅密文较短,在传输过程中具有一定优势,而且系统公开参数适中,利于存储.

2) 计算量分析

本文方案中,计算,iÎ{1,2,…,t}需要一定的计算代价,但是fi(x)和Ti的功能是用于隐藏接收者的身份信息,保护接收者的隐私,且使得解密具有公平性,它们是本方案中实现相关功能的重要计算步骤;且当选定接收者后,上述运算可以预计算.如果不统计这两步的计算量,则本文方案仅需1次双线性对计算、(t+1)次加运算、(t+4)次乘运算和3次Hash运算,无需指数运算(这里的加运算、乘运算和指数运算分别指G1,G2Zq中的加运算、乘运算和指数运算次数的总和).所以,计算量与文献[1, 4, 5, 6, 7]中方案比较起来也具有很大的优势.具体比较结果见表 2.

Table 2 Signcryption efficiency comparison of our scheme with the exiting ones 表 2 本文方案与现有方案的签密效率比较
5 结束语

多接收者签密将公钥加密和签名同时进行,满足了广播服务中保密性以及不可伪造性的需要,以安全且可认证的方式广播消息给多个授权用户.本文针对现有的多接收者签密方案中存在的接收者身份暴露和解密不公平性等问题,提出了一个新的基于身份的多接收者签密方案.该方案不仅满足保密性和不可伪造性,还满足接收者匿名性以及解密公平性.同时,给出了在随机预言模型下的IND-sMIBSC-CCA和MEUF-sMIBSC-CMA安全性证明,并通过与现有方案的对比,分析了本方案的性能与效率,从而证明该方案是安全、有效的.

致谢 衷心感谢匿名审稿专家对本文提出的问题与质疑以及所提供的修改建议.

参考文献
[1] Duan S, Cao Z. Efficient and provably secure multi receiver identity based signcryption. In: Batten L, Safavi-Naini R, eds. Proc. of the 11th Australasian Conf. on Information Security and Privacy (ACISP 2006). LNCS 4058, Heidelberg: Springer-Verlag, 2006. 195-206 .
[2] Bellare M, Boldyreva A, Micali S. Public-Key encryption in a multi-user setting: Security proofs and improvements. In: Naor M, ed. Proc. of the Advances in Cryptology (Eurocrypt 2000). LNCS 1807, Heidelberg: Springer-Verlag, 2000.259-274 .
[3] Baudron O, Pointcheval D, Stern J. Extended notions of security for multicast public key cryptosystems. In: Widmayer P, Francisco T, et al., eds. Proc. of the 29th Int’l Colloquium on Automata, Languages and Programming (ICALP 2000). LNCS 1853, Heidelberg: Springer-Verlag, 2000.499-511 .
[4] Yu Y, Yang B, Huang X, Zhang M. Efficient identity-based signcryption scheme for multiple receivers. In: Xiao B, et al., eds. Proc. of the 4th Int’l Conf. on Autonomic and Trusted Computing (ATC 2007). LNCS 4610, Heidelberg: Springer-Verlag, 2007.13-21 .
[5] Sharmila S, Shukla D, Rangan P. Efficient and provably secure certificateless multi-receiver signcryption. In: Baek J, et al., eds. Proc. of the 2nd Int’l Conf. on Provable Security (ProvSec 2008). LNCS 5324, Heidelberg: Springer-Verlag, 2008.52-67 .
[6] Sharmila S, Sree S, Srinivasan R, Pandu C. An efficient identity-based signcryption scheme for multiple receivers. In: Takagi T, Mambo M, eds. Proc. of the 4th Int’l Workshop on Security (IWSEC 2009). LNCS 5824, Heidelberg: Springer-Verlag, 2009.71-88 .
[7] Elkamchouchi H, Abouelseoud Y. MIDSCYK: An efficient provably secure multirecipient identity-based signcryption scheme. In: Hossam M, Watheq M, et al., eds. Proc. of the 2009 Int’l Conf. on Networking and Media Convergence (ICNM 2009). Piscataway: IEEE Press, 2009.70-75 .
[8] Zheng Y. Digital signcryption or how to achieve cost(signature & encryption)<<cost(signature)+cost(encryption). In: Burton S, ed. Proc. of the Advances in Cryptology (CRYPTO’97). LNCS 1294, Heidelberg: Springer-Verlag, 1997.165-179 .
[9] Shin JB, Lee K, Shim K. New DSA-verifiable signcryption schemes. In: Lee P, Lim C, eds. Proc. of the 5th Int’l Conf. on Information Security and Cryptology (ICISC 2002). LNCS 2587, Heidelberg: Springer-Verlag, 2003.35-47 .
[10] Malone-Lee J. Identity-Based signcryption. IACR Cryptology ePrint Archive: Report 2002/098 (2002), 2002. http://eprint.iacr.org/2002/098.pdf
[11] Malone-Lee J, Mao W. Two birds one stone: Signcryption schemes using RSA. In: Joye M, ed. Proc. of the Cryptographer’s Track at RSA Conf. (CT-RSA 2003). LNCS 2612, Heidelberg: Springer-Verlag, 2003. 211-226 .
[12] Libert B, Quisquator J. A new identity based signcryption scheme from pairings. In: Ezio B, Vahid T, eds. Proc. of the 2003 IEEE Information Theory Workshop. Piscataway: IEEE Press, 2003. 155-158 .
[13] Boneh D, Franklin M. Identity-Based encryption from the Weil pairing. In: Kilian J, ed. Proc. of the Advances in Cryptology (CRYPTO 2001). LNCS 2139, Heidelberg: Springer-Verlag, 2001. 213-229 .
[14] Pang LJ, Li HX, Jiao LC, Wang YM. Design and analysis of a provable secure multi-recipient public key encryption scheme. Ruan Jian Xue Bao/Journal of Software, 2009,20(10):2907-2914 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/3552.htm
[15] Lal S, Kushwah P. Anonymous ID based signcryption scheme for multiple receivers. IACR Cryptology ePrint Archive: Report 2009/345 (2009), 2009. http://eprint.iacr.org/2009/345.pdf
[16] Zhang B, Xu QL. An ID-based anonymous signcryption scheme for multiple receivers secure in the standard model. In: Kim T, Adeli H, eds. Proc. of the AST/UCMA/ISA/ACN 2010 Conf. on Advances in Computer Science and Information Technology (AST/ UCMA/ISA/ACN 2010). LNCS 6059, Heidelberg: Springer-Verlag, 2010. 15-27 .
[14] 庞辽军,李慧贤,焦李成,王育民.可证明安全的多接收者公钥加密方案设计与分析.软件学报,2009,20(10):2907-2914. http://www.jos.org.cn/1000-9825/3552.htm