武汉大学学报 (工学版)   2017, Vol. 50 Issue (1): 146-149

文章信息

李娜, 董云卫, 车天伟, 张玉臣
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
可认证无证书密钥协商协议研究与改进
李娜1, 董云卫1, 车天伟2,3, 张玉臣4     
1. 西北工业大学计算机学院,陕西 西安 710129;
2. 西安电子科技大学计算机学院,陕西 西安 710071;
3. 北京建投科信科技发展有限公司,北京 100055;
4. 解放军信息工程大学,河南 郑州 450001
摘要:常用的基于证书的认证密钥协商协议,在管理和维护证书方面占用较多的资源.在无证书的密钥协商协议的基础之上,综合密钥安全和性能方面的考虑,从可认证密钥协商形式化安全模型分析入手,提出了一种增强的可认证无证书的密钥协商安全模型,给出了可认证无证书密钥协商协议CL-AKA,并从系统建立、用户密钥生成和密钥协商3个方面进行了描述和安全性分析.结果表明,该协议安全性高,与同类协议相比具有性能上的优势.
关键词双线性对    可认证    密钥协商    
Research and improvement on certificateless authenticated key agreement
LI Na1, DONG Yunwei1, CHE Tianwei2,3, ZHANG Yuchen4     
1. School of Computer Science, Northwestern Polytechnical University, Xi'an 710129, China;
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
Abstract: Commonly used the authenticated key agreement protocols based certificate have taken up too much system resources in managing and maintaining certificates. In this paper on the basis of certificateless authenticated key agreement, considering a combination of key security and performance to analyze firstly from the formal security model of the authentication key agreement and then a new enhanced certificateless authenticated security key agreement model and key agreement (CL-AKA) are proposed.Three aspects including initializing system, user key building, and key agreement are depicted in detail; and safety analysis are conducted. The results show that the protocol is highly secure and has advantages over the performance of the similar agreement protocols.
Key words: bilinear pair     authenticated     key agreement    

一般而言,通过对开放信道传输的信息进行加密来确保节点间的通信安全,最简单的办法是采用对称加密技术建立安全通道,前提是节点双方需共享会话密钥,而通过协商的方式建立节点间的共享密钥一直以来受到人们青睐.

最著名的密钥协商协议是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的乘法群,存在满足下面条件的双线性映射:G1×G1G2称为一双线性对.

1) 双线性性:对于任意P, QG1a, bZq*,有

2) 非退化性:存在P, QG1,满足(P, Q)≠1G2(1G2G2的单位元).

3) 可计算性:对于任意P, QG1,存在有效算法能够计算 (P, Q).

1.2 安全模型

Al-Riyami等定义的安全模型CL-PKE[11]中设定了2类攻击者AA.第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可以模仿参与者ij之间会话密钥的泄漏.

7) Replace (IDi, pk′ i):参与者ipk′ 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,确定系统主密钥sRZq*和系统参数:

式中:G1q阶加法循环群;G2q阶乘法循环群;e:G1×G1G2是一个双线性配对函数;PG1的生成元;P0=sP是系统公钥;H1:{0, 1}*G1*是一个单项抗碰撞函数,将任意长度的字符串映射到G1上的点;H2:G2×G1×G1×G1×G1×G1Zq*是一个单项抗碰撞函数,生成会话密钥;H3:{0, 1}*Zq*.

KGC公开系统参数Params.

2.2 用户密钥生成

节点vi运行秘密值设定算法,输入系统参数Params和自己的身份IDi∈{0, 1}*,输出秘密值xi.

节点vi运行公钥设定算法,输入系统参数Params和秘密值xi,输出公钥pki= < Xi, Yi>,其中Xi=xiPYi=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 密钥协商

假设AB是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的部分私钥.

AB协商密钥的过程如下:

1) A随机选择临时密钥a,计算WA=aQATA=aPhA=H3(TA||QA),sA=a/(xA+hA),生成签名 (hA, sA),向用户B发送一个五元组 (WA, TA, pkA, hA, sA).

2) B收到 (WA, TA, pkA, hA, sA) 后,计算PA=XA+hAPT′A=sA(XA+hAP).若H3(T′A||QA)=hAB通过了对A的身份验证,否则结束对话.

3) B随机选择临时密钥b,计算WB=bQBTB=bPhB=H3(TB||QB),sB=b/(xB+hB),生成签名 (hB, sB),向用户A发送一个五元组 (WB, TB, pkB, hB, sB).

4) A收到 (WB, TB, pkB, hB, sB) 后,计算PB=XB+hBPT′ B=sB(XB+hBP).若H3(T′ B||QB)=hBA通过了对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]KABB.

8) BKBA解密[tA]KAB,计算t′A=tA+1,发送[t′A]KBAA.

9) AKAB解密[t′A]KBA, 若t′A=tA+1,结束对话.

可以验证AB生成的会话密钥是一致的, 因为:

所以:

用户AB协商的密钥:

3 协议分析 3.1 安全分析

可认证密钥协商协议一般应具有身份认证、已知会话密钥安全、会话密钥前向安全、抗密钥泄漏伪装攻击、抗未知会话密钥共享、会话密钥确认功能和密钥协商的不可控等安全属性.所提协议的安全属性分析如下.

1) 身份认证

节点用户的密钥协商通过以下方式进行身份确认,用户A生成签名 (hA, sA),其中hA=H3(TA||QA),sA=a/(xA+hA),而TA=aP;用户B收到A的签名 (hA, sA) 后,计算PA=XA+hAPT′ A=sA(XA+hAP),若H3(T′ A||QA)=hAB通过对A的身份验证,否则结束对话.反过来,用户A用同样的方式对用户B进行身份验证.因此协议实现了用户双方相互认证.

2) 已知会话密钥安全

用户A随机选择临时密钥a,计算WA=aQATA=aPB随机选择临时密钥b,计算WB=bQBTB=bP.

用户AB协商的密钥为: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.对于会话密钥:

攻击者能够计算xAxBPxAxBP0,因为QAQB已知,所以e(QA, QB)s可解.令e(QA, QB)=g,对于ga+b=gagbaTB=abPab是用户AB临时密钥,且一次一密.

所以,协议具有完美前向安全性,即便AB的长期私钥均被泄漏了,也无法推导出以前产生的会话密钥.

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+hBPT′ B=sB(XB+hBP),显然H3(T′ B||QB)≠hBA未通过对B(A冒充) 的身份验证.因此,协议可以抵抗密钥泄漏伪装攻击.

5) 抗未知会话密钥共享

假设AB正常运行协议建立了会话密钥:

因为e(QA, QB)≠e(QA, QC),QBQC,所以A可以确认KAB只能是AB建立的会话密钥,不可能是AC建立的会话密钥.

6) 会话密钥确认

AB分别计算会话密钥KABKBA,然后A选取一时间戳tA,用KAB进行加密,发送[tA]KABBBKB A解密[tA]KAB,计算T′ A=tA+1,发送[T′A]KBAA,最后AKAB解密[T′A]KBA, 若T′A=tA+1,则AB确信相互都已经共享了会话密钥.

7) 密钥协商的不可控

从协议的过程可以看出,共享密钥KAB的协商对AB机会均等,KAB不是任何一方预先选定的值,所以协议不受任何单独一方的控制.

3.2 性能分析

通过与文献[5]提出的CK协议和文献[12-14]提出的AP协议对比可知,所提协议具有性能上的优势.

双线性对运算相对指数运算和点乘运算比较慢,消耗计算资源较多,对协议性能影响比较大.CK协议双方各自进行1次双线性对运算,分别计算部分会话密钥KAB=e(sA, aQB+TB) 和KBA=e(sB, bQA+TA);AP协议协议双方各自进行2次双线性对运算,分别计算部分会话密钥KAB=e(QB, YB)ae(skA, TB) 和KBA=e(QA, YA)be(skB, TA);所提协议同CK协议一样,通信双方各自进行1次双线性对运算,分别计算部分会话密钥KA=e(dA, WB+aQB) 和KB=e(dB, WA+bQA).

所提协议与CK协议和AP协议相关性能比较如表 1所示.

表 1 所提协议与CK协议、AP协议性能比较 Table 1 Performance of CK、AP and proposed
属性 所提协议 CK协议 AP协议
协商通信轮数 2 2 2
点乘运算 4 6 4
双线性配对运算 2 2 4
Hash运算 3 3 3
4 结语

无证书可认证密钥协商协议,既无证书管理问题,也无密钥托管问题.本文基于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.