基于预共享密钥的实体鉴别方法及装置制造方法及图纸

技术编号:13201475 阅读:142 留言:0更新日期:2016-05-12 10:33
本发明专利技术为基于预共享密钥的实体鉴别方法及装置,属网络安全技术领域。具体是:实体A产生NA并发给实体B;实体B生成NB和ZSEEDB计算MKA||KEIA、AuthEncDataB,发送NB||NA||AuthEncDataB给实体A;实体A产生ZSEEDA计算AuthEncDataA、Z、MK、MacTagA,发送NA||NB||AuthEncDataA||MacTagA给实体;实体B计算Z、MK,MacTagA并与收到的MacTagA比较若相等,实体A合法;实体B计算MacTagB并发给实体A;实体A计算MacTagB并与收到的MacTagB比较若相等,实体B合法。本发明专利技术降低了硬件资源消耗。

【技术实现步骤摘要】

本专利技术属网络安全
,尤其涉及基于预共享密钥的实体鉴别方法及装置
技术介绍
对于通信网络来说,如局域网WLAN、无线传感器网络WSN、近场通信NFC、射频识别RFID、个域网WPAN等,在通信时易遭受伪造、窃听、重放等攻击,因此在通信之前必须解决通信双方之间的身份鉴别问题,以确保通信双方身份的合法性。目前,基于密码算法的,尤其是基于对称密码算法的鉴别方案中,由于鉴别过程中通常不对鉴别双方的身份进行确认,而导致即使身份鉴别通过了,也只能确定对方拥有某个共享的秘密,但实际上仍没法确定对方究竟是谁,存在一定的安全隐患。
技术实现思路
为了解决
技术介绍
中存在的上述技术问题,有必要提供一种基于预共享密钥的实体鉴别方法及装置。一种基于预共享密钥的实体鉴别方法,用于共享了预共享密钥PSK且相互知晓对方身份标识IDa和IDb的实体A和实体B之间进行身份鉴别,其包括:步骤I)实体A产生随机数Na,并发送给实体B。步骤2)实体B收到Na后,生成随机数Nb和用于作为密钥种子的随机数ZSEEDb,计算密钥 MKAI I KEIA = KDFl (Na, Nb, PSK, IDa, IDb),计算第一加密认证数据 AuthEncDataB = AuthEncKEIA (AAD, IV,Nb | | Na | | IDb | | IDa | | ZSEEDb),实体 B 发送 Nb | | Na | | AuthEncDataB 给实体 A ;其中,MKA为鉴别密钥,KEIA为消息加密和完整性密钥,KDFl为一种密钥推导算法,IDaS实体A的身份标识,IDb为实体B的身份标识,AuthEnc为一种加密认证算法,AAD为所述加密认证算法需要的其他鉴别数据,IV为初始向量;步骤3)实体A收到Nb I I Na I I AuthEncDatae后进行解密验证;步骤4)实体A产生用于作为密钥种子的随机数ZSEEDa,计算第二加密认证数据AuthEncDataA = AuthEncKEIA(AAD, IV, Na Nb IDa IDb | ZSEEDa),计算共享密钥种子 Z =ZSEEDa ? ZSEEDb,计算主密钥 MK = KDF2 (Na, Nb, Z, IDa, IDb),计算第一消息鉴别标识 MacTagA=MAC (MK, MsgIDl | | IDa | | IDb | | Na | | Nb),实体 A 发送 Na | | Nb | | AuthEncDataA | | MacTagA 给实体B ;其中,MsgIDl为一消息序列号,“ 表示逐比特异或,KDF2为一种密钥推导算法,MAC为一种消息鉴别码生成算法;步骤5)实体B收到Na I I Nb I I AuthEncDataA | | MacTagA后进行解密验证;步骤6)实体B计算共享密钥种子Z = ZSEEDa ? ZSEEDb,计算主密钥MK =KDF2 (Na,Nb, Z, IDa, IDb),计算第一消息鉴别标识 MacTagA = MAC (MK, MsgIDl | | IDa | | IDb | | NaI Nb),并与收到的MacTagA进行比较,如果相等,则认为实体A身份合法;步骤7)实体 B 计算第二消息鉴别标识 MacTagB = MAC (MK, MsgID2 | | IDb | | IDa | | NbNa),并将MacTage发送给实体A,其中,MsgID2为一消息序列号;步骤8)实体A收到MacTagB后,首先计算第二消息鉴别标识MacTagB = MAC (MK, MsgID2 I I IDb I I IDa | | Nb | | Na),然后将计算得到的MacTagB与收到的MacTagB进行比较,如果相等,则认为实体B身份合法。一种装置,用于和另一装置进行身份鉴别,该装置包括存储单元、处理单元及收发单元,其中,所述存储单元用于存储与所述另一装置之间的预共享密钥PSK及所述另一装置的身份标识IDb ;所述收发单元用于将随机数Na发送给另一装置,并用于接收另一装置发送的 Nb| Na AuthEncDatae ;所述收发单元还用于发送Na| Nb I AuthEncDataA I I MacTagA给另一装置,并用于接收另一装置发来的第二消息鉴别标识MacTage ;所述处理单元用于产生随机数Na ;所述处理单元还用于对另一装置发来的Nb| Na| I AuthEncDatae进行解密验证;所述处理单元还用于产生作为密钥种子的随机数ZSEEDa,计算第二加密认证数据 AuthEncDataA = EncDataA MACa = AuthEncKEIA (AAD, IV, Na Nb IDa IDb ZSEEDa),计算共享密钥种子 Z = ZSEEDa ? ZSEEDb,计算主密钥 MK = KDF2 (Na, Nb, Z, IDa, IDb),计算第一消息鉴别标识 MacTagA = MAC (MK, MsgIDl IDa | | IDb | | Na | | Nb),生成Na Nb I AuthEncDataA I I MacTagA ;其中AuthEnc为一种加密认证算法,EncDataA为该装置生成的加密数据,MACa为该装置生成的完整性鉴别码,AAD为加密认证计算方法需要的其他鉴别数据,IV为初始向量,IDa为该装置的身份标识,IDb为另一装置的身份标识,KDF2为一种密钥推导算法,MsgIDl为一消息序列号,MAC为一种消息鉴别码生成算法,“Θ”表示逐比特异或;所述处理单元还用于计算第二消息鉴别标识MacTagB = MAC (MK, MsgID2 | | IDb | | IDaI Inb |凡),然后将计算得到的1^(^&&与另一装置发来的1^(^&&进行比较,如果相等,则另一装置身份合法。一种装置,用于与另一装置进行身份鉴别,所述装置包括存储单元、处理单元及收发单元,其中:所述存储单元用于存储与所述另一装置之间的预共享密钥PSK及所述另一装置的身份标识IDa ;所述收发单元用于接收另一装置发来的随机数Na ;所述收发单元还用于向另一装置发送化| |Na| |AuthEncDataB,并用于接收另一装置发来的 NaI Nb I AuthEncDataA I MacTagA ;所述收发单元还用于向另一装置发送第二消息鉴别标识MacTagB ;所述处理单元用于生成随机数Nb和作为密钥种子的随机数ZSEEDb,计算密钥 MKAI I KEIA = KDFl (Na, Nb, PSK, IDa, IDb),计算第一加密认证数据 AuthEncDataB=EncDataJ Imacb = AuthEncKEIA (AAD, IV,nb| |na| I idb| I ida| Izseedb),并生成Nb Na AuthEncDataB ;其中MKA为鉴别密钥,KEIA为消息加密和完整性密钥,KDFl为一种密钥推导算法,IDb为该装置的身份标识,IDa为另一装置的身份标识,AuthEnc为一种加密认证算法,EncDatae为该装置生成的加密数据,MACb为该装置生成的本文档来自技高网...

【技术保护点】
一种基于预共享密钥的实体鉴别方法,用于共享了预共享密钥PSK且相互知晓对方身份标识IDA和IDB的实体A和实体B之间进行身份鉴别,其特征在于,所述方法包括:步骤1)实体A产生随机数NA,并发送给实体B。步骤2)实体B收到NA后,生成随机数NB和用于作为密钥种子的随机数ZSEEDB,计算密钥MKA||KEIA=KDF1(NA,NB,PSK,IDA,IDB),计算第一加密认证数据AuthEncDataB=AuthEncKEIA(AAD,IV,NB||NA||IDB||IDA||ZSEEDB),实体B发送NB||NA||AuthEncDataB给实体A;其中,MKA为鉴别密钥,KEIA为消息加密和完整性密钥,KDF1为一种密钥推导算法,IDA为实体A的身份标识,IDB为实体B的身份标识,AuthEnc为一种加密认证算法,AAD为所述加密认证算法需要的其他鉴别数据,IV为初始向量;步骤3)实体A收到NB||NA||AuthEncDataB后进行解密验证;步骤4)实体A产生用于作为密钥种子的随机数ZSEEDA,计算第二加密认证数据AuthEncDataA=AuthEncKEIA(AAD,IV,NA||NB||IDA||IDB||ZSEEDA),计算共享密钥种子Z=ZSEEDA⊕ZSEEDB,计算主密钥MK=KDF2(NA,NB,Z,IDA,IDB),计算第一消息鉴别标识MacTagA=MAC(MK,MsgID1||IDA||IDB||NA||NB),实体A发送NA||NB||AuthEncDataA||MacTagA给实体B;其中,MsgID1为一消息序列号,“⊕”表示逐比特异或,KDF2为一种密钥推导算法,MAC为一种消息鉴别码生成算法;步骤5)实体B收到NA||NB||AuthEncDataA||MacTagA后进行解密验证;步骤6)实体B计算共享密钥种子Z=ZSEEDA⊕ZSEEDB,计算主密钥MK=KDF2(NA,NB,Z,IDA,IDB),计算第一消息鉴别标识MacTagA=MAC(MK,MsgID1||IDA||IDB||NA||NB),并与收到的MacTagA进行比较,如果相等,则认为实体A身份合法;步骤7)实体B计算第二消息鉴别标识MacTagB=MAC(MK,MsgID2||IDB||IDA||NB||NA),并将MacTagB发送给实体A,其中,MsgID2为一消息序列号;步骤8)实体A收到MacTagB后,首先计算第二消息鉴别标识MacTagB=MAC(MK,MsgID2||IDB||IDA||NB||NA),然后将计算得到的MacTagB与收到的MacTagB进行比较,如果相等,则认为实体B身份合法。...

【技术特征摘要】

【专利技术属性】
技术研发人员:胡亚楠杜志强张国强李琴
申请(专利权)人:西安西电捷通无线网络通信股份有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1