标准模型下基于身份的两方认证密钥协商协议
2010-05-18任勇军王建东庄毅王箭徐大专
任勇军,王建东,庄毅,王箭,徐大专
(南京航空航天大学 信息科学与技术学院, 江苏,南京 210016)
在安全通信领域,密钥协商协议具有重要的基础性作用. 王圣宝等提出了第一个标准模型下基于身份的两方认证密钥协商协议[1](记为Wang协议),但是其安全性证明是不完整的. 该协议使用了一个密钥抽取函数H2,但没有对其性质进行说明,在证明中也没有使用该函数. 实际上,密钥抽取函数兼有随机提取器的功能[2]. 在标准模型下通信方协商得到的信息首先需要使用随机提取器以获得高熵的比特串,然后再进行密钥抽取操作才能够保证会话密钥是一个在密钥空间均匀分布的比特串. Chevassut等[2]已经证明不正确地选用密钥抽取函数会产生一个固定的会话密钥值,导致协议不能抵抗攻击者的攻击. Colin等人提出采用密钥封装机制构造密钥协商协议的一般方法,并提出了3个基于身份的密钥封装方案,以此为基础构造了3个两方认证密钥协商协议[3](分别记为IBAK1,IBAK2和IBAK3),将协议的安全性规约为密钥封装方案的安全性,但是并没有对所提出的三个基于身份的密钥封装方案的安全性进行证明,无法保证所提出协议的安全性. 而且IBAK1和IBAK2协议使用了Water式的Hash函数,导致系统的公钥过大,安全性证明规约松散,协议IBAK3存在密文过长,所需传输数据量过大[4]. 最近Tian等人也提出了一个标准模型下可证安全的认证密钥协商协议[5](记为Tian协议),但使用了较弱的安全模型(BR模型)进行证明.
作者采用MTI协议族的加密-解密密钥协商思想,并根据密钥抽取函数的功能,将密钥抽取阶段细化为随机提取和密钥抽取两个步骤,以Kiltz等人的选择密文安全(chosen ciphertext attack2, CCA2)的基于身份的加密(identity-based encryption, IBE)方案[4]为基础,设计了一个新的标准模型下基于身份的认证密钥协商协议IBAKE,使用改进的Canetti-Krawczyk模型[6](记为CK2005模型)形式化证明了该协议的安全性.
1 形式化安全模型
Krawczyk指出CK2001模型[7]不能抵抗KCI攻击和提供前向安全性,改进了CK2001模型,记为CK2005模型[6],作者使用该模型对IBAKE协议进行形式化证明.
定义1安全密钥协商协议.若一个密钥协商协议满足如下两个条件:① 任何两个未腐化的协议参加者如果拥有匹配会话,那么它们就能够计算获得一个相同的会话密钥;② 对于任何恶性攻击者E,AE是可忽略的,那么称该协议是一个安全的密钥协商协议.
2 新协议
2.1 IBAKE协议描述
系统内存在一个私钥生成中心(private key generator, PKG)负责为用户生成和安全分发长期私钥,两个用户A和B希望通过IBAKE协商达成一个共享会话密钥. PKG 选取阶为素数p的乘法交换群G1,G2,双线性对e:G1×G1→G2,G1上的生成元f和g,随机整数α,β,γ∈Zp,计算g1=gα,v1=e(g,g)β,v2=e(g,g)γ. 用户A和B的长期私钥didi=(si,1,si,2,di,1,di,2),i∈{A,B},其中
IBAKE协议由3个阶段组成:系统建立,私钥生成和密钥协商阶段. 其中,系统建立和私钥生成阶段与Kiltz基于身份的加密方案[4]完全相同. 密钥协商阶段由3部分组成:加密、解密和计算.
2.1.1 加密
A和B分别随机选取rA和rB(rA,rB∈Zp),然后分别执行如下的加密操作.
2.1.2 解密
A和B接收到消息后,分别使用自己的私钥执行解密操作.
2.1.3 计算
2.2 性能比较
根据文献[3-4]中给出的各基本运算的参考计算成本(G1上指数运算的成本为1,其它运算以此为参照),对现有标准模型下各认证密钥协商协议的计算成本及通信效率进行了比较. 根据文献[4]中超奇异椭圆曲线80 bit安全级别G1和G2上元素的长度分别为512 bit和1 024 bit,MAC的长度为80 bit,对各协议的公钥和密文长度进行了计算比较. Tian等[5]提出的协议是一个显式密钥认证的3次传递协议,为便于量化比较,将其化为隐式密钥认证的2次传递协议,比较结果如表1所示. 结果表明,与现有的标准模型下基于身份的认证密钥协商协议相比,IBAKE协议的各项性能都较好,计算效率是所有协议中最高的,每个通信方所需传递的通信量只比最好的协议多了一个群G1上的成员(即512 bit).
表1 协议性能比较
3 安全性证明
定理如果IBAKE中应用CCA2安全的IBE,Exct(·)是(m,ε)-随机提取器,expd(·)属于伪随机函数族F,群G1上的判定性DH假设成立,那么IBAKE是一个安全的认证密钥协商协议.
证明首先IBAKE协议满足定义1中的条件①:若两个协议参与者都没有被腐化,那么它们不可能被攻击者冒充;若其会话是匹配的,则它们正确地收到了对方发来的协议消息,因此能够计算获得相同的会话密钥. 下面,为证明条件②也是满足的,提出引理1.
引理1设E是协议IBAKE的任意一个攻击者,E的优势满足下式:
证明根据测试会话的两个参与者是否已被腐化两种情况,使用一系列攻击游戏证明引理1.
3.1 情况1
在测试会话的两个参与者没有被腐化的情况下,使用如下6个游戏证明其安全性.
游戏0这是协议的最初状态,一个随机比特b被选择,当b=0时,向测试会话查询返回真实值,当b=1时,随机从U2中选择一个数作为对测试会话查询的回答.
游戏1此游戏除了下面这点外与游戏0相同:如果两个不同的会话拥有相同的意定伙伴,并且产生相同的消息,那么协议就中止执行.
游戏2此游戏除了下面这点外与游戏1相同:游戏开始攻击者随机选择一个数m∈{1,2,…,norac},设通信方进行的第m次会话称为标记会话,其预言机称为标记预言机. 若该会话不是测试会话,则协议中止,攻击者E攻击失败,输出一个随机比特. 设该预言机的输入信息为C,输出信息为C*,会话的拥有者为T,其意定伙伴为T*.
游戏4游戏4除了下面这点外,其它部分与游戏3相同:从U1中随机选取K″*(即K″*∈U1),并用于代替Exctk(K′*)进行计算.
游戏5此游戏与游戏4的区别只在于:当任何s′需要使用ExpdK″*(s′)计算会话密钥时,就从U2中随机选取一个值代替ExpdK″*(s′)进行计算.
3.2 情况1安全分析
设σi表示攻击者E在游戏i中正确猜中b这一事件,τi表示攻击者E在游戏i中的优势,即有τi=|2P[σi]-1|. 当事件M不发生时,游戏i和i+1相同,有
[M].
(1)
从游戏0到游戏2的分析:设PsameMsg是两个或者多个会话产生相同消息的概率,因此有
由式(1)有
则
(2)
游戏2中,由于错误选择m而导致协议中止执行的概率为1-1/norac. 根据式(1)有noracτ2=τ1,带入式(2)得
(3)
游戏3的分析:游戏开始时,攻击者S获得系统公钥kp,除了当激活标记会话时,S就像游戏2所描述那样运行,并产生一个将要进行测试的用户eT*. 当S收到密文C*和K′*之后,它将C*作为标记会话的输出,将K′*作为解密算法Dec(kp,KeyDer(kp,u,eT*),C*)的结果用于计算,以回答当b=0时的测试会话查询. 所有由E提出的合法查询S都能够使用它的预言机进行回答. 当E中止协议执行并输出b′时,S停止并输出1-b′,有
P[σ2]-P[σ3],
τ2=|2P[σ2]-1|≤|2P[σ2]-2P[σ3]|+
|2P[σ3]-1|,
因此
(4)
τ3=|2P[σ3]-1|≤|2P[σ3]-2P[σ4]|+
|2P[σ4]-1|≤2ε+τ4.
(5)
|P[σ4]-P[σ5]|,
那么
τ4=|2P[σ4]-1|≤|2P[σ4]-2P[σ5]|+
(6)
设当b=0时,返回的测试会话查询为R1⊕ExdpKT*(s′);当b=1时返回R2,R1和R2都是从U2中随机选取的,因此攻击者E不能直接获得关于R1和R2的任何信息,使得攻击者E不能获得b的任何信息,所以
τ5=0.
(7)
由式(3)~(7)有
(8)
3.3 情况2
在测试会话的任何一方参与者被腐化的情况下,使用以下4个游戏证明其安全性.
游戏0选择一个随机比特b,当b=0时,测试会话查询返回真实值;当b=1时,随机从U2中选择一个数作为对测试会话查询的回答.
游戏1此游戏除了下面这点外与游戏0相同:游戏刚开始就随机选择j,j*∈{1,2,…,norac},设T和T*分别是第j和j*次会话的拥有者. 若T的第j次会话不是测试会话,或T*的第j*次会话的输出不是测试会话的输入,协议就停止运行,攻击者E攻击失败,输出一个随机比特. 而且除了随机选取h∈G1用Exctk(h)代替KTT*″,测试会话和其匹配会话的会话密钥照常计算.
游戏2除了下面这点外,其它部分与游戏1相同:从U1中随机选取K″(即K″∈U1),并用于代替Exctk(h)进行计算.
游戏3游戏3与游戏2的区别只在于:当对于任何s′需要使用ExpdK″(s′)计算会话密钥时,就从U2中随机选取一个值代替ExpdK″(s′)进行计算.
3.4 情况2安全分析
(9)
游戏2的分析:情况2中游戏2的安全分析与情况1中游戏4的相同,由此有
τ1≤2ε+τ2.
(10)
游戏3的分析:情况2中游戏3的安全分析与情况1游戏5的相同,有
(11)
因测试会话密钥独立于所有其它会话,且只有测试会话拥有相应的测试会话标识符,故在游戏3中E没有优势猜中b,即
τ3=0,
(12)
综合式(8)~(12),有
(13)
3.5 综合情况1和2的安全分析
设M表示测试会话有匹配会话这一事件,σ表示E在协议IBAKE中正确猜中了b. 那么有:
AE(k)=|2P[σ]-1|,P[σ]=P[σ|M]P[M]+P[σ|M]P[M]=P[σ|M]+P[M](P[σ|M]-P[σ|M]),故min(P[σ|M],P[σ|M])≤P[σ]≤max(P[σ|M],P[σ|M]),则
AE(k)≤max(AE(k)|M,AE(k)|M).
(14)
引理1得证.
因为上述优势是可忽略的,定义1规定的安全密钥协商协议所需的条件②也得到满足,所以协议IBAKE是一个安全的密钥协商协议,定理得证.
4 结 论
利用MTI协议族的加密-解密密钥协商思想,以Kiltz等人CCA2安全的IBE方案为基础,设计了一个新的基于身份的两方认证密钥协商协议IBAKE,与现有的标准模型下基于身份的密钥协商协议相比,该协议在计算效率、公钥长度、通信效率等方面性能都较好,而且使用CK2005模型形式化证明了该协议的安全性.
参考文献:
[1]王圣宝,曹珍富,董晓蕾.标准模型下可证安全的身份基认证密钥协商协议[J].计算机学报,2007,30(10):1842-1852.
Wang Shengbao, Cao Zhenfu, Dong Xiaolei. Provably secure identity-based authenticated key agreement protocols in the standard model[J]. Chinese Journal of Computers, 2007,30(10):1842-1852. (in Chinese)
[2]Chevassut O, Fouque P A, Gaudry P. Key derivation and randomness extraction[OL/EB]. (2005-02-11)[2005-02-11]http:∥eprint.iacr.org/2005/061.
[3]Colin B,Yvonne C,Juan G N, et al. Efficient one-round key exchange in the standard model[C]∥Proceedings of ACISP 2008, LNCS 5107. Berlin: Springer-Verlag, 2008:69-84.
[4]Eike K,Yevgeniy V. CCA2 Secure IBE: standard model efficiency through authenticated symmetric encryption[C]∥Proceedings of CT-RSA’08, LNCS 4964. Berlin: Springer-Verlag, 2008:221-239.
[5]Tian H B, Susilo W, Yang M. A provable secure ID-based explicit authenticated key agreement protocol without random oracles[J].Journal of Computer Science and Technology, 2008,23(5):832-842.
[6]Krawczyk H. HMQV: a high-performance secure Diffie-Hellman protocol[C]∥Proceedings of CRYPTO’05, LNCS 3621. Berlin:Springer-Verlag, 2005:546-566.
[7]Canetti R, Krawczyk H. Analysis of key-exchange protocols and their use for building secure channels[C]∥Proceedings of EUROCRYPT 2001, LNCS 3122. Berlin:Springer-Verlag, 2001:453-474.