可证安全的基于身份的签密方案
- 格式:doc
- 大小:46.00 KB
- 文档页数:21
可证明安全的基于身份的聚合签密方案摘要:为了更有效地保护网络信息的安全,需要同时实现消息的机密性和认证性。
签密方案能够在一个逻辑步骤内同时实现对消息的签名和加密。
为了提高当前已存在的签密方案的安全性和算法效率,结合聚合签名的思想,提出一种基于身份的聚合签密方案。
在随机语言模型中证明了该方案具有适应性选择密文攻击下的不可区分性,在适应性选择消息攻击下是存在性不可伪造的,其安全性归约为计算椭圆曲线离散对数问题和双线性DiffieHellman问题的困难性。
与目前效率较高、密文长度较短的几个方案进行比较的结果表明,新方案的签密和解签密过程分别仅需1次双线性对运算,具有计算成本低、密文长度短的优良特性。
关键词:双线性对;签密;聚合签密;随机预言模型;可证明安全中图分类号:TP309.7 文献标志码:AAbstract:In order to more effectively protect the security of network information,confidentiality and authentication of message need to be realized at the same time. Signcryption performs signature and encryption simultaneously in one logical step. In order to improve safety and efficiency of existing signcryption,an identitybased aggregate signcryption schemewas proposed by combining the ideas of aggregate signature. Under the random oracle model,the scheme was proved to be indistinguishable against adaptive chosen ciphertext attacks,and existentially unforgeable against adaptive chosen messages attacks. The security could be reduced to the elliptic curve discrete logarithm problem and computational bilinear paring DiffeHellman problem. Compared with serveral schemes with high efficiency and short key length,the analysis of results shows that the new schemes signcryption and unsigncryption has only one pairing operation,thus has the excellent features with low computational cost and short length of ciphertext.Key words:blinear pairing;signcryption;aggregate signcryption;random oracle model;provable security0 引言加密和数字签名是公钥密码体制中分别保证消息的机密性和认证功能的最基本的密码构件。
可证安全的基于身份的签密方案摘要对高键鑫等(高键鑫,吴晓平,秦艳琳.无双线性对的无证书安全签密方案.计算机应用研究,2014,31(4 1195-1198提出的基于无双线性对的签密方案进行了分析,发现其方案存在公钥替换攻击,在此基础上提出了一种新的无双线性对的基于身份的签密方案,并在随机预言机模型下证明了该方案存在第1类攻击者条件下的不可伪造性。
最后把新方案与其他签密方案作了效率分析对比,新方案仅使用了3次哈希运算和7次点乘运算,结果表明新方案具有较好的计算效率。
关键词数字签名;基于身份;双线性对;随机预言机;签密中图分类号TP309.2文献标志码 A0引言1984年,Shamir[1]首次提出了基于身份的密码体制,其思想就是将用户的身份作为公钥,简化传统的公钥基础设施中证书颁发结构(Certificate Authority,CA对用户公钥证书的管理。
1997年,Zheng [2]首次提出了签密的概念和签密方案。
与传统的数字签名相比,签密方案将对消息签名和加密同时进行,有计算量小、通信量少的优势。
Zheng [2]方案中仍存在证书管理繁琐和密钥托安全管问题,AlRiyami等[3]在此基础上提出了无证书签密机制,进一步提高了签密的效率。
随后其他研究者也参与对高效可证安全的签密方案的研究,2008年Barbosa等[4]提出了无证书签密方案,并给出了签密机制的第一个安全模型。
国内朱辉等[5]和刘文浩等[6]分别提出了基于无双线性配对的无证书签密机制,但二者均不能抵抗替换公钥攻击,文献[7-9]都对二者的方案进行了攻击分析并作出了改进。
2013年高键鑫等[10]提出的无双线性对的无证书安全签密方案,通过对其进行安全性分析研究发现该方案存在公钥替换攻击问题。
在此基础上结合国密SM2[11]标准签名算法设计和实现技巧,本文提出了一个新的无双线性对的基于身份的签密方案,并在随机预言机模型下证明了该方案。
1预备知识定义1如果对于所有多项式L(?以及所有概率多项式时间的敌手η,敌手η在下述实验中成功的概率是(作为k的函数可忽略的,那么签名方案(参数生成(Generate,Gen、签名(Signature,Sign、验证(Vertify,Vrfy是适应性选择消息攻击条件下存在性不可伪造的:1运行密钥生成算法Gen(1k生成一对密钥(pk,sk。
2将pk给η,并允许η与签名预言机Signsk(?交互,请求任意数量的签名(将其记为ηSignsk(?(pk。
令M表示η向签名预言机询问过的消息集合。
3η输出(m,σ。
4如果①Vrfypk(m,σ=1,且②mM,则η成功。
定义2离散对数问题(Discrete Logarithm Problem,DLP[12]。
G为椭圆曲线群,已知xP∈G,x∈Z*q,计算x。
假设算法ζ是一个解决DLP的概率多项式时间(Probality Polynomial Time,PPT算法ζ,对于概率ε>0,满足:ε=Prob[loggh←ζ(desc(Fq,g,h]其中ζ的输入:desc(Fq(有限域Fq的描述,g∈F*q (F*q的生成元,h∈U F*q。
令Ig是一个实例生成器,输入1k,在k的多项式时间内运行,输出:1desc(Fq,其中q=k;2一个生成元g∈F*q;3h∈U F*q。
如果对所有足够大的k,对于对应于参数k不存在算法ζ以一个不可忽略的概率ε>0解决DLP,则称DLP是困难的。
2对文献[10]方案的分析及改进2.1对原方案进行公钥替换攻击相关参数说明,符号意义与文献[10]相同,原方案具体过程详见文献[10],本文不再另行说明。
攻击者A1可通过替换用户A的公钥冒充A产生合法的密文,签密过程如下:1A1随机选取α∈Zq,计算u′A=gα/(wA?yh1;2A1利用u′A,wA替换A的公钥uA,从而B认为(u′A,wA为用户A的公钥;3再随机选取r1,r2∈Zq,计算R=gr1,h1=H1(IDB,wB,h=H2(m,R,IDA,UA,r2,s=r1/(α+h,c=E{(wBuByh1r1,{r2,m}},σ={h,s,c},并将σ发送给用户B。
解签密过程如下:1用户B接收到σ后,计算h1=H1(IDA,wA,v=(wAu′Ayh1′gh′s(zB+tB,恢复消息{r2,m}=D(v,c;2验证等式H2 (m,(wA u′A yh1 ghs,IDA ,UA ,r2 = h是否成立,若成立,则证明密文合法。
因为R′=(wAu′Ayh1ghs=(wA?gαwA?yh1?yh1?ghs=g(α+hs=gr1=R,所以用户A产生的密文是合法的。
2.2对原方案改进的方法原方案易遭受公钥替换攻击是因为签密过程中存在临时会话密钥T=(wBuByh1r1,该会话密钥的结构过于简单,攻击者完全可以通过随机替换来进行签密。
若把h1=H1(IDu,wu和tu=Su+sH1(IDu,wu分别替换成h1=H1(IDu,wu,uu和tu=Su+sH1(IDu,wu,uu则能抵抗替换公钥攻击。
因为攻击者无法选取新的公钥U′A来抵消代数式wA?yh1。
3无双线性对的基于身份的签密方案3.1参数选取密钥生成中心(Key Generation Centre,KGC以安全参数1k为输入,生成参数(G,q,P,其中G为具有素数阶q 的循环群(以下不加说明默认为椭圆曲线群。
再选取安全的对称密码算法:(E,D和三个安全的Hash函数:H1Z*q→Z*q,H2{0,1}*→Z*q,H3{0,1}*×G×{0,1}*×{0,1}*→Z*q。
KGC选择xkgc 作为其长期私钥,计算其长期公钥ykgc=xkgcP。
系统公共参数(params为{G,q,P,ykgc,E,D,H1,H2,H3}。
3.2密钥生成用户Ui的身份为IDi(可以是有效邮箱地址或者是用户其他私人相关有效信息,Ui随机选择一个xi∈Z*q作为自己的长期私钥,计算yi=xiP作为其长期公钥。
将yi发给密钥生成中心KGC。
Ui将(IDi,yi发送给KGC申请部分密钥。
KGC秘密选择随机数mi∈Z*q,设定msgi=(begin_ti‖end_ti,计算Mi=miP,i=miH3(IDi,Mi,yi,msgi+xkgcH3(IDkgc,Mi,ykgc,msgi,i=iP其中:begin_ti为密钥生效时间,end_ti为密钥失效时间。
i作为Ui的部分私钥,将(i,Mi,msgi公开作为Ui的部分公钥。
将i通过安全可靠渠道发送给用户Ui。
用户Ui利用i和(i,Mi,msgi可验证密钥的有效性和自行计算有效期。
于是Ui完整私钥为(xi,i,完整公钥为(yi,i,Mi,msgi。
3.3签密过程假设签名参与者为用户A与用户B,用户A的私钥为(xA,A,公钥为(yA,A,MA,msgA,用户B的私钥为(xB,B,公钥为(yB,B,MB,msgB,需传递数据信息为DATA,数据信息加密采用安全对称加密算法(记加密过程为Ekey,解密过程为Dkey。
A随机选择k∈Z*q,计算对称密钥key=H1(k,加密数据EDATA=Ekey(DATA,计算DATA散列值h=H2(DATA。
并计算:R=rPe=H3(IDA,R,h,IDBs=r-H3(IDA,A,e,IDBxA-H3(IDA,yA,e,IDBA S=sPK=k?H3(IDA,(xA+A+r(yB+B,S,IDB则签名信息为(R,S,K,将完整签密数据(R,S,K,EDATA发送给B。
3.4解密过程B收到签密数据(R,S,K,EDATA后,计算k′=K?H3(IDA,(xB+B(yA+A+R,S,IDB,key=H1(k′,再解密数据DATA′=Dkey(EDATA,计算:h′=H2(DATAe=H3(IDA,R,h′,IDBR′=S+H3(IDA,A,e,IDByA+H3(IDA,yA,e,IDBA验证R=?R′如果相等,签名通过则接受数据DATA;否则拒绝签名和数据DATA。
4方案的安全与效率分析4.1方案正确性定理1方案中签密过程和解签密过程是正确的。
证明首先证明能正确地获取解密密钥。
H3(IDA,(A+xA+r(yB+B,S,IDB=H3(IDA,(B+xB(yA+A+R,S,IDBk′=K?H3(IDA,(B+xB(yA+A+R,S,IDBk′=k?H3(IDA,(B+xB(yA+A+R,S,IDB?H3(IDA,(B+xB(yA+A+R,S,IDBk′=k所以能获取正确的密钥为:key=H1(k′=H1(k,下面证明签名过程的正确性。
R′=S+H3(IDA,A,e,IDByA+H3(IDA,yA,e,IDBA =(r-H3(IDA,A,e,IDBxA-H3(IDA,yA,e,IDBAP+H3(IDA,A,e,IDByA+H3(IDA,yA,e,IDBA=R-H3(IDA,A,e,IDByA-H3(IDA,yA,e,IDBA+H3(IDA,A,e,IDByA+H3(IDA,yA,e,IDBA=R4.2前向安全性在新方案中,应用了临时会话密钥T=H3(IDA,(A+xA+r (yB+B,S,IDB。
此时,即使签密者的私钥(xA,A泄露,攻击者也不能计算出旧的临时会话密钥,因为攻击者无法获得签密者随机选取的参数r,从R计算出r,相当于求解离散对数问题。
4.3随机预言机下安全性新提出的签密方案中,因为没有证书来对用户的公钥进行认证,这样攻击者就可以把用户的公钥替换为自己任意选定的值,根据攻击对象的不一样,可以构建两类攻击者模型:类型Ⅰ第Ⅰ类攻击者A1不知道系统主密钥,但是可以替换任意用户的长期公钥。
类型Ⅱ第Ⅱ类攻击者A2知道系统主密钥,可以计算出每个用户的部分私钥,但是不可以替换用户的长期公钥。
在实际应用中A1模拟的是除KGC之外的攻击者,A2模拟的是恶意KGC的非法攻击。
以下证明存在第Ⅰ类攻击者A1条件下本文方案是存在性不可伪造的。
定理1对类型Ⅰ攻击者,在随机预言机模型下,本文方案对适应性选择消息和身份攻击是存在性不可伪造的证明假设存在概率多项式时间(ProbabilisticPolynomialTime,PPT的攻击者算法A1,在多项式有界时间t内,以一个不可忽略的概率ε成功伪造一个有效的签名,下面构造一个挑战者PPT算法ζ解决DLP。
设ζ是一个DLP 的挑战者算法,ζ以攻击者算法A1为子程序来求解DLP:输入为(xP,P,其目标是计算x。
游戏开始后,ζ发送系统参数给A1,并维持列表L1、L2、L3、Lp、Lc、Lsig分别用于跟踪A1对预言机H1、H2、H3、部分密钥提取、长期密钥提取询问,签密询问,另外设置表Lrec用于记录挑战身份的一些参数,初始化所有表为空。