您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 高效的强安全的基于身份认证密钥协商协议
高效的强安全的基于身份认证密钥协商协议文章编号:1001-9081(2012)01-0095-04doi:10.3724/sp.j.1087.2012.00095摘要:现有的基于身份(id)认证协议大多在ck模型中被证明是安全的,而ck模型比扩展的ck模型(eck模型)更弱。基于naxos方法,利用双线性对设计了一种新协议,并基于随机预言假设和gbdh假设,在eck模型中证明了协议的安全性。与其他的基于身份认证协议相比,新协议的计算复杂度和通信复杂度较低;满足主密钥前向安全性和完美前向安全性,并抗密钥泄漏伪装。:认证;密钥协商;基于身份;双线性对;随机预言;gbdh假设:tp309.2文献标志码:aabstract:mostoftheexistingidentitybased(id)authenticatedprotocolsareprovensecureinthecanettikrawczyk(ck)modelwhichisweakerthantheextendedcanettikrawczyk(eck)model.basedonnaxostrick,anewschemeusingbilinearpairingwasproposed.thesecurityoftheschemewasprovenintheeckmodelundertherandomoracleassumptionandthegapbilineardiffiehellman(gbdh)assumption.theproposedprotocolwasefficientincomputationalcostandcommunicationroundwhencomparedwithothersolutions.thenewprotocolalsosatisfiedmasterkeyforwardsecurity,perfectforwardsecurityandantikeyleakdisguise.keywords:authentication;keyagreement;identitybased(id);bilinearpairing;randomoracle;gapbilineardiffiehellman(gbdh)assumption0引言密钥协商是安全通信的重要环节。认证密钥(authenticatedkey,ak)协商协议不仅能够使两个用户通过不安全信道协商生成一个共享会话密钥,还能让这两个用户彼此认证对方的身份。协商得到的会话密钥可以为后续的通信提供保密、认证或者完整性等安全服务。基于身份(identitybased,id)的密码体制中,用户选择可以代表自己身份的公开标识(身份证号码等)当作他们的公钥。利用用户的公开标识,密钥生成中心(keygenerationcentre,kgc)生成相对应的私钥,这样大大降低了密钥管理的复杂性。利用双线性配对,smart[1]首先提出了基于身份的认证密钥协商(idak)协议。随后,研究者致力于使用双线性对设计各种不同的高效的idak协议[2-5]。以上协议有的只是给出了启发式的安全分析,有些协议的安全证明是在较弱的安全模型中进行的。bellare等[6]在1993年提出了认证和两方密钥协商协议的安全模型。为使安全模型采用模块化的设计与分析方法,并使安全模型包含更多的安全属性,cannetti等[7]设计了一种更强的安全模型(ck模型)。在ck模型中,攻击者不能获得被测试预言机的临时私钥或长期私钥,因而ck模型中可证明安全的方案,无法抵抗临时私钥泄漏攻击或密钥泄漏伪装攻击。krawczyk[8]设计了一种加强的ck模型(improvedck,ick),在ick模型中,攻击者能得到被测试预言机的长期私钥,但不能得到被测试预言机的临时私钥。基于ck模型,lamacchia等[9]提出了扩展的ck模型(extendedck,eck),同时提出了一种eck模型中高效、安全的ak协议(简称为naxos协议)。在naxos协议中,a将自己的长期私钥a和临时私钥x进行哈希运算h(a,x)(称为naxos),然后发送消息gh(a,x)gx。eck模型中,除非攻击者能轻易地攻破协议(攻击者得到某个参与者的长期私钥和临时私钥),否则协议应该是安全的。因而,在eck模型中证明协议的安全性更具有实际意义。在ick模型中,任勇军等[10]提出了不需要随机预言假设的idak协议。基于cash等[11-12]提出的双diffiehellman问题,huang等[13]提出了eck模型中可证安全的idak协议,并基于随机预言假设和双线性diffiehellman(bilineardiffiehellman,bdh)假设证明了协议的安全性。在文献[13]的证明中,在证明协议能够抵抗临时私钥泄漏攻击时,挑战者无法判断攻击者提交的哈希查询中是否包含挑战值的解。曹雪菲等[14]设计了ick模型中安全的不需要双线性对的idak协议,但需要额外增加一轮通信交换部分私钥。为了减少通信轮数并且不使用对运算,fiore等[15]提出了ick模型中可证安全的idak协议。在无双线性对的idak协议中,用户部分私钥生成算法通常采用schnorr签名,这增加了部分私钥(签名)的长度。在密钥协商时,参与者要将签名的一个元素传送给对方,从而增加了带宽。舒剑[16]提出了eck模型中可证安全的idak协议。由于文献[16]中协议的安全性证明使用了分叉引理,使得协议的安全规约证明是不紧的。本文采用naxos方法,在eck模型中提出一种新的idak协议,协议的计算复杂度和通信复杂度较低。基于gap假设和随机预言假设,在eck模型中证明了协议的安全性。同时,协议的安全证明较为简洁且实现了紧的安全规约。1背景知识1.1双线性映射g和gt分别是一个阶为素数q的加法群和乘法群,其中g的一个生成元是p。可容许的双线性映射e:g×g→gt是具有下面属性的映射。1)双线性性。e(au,bv)=e(u,v)abu,v∈g且a,b∈z*q。2)非退化性。e(u,v)≠1。3)可计算性。存在有效算法计算e(u,v),其中u,v∈g。1.2cdh(computationaldiffiehellman)假设g=〈p〉是阶为q的循环群。如果对于任意未知x,y∈zq,给定xp,yp,任何概率多项式时间算法都不能计算出xyp。1.3bdh(bilineardiffiehellman)假设g=〈p〉是阶为q的循环群;e是双线性映射。如果对于任意未知x,y,z∈zqz是否应该为大写,表示整数的意思,请明确。即后面的大写形式。,给定xp,yp,zp,任何概率多项式时间算法都不能计算出e(p,p)xyz1.4dbdh(decisionalbilineardiffiehellman)问题g=〈p〉是阶为q的循环群;e是双线性映射。如果对于任意未知x,y,z∈zq,给定(xp,yp,zp,h)∈g3×gt,判断h是否等于e(p,p)xyz1;否则,输出0。1.5gbdh(gapbilineardiffiehellman)假设g=〈p〉是阶为q的循环群;e是双线性映射。如果对于任意未知x,y,z∈zq,给定xp,yp,zp,以及dbdh何概率多项式时间算法都不能计算出e(p,p)xyz1.6形式化安全模型本节简要描述文献[10]中设计的eck模型。ti,ji与用户j的第t次密钥协商。模型中还有一个主动攻击者e,它完全控制了交换消息的网络。攻击者被定义为一个概率多项式时间图灵机,并能访问所有的预言机,模型将攻击者的能力抽象为对预言机的查询。定义1匹配预言机。预言机πti,j出会话密钥且输出为(idi,y,x,idj)。其中:idi是预言机的拥有者;idj是响应方;x是输出消息;y是输入消息。如果πsj,i(idj,x,y,idi),称πti,jsj,i攻击者e可以提交如下的查询。1)send(πti,j,λ)查询。攻击者e发送伪造消息λ给预言机πti,j2)revealmasterkeykgc的主私钥。kgckgc3)sessionkeyreveal(πti,j)查询。预言机πti,j4)revealidbasedsecret(i)查询。用户i返回它从kgc5)revealephemeralkey(πti,j)查询。预言机πti,j6)establishparty(i)查询。攻击者伪装成用户i进行注册,从而得到长期私钥。攻击者在任意时间可以决定停止以上查询,然后对任意一个新鲜的预言机提交test定义2新鲜预言机。如果预言机πti,j1)πti,jsessionkeyrevealsj,i(如果存在)没有被询问过sessionkeyreveal2)πti,jrevealidbasedsecret(i)查询和revealephemeralkey(πti,j)查询,或者匹配预言机πsj,i(如果存在)没有被询问过revealidbasedsecret(j)查询和revealephemeralkey(πsj,i)查询;3)不存在与πti,jj没被询问过revealidbasedsecret(j)查询,则预言机πti,jtest(πti,j)查询查询描述了协议的语义安全,它只能运行一次,并且只能对一个新鲜的预言机进行。当攻击者e进行testb∈{0,1},若b=0,则返回它获得的会话密钥;否则,返回一个随机数r。提交teste还可以提交各种查询,但必须保证被test攻击者根据得到的所有查询信息,猜测b的值为b′。若b′=b,则协议被攻破。k是安全参数,则攻击者e获胜的优势定义为:adve(k)=prb=b′]-1/22协议构造2.1初始化输入安全参数为k,kgc性映射性质的e,g,gt,p,然后从z*q中随机选择系统主私钥s,计算p0=sp;选择哈希函数h1:{0,1}*→g,h2:{g,z*q}→z*q,h3:{0,1}*→{0,1}k。公开系统参数para={e,g,gt,p,p0,h1,h2,h3}。私钥的生成输入为用户的id,kgcqid=h1(id)和did=sqiddid2.2消息交换a和b进行密钥协商。用户a随机生成本次会话的临时私钥a←此处的“←”,是否应该为“∈”?请核实。z*q,用户b随机生成本次会话的临时私钥b←z*q,a和b交换消息的方式如下:a→b:ma=h2(da,a)pb→a:mb=h2(db,b)p2.3密钥计算1)用户a计算会话密钥的方式如下:ka=e(h2(db,b)p+qb,h2(da,a)p0+da)la=h2(da,a)(h2(db,b)p)会话密钥ska=h3(a,b,ma,mb,ka,la)。2)用户b计算会话密钥的方式如下:kb=e(h2(da,a)p+qa,h2(db,b)p0+db)lb=h2(db,b)(h2(da,a)p)会话密钥skb=h3(a,b,ma,mb,kb,lb)。利用双线性映射的特性,可得ska=skb。3协议的安全性证明1γ是前面描述的协议,k是安全参数,h1,h2和h3是随机预言机。若攻击者e至多可激活n(k)个合法的用户,且每个用户至多可发起m(k)次会话。如果攻击者e以不可忽略的概率攻破协议γ。那么,一定可以构造一个模拟器(一个有效的算法)c,以一定的优势解决cdhgbdhe成功的概率为:adve(k)≤max(n(k)advc(k)[cdh],n(k)2m(k)2advc(k)[cdh],n(k)2m(k)advc(k)[gbdh])攻击者e成功(可区分被测试的会话密钥和随机数)有两种方法。1)密钥复制攻击。攻击者e使另外某个预言机和被测试预言机不匹配,并且预言机与被测试预言机具有一样的会话密钥。那么,攻击者可通过提交sessionkeyreveal2)伪造攻击。协议运行期间,攻击者进行h3查询,该查询包含的六元组和被测试预言机计算会话密钥的六元组一样。因为计算会话密钥所使用的六元组包括了他们相互传送的信息以及用户id,攻击者e通过密钥复
本文标题:高效的强安全的基于身份认证密钥协商协议
链接地址:https://www.777doc.com/doc-5502264 .html