高效安全性可证的双轮双方密钥协商协议
2014-12-23陈开兵侯整风
陈开兵,侯整风
(1.合肥工业大学 计算机与信息学院,安徽 合肥230022;2.滁州职业技术学院 经济贸易系,安徽 滁州239000)
0 引 言
完全放开的网络情境下的双方密钥协商的问题中,如何保证协议的高效性和安全性,是一个亟待解决的问题[1]。Rogaway和Bellare[2-5]在1993年指出的BR 模型,是已知的第一个密钥模型。Rubin和Shoup[3]在之后将其向智能卡领域推广。然后,Krawczyk以及Canetti[4]在2001年建立CK模型,其在很大程度上对形式化证明的过程进行简化,但也无法保证可以抵挡敌对技术的攻击,比如伪装技术,以及泄密技术[5]。近些年来,微软公司为了弥补以上技术问题,把密钥的安全问题融合成一,推出扩展型CK 模型[6,7],即eCK,而eCK 所具有的匹配式会话,对通信方进行定义,其能给予当今最安全的密钥协商协议[8]。
为了保障交流的安全性,密钥协商协议将提供一个会话密钥,其利用的是例如互联网等不安全信道,它作用于通信的身份认证性、保密性等等安全保障,但过于复杂势必增加协议的计算量。本文提出了一种双轮双方认证密钥协商协议,对于新形式的两轮密钥协商会议进行严谨的证明,另外,还可进行三轮共同认证的可确认的密钥协商会议,即SAKA-C。
1 密钥协商协议
1.1 安全目标
关于双方认证的密钥协商协议,不能只是用简洁的描述去定义安全性,因其具有许多攻击场景存在。目前通常认定的下属3种安全属性,极有可能具有攻击性:
1.1.1 弱势完全前向安全性
前向安全性定义为:假如协议参与者的私钥一直被敌对方掌握,但敌对方却无法获悉参与者处于私钥泄漏前知晓通信密钥。另外,前向安全性根据通信性质,分为完美前向安全性以及弱势完美前向安全性,即研究中提及的PFS以及WPFS[10]。
1.1.2 AKA 安全
在密钥发展过程中,一般都取得了相关安全模型的证明:敌对方能够控制所有使用非安全通信环境的通信过程,包括延迟、篡改内容,重播或者监听通信等等,敌对方还可以获取部分参与者使用的私钥。而所谓的AKA 安全,指的是地多方选取部分参与者做出密钥协商,如若一个新产生的通信过程中的会话密钥以及其随机值,是不可以忽略概率进行辨别的[9]。
1.1.3 防止密钥泄露伪装攻击
如若M 和N 是密钥协商协议的参与者,如若M 的私钥被敌对方长期知晓,那么敌对方就可以假冒以M 的名义与另外的协议参与者进行会话。但是,加入这份协议为防止密钥泄露伪装攻击,那么即使私钥泄密,敌对方也无法反过来假冒其他的参与者,如实体M[11]。
1.2 eCK 安全模型
通过对微软公司3 位学者LaMacchia、Lauter 以及Mityagin[12]开发的eCK 模型进行研究,进行下述探讨:
敌对方。敌对方D 将主动攻击参与者。在eCK 下,敌对方可以随意延迟、篡改内容,重播或者监听通信。换句话时候,D 能够对会话网络进行完全的掌控。
通过上述角色的概念界定,对通信方认证的密钥协商协议安全与否进行衡量。由此,D 是可以实现语言机查询的,而且是自适应与无序的。
根据协议规范对消息d进行反馈。同时,运用这个查询,敌对方发起参与者之一,例如如M,进行与另一方,例如N,进行名字叫Q 的对话;
(2)Long-term-Key-Reveal(M)。敌对方D 通过对该通话进行查询,取得M 长期使用的私钥;
(5)Establish-Party(M)。敌对方M 运动该查询能在CA 中获得M 使用的公钥;
该模型的结尾部分,敌对方D 将录入值n′,当做是关于n的辨别,如n′=n,敌对方D 取得胜利。
通过上述解析,将对协商协议的安全性以及通信的新鲜性进行定义。如下所示:
(1)敌对方并未关于参与者M,N 做出Ephemeral-Key-Reveal以及Long-term-Key-Reveal查询;
则叫做协议是新鲜的。
和CK 模型比较而言,eCK 模型对临时的私钥外泄以及密钥伪装攻击进行具有一定的抵抗能力。另外,eCK 能让敌对方D 进行同时的Ephemeral-Key-Reveal以及Longterm-Key-Reveal查询。
2 双方认证密钥协商协议
本文中将对两方认证的新密钥协商协议中两个模型进行分析,定义名称叫做SAKA、SAKA-C。SAKA-C 拥有SAKA 的特性,以及密钥确认功能。
2.1 符号说明
下述符号对全文适用。
IDM,IDN:有关参与者M、N 身份的认证识别;
x,y:素数,满足RSA 安全需求,y|(x-1);
S:{0 ,1 }u→ {0 ,1}θ:θ是安全参数,是理想的Hash 函数;
S1:{0 ,1 }u→:被参与者用作隐藏长期以及临时私钥,是理想的Hash函数;
h:利用y当做阶的群H 组成生成元;
SK:参与者M、N 协商取得的通信密钥。
2.2 双方认证密钥协商协议不带密钥确认
图1表明,新协议SAKA里M,N两个参与者相继运行。
图1 SAKA 协议
换算a =S1(m,),Um=()amodx,pm=a/(Um+m)mody,Tm=hUm modx 把(Tm,pm)向B进行传递。
(3)接(Tm,pm),N 核计Um=(Tm)npmmodx,证实右式Tm=hUm modx 正确性。如正确,那么B 任意选择∈Zuy当做临时的一个私钥。同时核算b =S1(n,),Un=)bmodx,pn=b/(UN+n)modx,TN=hUN modx。
(4)接(TN,pN),M 核计UN=(TN)mpNmodx同时证实右式TN=hUN modx 正确性。如正确,核计U =和SK =S(U,pM,pN,IDM,IDN)。
最后,M、N 成功构建通信密钥SK。
2.3 协议的安全属性
这里主要具体阐述SKAK 协商协议的安全属性,给予该协议对冒充、共享以及重放等等攻击有较强的抵御能力。
2.3.1 抵抗未知密钥共享攻击
假若有M、N 的相关信息 (IDM和IDN)并未包括在SAKA 协议的通信密钥中,下述未知密钥共享攻击:
敌对方D 很有可能把M 长期的公钥设置成自己的,由于CA 不会验证用户与公钥的关系。然后D 公布(,IDD)。运用图2的描述,N 就会相信该消息是D 通过SK加密密钥发送给自己的。
图2 共享攻击
(1)假设M、N 进行通信,命名Session 1。此时D 发起通信Session 2,把从Session 1 里获取的信息(TM,pM)向N 发送;
(3)D 取得(T′N,p′N),把(TN,pN)向M 传递。那么M 和N 通过Session1和Session2两个通信,同样能获得密钥SK。此时M 觉得与D 在Session1里构建了通信密钥,而N 觉得与D 在Session2里构建了通信密钥。在之后会话中,D 就获取M 使用的Session1里加密信息,在Session2里传递N。因N 同样有SK 密钥,就能够知晓这个是D 发送的。处于eCK 模型下,D 能够采取Session-Key-Reveal从而取得密钥SK,指令Test通信为Session1,进而获取该角逐的胜利。
2.3.2 抵抗重放攻击
重放攻击,指的是敌对方运用已获取的通信消息来取得新通信私密消息的动作。M、N 在SAKA 协议的每次通信均要选取新∈以及∈当做此次通信的临时私钥。运用以及 槇b核计新(TM,pM)以及(TN,pN)。因通信生成的私钥每次都有差别,所以可以避免重放攻击。
2.3.3 抵抗冒充攻击
2.4 带密钥确认的双方认证密钥协商协议
DoS,拒绝服务 (denial of service),经常会攻击那些没有确认密钥的应用。若M 在双方协商中拥有正确的通信密钥,但因为敌对方D 的攻击,使得B 参与者获取了错误的密钥SK’。如若M 在具有密钥的SK 取得消息,则参与者N 不能取得密钥,那么结果会是M 不断发出信息,继而取得正解。这将会使得网络资源造成极大浪费,进而发展成网络大塞车。
添加消息认证码 (MAC),是SAKA-C 协议用来确认密钥实现的方法,但其也保障了协商协议的完美前向安全性。如图3所示。
3 讨 论
图3 SAKA-C协议
在本文前文叙述中,关于eCK 模型中阐述了SAKA 协议安全问题,而SAKA-C协议的安全性能用该方法进行证实。因此本章将以SKKA 为例进行证明,并提出公钥基础设施在安全模型、核计量以等等比较。
3.1 SAKA的安全性探讨
定理 假设S:{ 0 ,1 }u→ {0, 1}θ为任意预言机,CDH假设在群H 中可执行,即SAKA 在eCK 模型内显示安全状态。若D处于多项式中,运用查询到n个参与者以及至多k次通信用(D)取得胜利,必定具有一个模拟器P,能够处于多项式时间中比AdvA∏KA(S)更能掌握CDH 问题。加上因S是任意预言机SK =S(U,pM,pN,IDM,IDN)。若D 处于多项式时间中以无法忽略的概率取得胜利此时D 将运用下述两种方法来区分真实的通信密钥以及任意值:
情形1:密钥复制攻击 (key replication at-tack).M 开启通信c,构建和Test会话一样的通信密钥SK。D 就能运用Session-Key-Reveal流程获取C 的通信密钥,进而取得Test通信密钥。
情形2:伪造攻击 (forging attack)。D 能够核计出U,进而经S取得SK。
有关情形1,按照假设,S是任意预言机,并且通信参与者获得的私钥不一样。因参与者在eCK 模型下不能做出Long-term-Key-Reveal以及Ephemeral-Key-Reveal查询,所以不可能存在两个通信具有一样的参与者,还拥有一样私钥的情况。也就是情形1体积的攻击不具有可能性。
有关情形2,通过对伪造攻击的分析,下面会证实,假若D 用无法忽略的概率取得胜利,其可建立模拟器P,运用D 无法忽略的概率处理CDH 问题。
对于P的挑战 (U,V),P会和D 根据SAKA 协议程序进行查询,对参与者传回的信息进行修改,进而可以在M 取得胜利后,P能够处理CDH 问题。下述有两种情形:
情形3:Test通信具有匹配性,并为诚实参与者所有;
有关情形3:
P任意选择的通过M、N 进行匹配通信,选取经过是:任意选取通信两个,证实其是否是匹配通信,因P 能够选择K 个通信,所以此次选取概率是2/k2。P把两个通信里的TN用F替代,TM用E替代。开始攻击,D 有1/k2的概率选择通信里当做Test通信。那么其余的通信会当做Test匹配通信。此时D 如果取得伪造攻击胜利,P 就可以处理CDH 问题。
实际上,SK =S(U,pM,pN,IDM,IDN),如D 取得SK,就能核计U,经S查询,取得SK。按上文的假设,K=CDH(E,b)。所以,如D 取得伪造攻击的胜利,P就可以处理CDH 问题。
因eCK 模型下,D 不能在Test通信里的M 或N 一并采用Long-term-Key-Reveal以 及Ephemeral-Key-Reveal查询,所以D 进行(m,槇a)以及(n,槇b)查询时概率能够忽略。而S出现碰撞的几率O(k2/2θ)因关于S的假设也能忽略。所以,P与D 有下属优势
证毕。
3.2 性能分析
当今,在eCK 模型下的两轮双方认证密钥协商协议很少。我们将选取类似案例在安全能力以及核计量假设上做出比较。我们将在计算量中选取模指数运算次数最耗时的方案进行比较。表1TEXP显示模指数运算其中1次的时间。
表1 协议的性能比较
从表1可见,和Okamato协议比较,SAKA 在计算量上有明显的优势。SAKA 和NAXOS 以及CMQV 比较,NAXOS以及CMQV 都是基于GDH 问题,而前者需要的模指数运算较多,但是该协议是基于CDH 问题。据目前研究表明,相较GDH,CDH 更为标准。所以,SAKA 更具有安全性假设优势。
总的来说,本文所阐述的新协议,可以对安全性以及计算量之间的假设进行平衡,对两个评价标准也有较均衡的体现。
4 结束语
本文对新的一种高效和安全性可证的双方认证和双轮密钥协商协议进行阐述,通过对新协议在安全性方面的解析,提出在认证密钥协商时须审慎的方面;新协议有利于平衡计算量以及安全性中协议评价双方的标准;再通过eCK 模型中,CDH 假设的证实协议的安全性。然后本文还提出带密钥的一种确认属性的协议,能够对两轮双方认证协议补足不能实现密钥确认的问题。另外,上述协议有关计算量中的特征仍不显现,如若要在安全目标与假设既定的前提下研究出计算量更小的协议,仍然需要进一步的研究。
[1]ZHAO Jianjie,GU Dawu.Provably secure two-party authenticated key exchange protocol in eCK model[J].Chianese Journal of Computers,2011,34 (1):47-54 (in Chinese).[赵建杰,谷大武.eCK 模型下可证明安全的双方认证密钥协商协议[J].计算机学报,2011,34 (1):47-54.]
[2]CHEN Zemao,ZHAO Juange,LI Zheng.UMTS authentication and key agreement protocol based on certificate validity ticket[J].Journal of Wuhan University of Technology,2012,34 (9):129-134 (in Chinese).[陈泽茂,赵俊阁,李铮.基于证书有效性凭据的UMTS认证和密钥协商协议 [J].武汉理工大学学报,2012,34 (9):129-134.]
[3]La Macchia B,Lauter K,Mityagin A.Stronger security of authenticated key exchange [G].LNCS 4784:Prov Sec,2007:1-16.
[4]Boyd C,Cliff Y,Nieto J G,et al.Efficient one round key exchange in the standard model[G].LNCS 5107:Information Security and Privacy,2008:69-83.
[5]LIU Tianhua,ZHU Hongfeng.An improved tree-based distributed group key agreement protocol[J].Acta Armamentarii,2012,33 (6):702-705 (in Chinese).[刘天华,朱宏峰.一种基于树结构的分布式组密钥协商协议 [J].兵工学报,2012,33 (6):702-705.]
[6]ZHOU Yihua,LIU Liang.TPM based authenticated key agreement protocol with one-way anonymous[J].Journal of Beijing University of Technology,2012,38 (9):1372-1376 (in Chinese).[周艺华,刘亮.基于TPM 的单向匿名认证密钥协商协议 [J].北京工业大学学报,2012,38 (9):1372-1376.]
[7]Okamoto T.Authenticated key exchange and keyen capsulation in the standard model[G].LNCS 4833:Asia Crypt,2007:474-484.
[8]ZHANG Longxiang.Improved two-party authenticated key agreement protocol[J].Journal of Computer Applications,2012,32 (11):3147-3148 (in Chinese).[张龙翔.改进的双方密 钥 协 商 协 议 [J]. 计 算 机 用,2012,32 (11):3147-3148.]
[9]WANG Ding,XUE Feng,WANG Liping,et al.Improved password based key agreement scheme with perfect forward secrecy [J].Journal of Shandong University (Natural Science),2012,47 (9):19-25 (in Chinese).[汪定,薛 锋,王立萍,等.改进的具有PFS特性的口令认证密钥协商方案 [J].山东大学学报 (理学版),2012,47 (9):19-25.]
[10]XU Ping,ZHANG Fangzhou,ZHANG Xiaoyu,et al.End-toend key agreement based on mobile network [J].Journal of Northeast Petroleum University,2012,36 (4):74-78 (in Chinese).[徐平,张方舟,张晓宇,等.基于移动网络的端到端密钥协商协议 [J].东北石油大学学报,2012,36 (4):74-78.]
[11]YANG Haomin,ZHANG Yaoxue,ZHOU Yuezhi.Certificateless two-party authenticated key agreement protocol based on bilinear pairings[J].Journal of Tsinghua University (Science and Technology),2012,52 (9):1293-1297 (in Chinese).[杨浩民,张尧学,周悦芝.基于双线性对的无证书两方认证密钥协商协议[J].清华大学学报 (自然科学版),2012,52 (9):1293-1297.]
[12]SHU Jian.Certificateless two-party authenticated key agreement protocol with provable security [J].Journal of Chinese Computer Systems,2012,33 (9):2056-2063 (in Chinese).[舒剑.可证安全的无证书两方认证密钥协商协议 [J].小型微型计算机系统,2012,33 (9):2056-2063.]