文章信息
- 李娜, 董云卫, 车天伟, 张玉臣
- LI Na, DONG Yunwei, CHE Tianwei, ZHANG Yuchen
- 可认证无证书密钥协商协议研究与改进
- Research and improvement on certificateless authenticated key agreement
- 武汉大学学报 (工学版), 2017, 50(1): 146-149
- Engineering Journal of Wuhan University, 2017, 50(1): 146-149
- http://dx.doi.org/10.14188/j.1671-8844.2017-01-022
-
文章历史
- 收稿日期: 2016-06-16
2. 西安电子科技大学计算机学院,陕西 西安 710071;
3. 北京建投科信科技发展有限公司,北京 100055;
4. 解放军信息工程大学,河南 郑州 450001
2. School of Computer Science and Technology, Xidian University, Xi'an 710071, China;
3. Beijing Jianyin Investment Technology Development Co., Ltd, Beijing 100055, China;
4. PLA Information Engineering University, Zhengzhou 450001, China
一般而言,通过对开放信道传输的信息进行加密来确保节点间的通信安全,最简单的办法是采用对称加密技术建立安全通道,前提是节点双方需共享会话密钥,而通过协商的方式建立节点间的共享密钥一直以来受到人们青睐.
最著名的密钥协商协议是Diffie等在文献[1]中提出的,称为Diffie-Hellman协议,由于没有对通信双方的身份进行认证,该协议易遭受中间人攻击.为此,文献[2, 3]提出了基于证书的认证密钥协商协议,但管理和维护证书需占用较多的系统资源.2001年,文献[4]提出了一个基于身份的可认证密钥协商协议,拉开了基于身份密钥协商协议[5-10]研究的序幕.
2003年,Al-Riyami等在文献[11]中给出了一种无证书的密钥协商协议,简称AP协议.自此,可认证的无证书密钥协商协议引起人们的兴趣.出于安全方面的考虑,Georg Lippold等提出了一种可证明安全的无证书认证密钥协商协议[12].
本文充分考虑节点间密钥协商的安全性和适用性[13],研究提出了一种可认证的无证书密钥协商模型ECL-AKA (Enhanced Certificateless Authenticated Key Agreement),基于该模型,设计了一种增强的可认证无证书密钥协商协议CL-AKA (Certificateless Authenticated Key Agreement),并对协议进行了安全分析和性能分析.
1 ECL-AKA安全模型 1.1 双线性对定义1 设G1是阶为q的加法群,G2是阶为q的乘法群,存在满足下面条件的双线性映射
1) 双线性性:对于任意P, Q∈G1,a, b∈Zq*,有
2) 非退化性:存在P, Q∈G1,满足
3) 可计算性:对于任意P, Q∈G1,存在有效算法能够计算 (P, Q).
1.2 安全模型Al-Riyami等定义的安全模型CL-PKE[11]中设定了2类攻击者AⅠ和AⅡ.第1类攻击者AⅠ能够申请并替换用户的公钥,但不能访问系统主密钥s;第2类攻击者AⅡ知道系统的主密钥s,但不能变更用户的公钥.对于无证书的可认证密钥协商安全模型中,引入上述2类攻击者,参照BR模型[14],定义增强的安全模型ECL-AKA,该模型中攻击者能够进行如下询问.
1) Create (IDi):允许攻击者m建立一个新的参与者IDi.
2) Corrupt Secret (IDi):参与者i反馈它的秘密值xi.
3) Corrupt Partial (IDi):参与者i反馈它的部分私钥值di.
4) Corrupt Full (IDi):参与者i反馈它的完整私钥值ski.
5) Send (Πi, js, x):Πi, js执行Π(1k, i, j, Ki, convi, js, ri, js, x)=(m, δi, js, σi, js),输出m和δi, js.如果x=λ,则参与者i是这次交互的发起者,可以模仿攻击者的冒充能力.
6) Reveal (Πi, js):Πi, js执行Π(1k, i, j, Ki, convi, js, ri, js, x)=(m, δi, js, σi, js),输出σi, js可以模仿参与者i和j之间会话密钥的泄漏.
7) Replace (IDi, pk′ i):参与者i用pk′ i替换它的公钥pki,攻击者可以随机选择一个公钥值替代参与者的公钥.
8) Test (Πi, js):Πi, js充当挑战者随机选取b∈{0, 1}.如果b=0,Πi, js返回这次会话s的协商密钥σi, js;否则Πi, js返回σi, js分布特性的一个随机值.
可以看出,攻击者AⅠ可以对它选取的参与者进行的询问包括:Create (IDi)、Corrupt Secret (IDi)、Corrupt Partial (IDi)、Corrupt Full (IDi)、Send (Πi, js, x)、Reveal (Πi, js) 和Replace (IDi, pk′ i) 询问.如果AⅠ置换了一个参与者的公钥,就不允许获取参与者对应的私钥.另外,AⅠ不能既替换参与者的公钥,又可以访问参与者的部分私钥.
由于攻击者AⅡ拥有系统的主密钥,可以计算出参与者的部分私钥,又具备替换参与者的公钥的权限,所以AⅡ能够进行如下的询问:Create (IDi)、Send (Πi, js, x)、Reveal (Πi, js)、Corrupt Secret (IDi) 和Corrupt Full (IDi).
假定对CL-AKA协议的攻击按照如下规则进行:攻击者AⅠ和第2类攻击者AⅡ可以进行如下形式的询问:Create (IDi)、Corrupt Secret (IDi)、Corrupt Partial (IDi)、Corrupt Full (IDi)、Send (Πi, js, x)、Reveal (Πi, js) 和Replace (IDi, pk′i).攻击者A选择一个新鲜的预言机Πi, js,在某个时刻进行Test (Πi, js) 询问,结束一系列攻击后,输出对b的猜测.攻击者A判断会话密钥和随机数的优势定义如下:
定义2 一个可认证无证书密钥协商协议CL-AKA是安全的,若满足:
1) 对于被动攻击,预言机Πi, js与Πj, it总是拥有一样的共享密钥,且该密钥均匀分布在目标空间.
2) 对于恶意攻击,预言机Πi, js与Πj, it,它们拥有相同的共享密钥,则AdvACL-AKA(k) 是可以忽略的.
2 一种新的CL-AKA协议根据上述的ECL-AKA安全模型,提出一种新的、安全的无证书可认证密钥协商协议CL-AKA.
2.1 系统建立密钥生成中心KGC选择安全参数1k,确定系统主密钥s∈RZq*和系统参数:
式中:G1是q阶加法循环群;G2是q阶乘法循环群;e:G1×G1→G2是一个双线性配对函数;P是G1的生成元;P0=sP是系统公钥;H1:{0, 1}*→G1*是一个单项抗碰撞函数,将任意长度的字符串映射到G1上的点;H2:G2×G1×G1×G1×G1×G1→Zq*是一个单项抗碰撞函数,生成会话密钥;H3:{0, 1}*→Zq*.
KGC公开系统参数Params.
2.2 用户密钥生成节点vi运行秘密值设定算法,输入系统参数Params和自己的身份IDi∈{0, 1}*,输出秘密值xi.
节点vi运行公钥设定算法,输入系统参数Params和秘密值xi,输出公钥pki= < Xi, Yi>,其中Xi=xiP,Yi=xiP0.
节点vi根据KGC计算的部分私钥di=sQi,其中Qi=H1(IDi||pki),运行私钥设定算法,输入系统参数Params、秘密值xi和部分私钥di,输出私钥ski=xidi.
值得一提的是节点vi获取KGC计算的部分私钥di后,可通过e(di, P)=e(H1(IDi||pki), P0) 来验证di的正确性.
2.3 密钥协商假设A和B是2个通信节点,通过上述过程生成自己的公私钥对.
A的私钥skA=xAdA,公钥pkA= < XA, YA>= < xAP, xAP0>,xA为用户A的秘密值,dA为用户A的部分私钥.
B的私钥skB=xBdB,公钥pkB= < XB, YB>= < xBP, xBP0>,xB为用户B的秘密值,dB为用户B的部分私钥.
A和B协商密钥的过程如下:
1) A随机选择临时密钥a,计算WA=aQA,TA=aP,hA=H3(TA||QA),sA=a/(xA+hA),生成签名 (hA, sA),向用户B发送一个五元组 (WA, TA, pkA, hA, sA).
2) B收到 (WA, TA, pkA, hA, sA) 后,计算PA=XA+hAP,T′A=sA(XA+hAP).若H3(T′A||QA)=hA,B通过了对A的身份验证,否则结束对话.
3) B随机选择临时密钥b,计算WB=bQB,TB=bP,hB=H3(TB||QB),sB=b/(xB+hB),生成签名 (hB, sB),向用户A发送一个五元组 (WB, TB, pkB, hB, sB).
4) A收到 (WB, TB, pkB, hB, sB) 后,计算PB=XB+hBP,T′ B=sB(XB+hBP).若H3(T′ B||QB)=hB,A通过了对B的身份验证,否则结束对话.
5) A计算KA=e(dA, WB+aQB),会话密钥KAB=H2(KA, aTB, xApkB, QA, QB).
6) B计算KB=e(dB, WA+bQA),会话密钥KBA=H2(KB, bTA, xBpkA, QA, QB).
7) A选取一时间戳tA,用KAB进行加密,发送[tA]KAB给B.
8) B用KBA解密[tA]KAB,计算t′A=tA+1,发送[t′A]KBA给A.
9) A用KAB解密[t′A]KBA, 若t′A=tA+1,结束对话.
可以验证A和B生成的会话密钥是一致的, 因为:
所以:
用户A、B协商的密钥:
可认证密钥协商协议一般应具有身份认证、已知会话密钥安全、会话密钥前向安全、抗密钥泄漏伪装攻击、抗未知会话密钥共享、会话密钥确认功能和密钥协商的不可控等安全属性.所提协议的安全属性分析如下.
1) 身份认证
节点用户的密钥协商通过以下方式进行身份确认,用户A生成签名 (hA, sA),其中hA=H3(TA||QA),sA=a/(xA+hA),而TA=aP;用户B收到A的签名 (hA, sA) 后,计算PA=XA+hAP,T′ A=sA(XA+hAP),若H3(T′ A||QA)=hA,B通过对A的身份验证,否则结束对话.反过来,用户A用同样的方式对用户B进行身份验证.因此协议实现了用户双方相互认证.
2) 已知会话密钥安全
用户A随机选择临时密钥a,计算WA=aQA,TA=aP;B随机选择临时密钥b,计算WB=bQB,TB=bP.
用户A、B协商的密钥为:KAB=KBA=H2(e(QA, QB)s(a+b), abP, xAxBP, xAxBP0, QA, QB).其中的e(QA, QB)s(a+b)和aTB的值由临时密钥a, b决定.
协议每次执行的临时密钥是不同的,从而生成的会话密钥也不同,因此一次会话密钥的泄漏不会导致其他次会话密钥的泄漏.协议具有已知会话密钥安全.
3) 会话密钥前向安全
假设攻击者A知道了用户A的秘密值xA和部分私钥dA,知道了用户B的秘密值xB和部分私钥dB,另外它也获取了系统私钥s.对于会话密钥:
攻击者能够计算xAxBP、xAxBP0,因为QA和QB已知,所以e(QA, QB)s可解.令e(QA, QB)=g,对于ga+b=gagb和aTB=abP,a和b是用户A、B临时密钥,且一次一密.
所以,协议具有完美前向安全性,即便A和B的长期私钥均被泄漏了,也无法推导出以前产生的会话密钥.
4) 抗密钥泄漏伪装攻击
攻击者A获取了用户A的秘密值xA和部分私钥dA,它可以计算用户A的私钥skA=xAdA,进而可以冒充用户A同其他用户协商密钥.假设攻击者A想冒充用户B同用户A建立会话密钥,计算hB=H3(TB||QB),sB=b/(xA+hB),而TB=bP;用户A收到B的签名 (hB, sB) 后,计算PB=XB+hBP,T′ B=sB(XB+hBP),显然H3(T′ B||QB)≠hB,A未通过对B(A冒充) 的身份验证.因此,协议可以抵抗密钥泄漏伪装攻击.
5) 抗未知会话密钥共享
假设A与B正常运行协议建立了会话密钥:
因为e(QA, QB)≠e(QA, QC),QB≠QC,所以A可以确认KAB只能是A和B建立的会话密钥,不可能是A和C建立的会话密钥.
6) 会话密钥确认
A和B分别计算会话密钥KAB和KBA,然后A选取一时间戳tA,用KAB进行加密,发送[tA]KAB给B,B用KB A解密[tA]KAB,计算T′ A=tA+1,发送[T′A]KBA给A,最后A用KAB解密[T′A]KBA, 若T′A=tA+1,则A和B确信相互都已经共享了会话密钥.
7) 密钥协商的不可控
从协议的过程可以看出,共享密钥KAB的协商对A和B机会均等,KAB不是任何一方预先选定的值,所以协议不受任何单独一方的控制.
3.2 性能分析通过与文献[5]提出的CK协议和文献[12-14]提出的AP协议对比可知,所提协议具有性能上的优势.
双线性对运算相对指数运算和点乘运算比较慢,消耗计算资源较多,对协议性能影响比较大.CK协议双方各自进行1次双线性对运算,分别计算部分会话密钥KAB=e(sA, aQB+TB) 和KBA=e(sB, bQA+TA);AP协议协议双方各自进行2次双线性对运算,分别计算部分会话密钥KA→B=e(QB, YB)ae(skA, TB) 和KB→A=e(QA, YA)be(skB, TA);所提协议同CK协议一样,通信双方各自进行1次双线性对运算,分别计算部分会话密钥KA=e(dA, WB+aQB) 和KB=e(dB, WA+bQA).
所提协议与CK协议和AP协议相关性能比较如表 1所示.
| 属性 | 所提协议 | CK协议 | AP协议 |
| 协商通信轮数 | 2 | 2 | 2 |
| 点乘运算 | 4 | 6 | 4 |
| 双线性配对运算 | 2 | 2 | 4 |
| Hash运算 | 3 | 3 | 3 |
无证书可认证密钥协商协议,既无证书管理问题,也无密钥托管问题.本文基于BR模型和无证书公钥密码体制,提出了一种安全增强的密钥协商模型ECL-AKA,给出了一种新的无证书可认证密钥协商协议CL-AKA.分析表明,该协议符合密钥协商的安全性要求,同时具有同类协议性能上的优势.下一步将重点关注协议的具体实现.
| [1] | Diffie W, Hellman M E. New directions in cryptography[J]. IEEE Transactions on Information Theory, 1976, 22(6): 644–654. DOI:10.1109/TIT.1976.1055638 |
| [2] | Lee C, Lim J, Kim J. An efficient and secure key agreement[EB/OL]: Citeseer, 2012. |
| [3] | Ma X Y, Li Y, Chen Q B. A new key agreement protocol for mobile Ad Hoc networks[J]. Computer Applications, 2003, 24(1): 82–83. |
| [4] | Boneh D, Franklin M. Identity-based encryption from the weil pairing[J]. Lecture Notes in Computer Science, 2001: 213–229. |
| [5] | Lei Zhang, Wu Qianhong. Provably secure certificateless authenticated asymmetric group key agreement[J]. Information Security Practice and Experience Lecture Notes in Computer Science, 2014, 8434: 496–510. DOI:10.1007/978-3-319-06320-1 |
| [6] | Yu Qihong, Li Jiguo. Leakage-resilient certificateless-based authenticated key exchange protocol[J]. Application Research of Computers, 2014, 31(12): 3726. |
| [7] | Cramer R, Shoup V. A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack[J]. Lecture Notes in Computer Science, 1998, 1462: 13–25. DOI:10.1007/BFb0055715 |
| [8] | Waters B. Efficient identity-based encryption without random oracles[J]. Lecture Notes in Computer Science, 2005, 3494: 114–127. DOI:10.1007/b136415 |
| [9] | Boneh D, Boyen X. Secure identity based encryption without random oracles[J]. Lecture Notes in Computer Science, 2004, 3152: 197–206. |
| [10] |
张玉臣, 王亚弟, 刘璟, 等. Ad Hoc网络环境下分布式密钥管理[J].
武汉大学学报:理学版, 2009, 55(1): 85–88.
Zhang Yuchen, Wang Yadi, Liu Jin, et al. Distributed key management for mobile ad hoc network[J]. Journal of Wuhan University (Natural Science Edition), 2009, 55(1): 85–88. |
| [11] | Al-Riyami S S, Paterson K G. Certificateless public key cryptography[J]. Lecture Notes in Computer Science, 2003, 2894: 452–473. DOI:10.1007/b94617 |
| [12] | Lippold G, Boyd C, Nieto J G. Strongly secure certificateless key agreement[J]. Lecture Notes in Computer Science, 2009, 5671: 206–230. DOI:10.1007/978-3-642-03298-1 |
| [13] |
张玉臣, 王亚弟, 韩继红, 等. 自组网环境下基于组合公钥的分布式密钥管理[J].
计算机科学, 2011(10): 75–78.
Zhang Yuchen, Wang Yadi, Han Jihong, et al. Distributed key management for ad-hoc network based on CPK[J]. Computer Science, 2011(10): 75–78. |
| [14] | Wu C, Chen Z. A new efficient certificateless signcryption scheme[C]//Proceedings of Internation Symposium on Information Science and Engineering, 2008:661-664. |
2017, Vol. 50



