学校:仲恺农业工程学院专业:自动化班级:自动化123班学号:201210344306课程:计算机通讯网1、摘要.................................................................................................42、SAKAP协议描述.........................................................................53、协议安全性证明.............................................................................64、性能分析.........................................................................................85、结束语.............................................................................................9参考文献:...........................................................................................10一种可证安全性的无线网络密钥协商协议摘要:在无线网络的分布式环境中,通信双方间建立安全的会话很重要。在借鉴以往无线通信密钥协商协议的基础上,提出一个在对称实体之间可相互认证的密钥协商协议SAKAP,在随机预言机模型下证明其安全性,并给出协议的性能分析。与以往的协议相比,该协议是可证明安全的,且具有较高的可行性。关键词:认证密钥协商协议;可证安全性;随机预言机模型KeyAgreementProtocolwithProvableSecurityinWirelessNetworkZHAOZong-qu,LIUYan-xia(CollegeofComputerScienceandTechnology,HenanPolytechnicUniversity,Jiaozuo454003)【Abstract】Inthedistributedcomputingenvironmentssuchaswirelessnetwork,itiscriticaltoestablishasecuresessionbetweencommunicators.Amutualkeyagreementprotocol,namelySymmetricalAuthenticatedKeyAgreementProtocol(SAKAP),isproposedtoauthenticateidentitiesandestablishsecuresessionkeybetweensymmetricalusers.ThesecurityoftheprotocolisprovedinRandomOracle(RO)model,anditsperformancesareanalyzed.SAKAPhastheadvantagesofprovablesecurityandconsiderablefeasibilityoverotherprotocols.【Keywords】authenticatedkeyagreementprotocol;provablesecurity;RandomOracle(RO)model1、摘要移动通信中的认证协议是建立安全会话的关键,通信媒介的开放性使通信双方在认证过程中更易受到攻击。通过安全的认证协议,会话双方确认对方的身份,建立共同的会话密钥,对无线通信提供进一步的安全保障。这种认证通信双方身份并建立共享密钥的协议称为带认证的密钥协商协议。基于对称密钥体制的协议需要通信实体事先共享一个长期密钥,或者通过在线的可信第三方参与协议行。在这类系统中,密钥管理和系统的可扩展性是主要问题。使用公钥密码体制的密钥建立协议时会受处理能力、存储空间及传输速度的限制,移动通信方使用互联网中常用的SSL等密钥建立协议则成本太高,如果协议中有过多的加密、解密运算,还会降低协议的执行速度。基于证书的认证系统可以通过证书来保证通信用户身份的真实性,证书的离线验证减少了通信量,因此,成为无线网络中常用的密钥协商机制。密钥协商协议的可证明安全性是通过规划协议的形式化安全模型来避免或减少协议中可能会出现的漏洞,随机预言机(RandomOracle,RO)模型方法论[1]的提出使得过去仅作为纯理论研究的可证明安全性理论迅速在实际应用领域取得了重大进展。文献[2]提出的MAKAP协议是基于RO模型的可证明安全的认证密钥建立协议,文献[3]指出其会受到一种未知密钥共享攻击,并将其改进为MAKAP-1协议。但是改进的协议在身份认证过程中使用了加密/解密方式对服务器身份进行认证,这种认证方式存在密码服务滥用的安全缺陷。虽然还没有发现具体的攻击实例,但是协议中额外提供的解密预言机不但没有增强安全性,反而带来了安全隐患;另外,加密/解密本身的代价增加了协议的计算开销(增加了2次模指数运算)。本文介绍一种适用于移动环境、对等实体通过公钥证书进行相互认证和密钥协商的协议——SAKAP(SymmetricalAuthenticatedKeyAgreementProtocol),并且在RO模型下证明协议的安全性是基于ComputationalDiffie-Hellman(CDH)问题的。2、SAKAP协议描述本文提出了新的密钥协商协议SAKAP,其中使用的杂凑函数h1,h2,h3是抗碰撞的单向杂凑函数。设g,p,q为系统全局参数,其中,*pg∈Z是一个q阶生成元;*Zq为由g生产的q阶子群;p和q均为大素数,且满足p|q-1。在应用环境中,每个用户都有一个长期秘密*qa∈Z和对应的公开秘密gamodq,用户向一个权威机构(CA)注册其公开秘密,其真实性由CA签发的数字证书来保证。用户A的公钥为PKA=〈g,p,q,ga〉,证书Cert(A)=IDA,PKA,{IDA,PKA}sigCA〉。相应地,用户B的公钥和证书分别为PKB=g,p,q,gbCert(B)=IDB,PKB,{IDB,PKB}sigCA。CA保证每一个用户的标识在系统中是唯一的,防止攻击者注册与合法用户相同的公钥后冒充用户参与协议。CDH问题:给定gx和gy(x和y是随机选择的)计算gxy目前被认为多项式时间内不可解的。假设A,B是2个欲通过协议建立安全信道的用户,协议由A发起,则SAKAP的过程如下:(1)A随机选择一个秘密值*x∈Zp,计算gxmodq,并将结果和A的数字证书发送给用户B。(2)B验证A证书的安全性,并检查1gxq是否成立,若不成立则终止协议,认证失败。(3)B随机选择一个秘密值*y∈Zp,计算gymodq和α=h1(gxb||gy||IDB||IDA),将结果发送给A。(4)A计算h1(gbx||gy||IDB||IDA),验证其值与α是否相等,若不等则协议终止,认证失败。(5)A计算β=h2(gay||gx||IDA||IDB)后,发送给B作为确认消息。(6)B验证重新计算h2(gay||gx||IDA||IDB)并与A发送的数据作比较;如果两者不同,终止协议,认证失败。(7)A和B计算出3(bx||ay||||)SK=hggIDAIDB作为本次的会话密钥,协议完成。整个协议如图1所示,其中,α=h1(gxb||gy||IDB||IDA);β=h2(gay||gx||IDA||IDB);SK=h3(gbx||gay||IDA||IDB)。图1SAKAP协议协议中使用的h1(),h2(),h3()都是{0,1}*→{0,1}k的杂凑函数,它们可以看成RO模型中实例化的RO,杂凑函数的安全性满文献[1]的要求。3、协议安全性证明本文基于RO模型证明协议的安全性,其描述方法和符号定义均采用文献[4]中密钥协商协议的安全性形式化模型和定义。在RO模型中,可以用对事先定义的预言机的询问来仿真协议参与者和攻击者的行为。协议的安全性分为认证性质和保密性质,其中,认证性质通过参与协议的各方之间“匹配的会话”来描述;保密性质通过会话密钥与某随机数的计算不可区分性来定义(基本方法是使会话密钥和一个敌手易于得到的某伪随机数紧密联系)。P=(Π,ψ,LL)是一个多项式时间可计算的三元组函数,其中,Π描述诚实方的行为;ψ描述S的行为;LL描述用户主密钥的初始分布。定义[4-5]一个密钥协商协议P是安全的,如果满足下列条件:(1)在良性攻击存在的情况下,预言机,SijΠ和,tjiΠ在P结束时都处于接收状态,并且已经建立相同的会话密钥。(2)如果2个没有变坏的预言机有匹配的对话,则它们都处于接收状态且拥有相同的会话密钥。(3)协议P的消息是可认证的,即不匹配会话的概率NomatchingE(k)是可忽略的。(4)对challenge“猜测”正确的优势函数AdvantageE(k)是可忽略的。在RO模型中,攻击者E可以控制所有合法方之间的通信(可以控制协议启动时间或篡改、替换、删除数据等),其能力可以形式化为一个概率多项式时间图灵机(PPT)。定理如果存在安全的数字签名方案和抗碰撞的单向函数,则协议是基于CDH问题安全的。要证明协议是安全的,只要证明它满足定义的每个条件。引理1SAKAP是精确定义的。证明按照协议的描述,存在良性攻击的情况下,,SijΠ和,tjiΠ在协议结束时都处于接收状态,并且拥有同样的会话密钥3(bx||ay||||)SK=hggIDAIDB,因此,SAKAP是精确定义的。引理2SAKAP为参与双方提供同一个实时会话。证明根据定义的条件(2),如果2个预言机,SijΠ和,tjiΠ有匹配的对话,说明两者都诚实地执行了协议,能够计算出相同的会话密钥,因此,协议能为通信双方提供实时会话伙伴。引理3SAKAP能够认证双方身份,即它是一个可相互认证的协议。考察协议的结构不难发现,在第1个消息中,A使用自己数字证书向B证明其公钥的真实性,在消息2中A也收到了B的真实公钥。按照CDH问题,只要A和B能够计算出α和SK。用反证法先证明对B的身份认证。命题基于CDH问题,在收到消息1后,只有B能够计算出α=h1(gbx||gy||IDB||IDA),并且A接收到消息2后能够验证α的完整性。对于任意一个PPT类型的攻击者,有一个可忽略的函数ε(k),对于足够大的k,有1[(1,,,)()|;()Rkbxy*yBBBAqPrEYIDPK=hg||g||ID||IDy←ZY←g]≤εk证明令Forge表示上述事件,即给定1k,gy,IDB,PKB,E在不知道B的长期秘密b的情况下,可以在多项式时间内成功计算出h1(gbx||gy||IDB||IDA)。令NoSendB表示如下事件:A收到的gy,Cert(B),α实际上不是B发送的。显然NoSendB事件可以在多项式事件内规约到Forge事件,即有Pr[NoSendB]=Pr[Forge]对于NosendB事件,有:(1)这个α是攻击者通过q次预言机查询猜测得到的,且h1(.)的输出长度为l1,那么这个概率不超过q/2l1。(2)gx是以前某个预言机查询时已经询问过的,假设以前查询了q次,当前查询次数为q次,那么gx被询问的概率不超过q/q。(3)若攻击者能够计算出gbx,则可以计算出h1(gbx||gy||IDB||IDA)。显然,攻击者在不知道B的长期秘密b的情况下计算出gbx是一个CDH事件,记为EventCDH。(4)用A收到消息2后,可以计算出α。因此,Pr[Forge]=Pr[NoSendB]≤Pr{EventCDH+q/2l1+q/q′}令ε(k)=Pr{EventCDH+q/2l1+q/q′},则命题得证。同理,B收到消息3后验证2(ay||x|