动态更新密钥的身份认证和密钥协商方法及系统的制作方法

文档序号:7698432阅读:284来源:国知局
专利名称:动态更新密钥的身份认证和密钥协商方法及系统的制作方法
技术领域
本发明涉及无线网络终端用户的身份认证及密钥协商技术,尤其涉及一种动态更
新密钥的身份认证和密钥协商方法及系统。
背景技术
认证与密钥分配(AKA, Authentication and Key Agreement)禾口扩展认证协议 的认证与密钥分配(EAP-AKA, Extensible AuthenticationProtocol-Authentication and Key Agreement)是基于挑战_应答机制和对称密码机制的技术,是无线局域网(WLAN, Wireless Local Area Networks)的认证和密钥分配协议。基于AKA或EAP-AKA的认证与 密钥分发协议需要移动站(MS,Mobile Station)、访问位置寄存器(VLR, Visitor Location Register)和归属位置寄存器(HLR,Home Location Register)三方参与。EAP-AKA协议由 VLR发起,VLR首先向MS发送一个EAP请求,然后开始执行认证与密钥分配的过程,详细的 协议描述如下 l)MS — VLR:国际移动用户识另U码(頂SI, International Mobile Subscriberldentity) , HLR ;
2)VLR —HLR :MSI ; 3)HLR —VLR :认证向量(AV,Authentication Vector)=随机数(RAND) | |期望响
应(XRES, Expected Response) | |加密密钥(CK, Cipher Key) | |完整性密钥(IK, Integrity
Key) I I认证令牌(A跳Authentication Token);4) VLR — MS :RAND | | AUTN ; 5) MS — VLR :认证响应(RES, Response)。 其中,IMSI为用户永久身份识别,AUTN-序列号(SQN, Sequence Number) ④匿名密钥(AK, Anonymous Key) ll认证管理域(AMF, Authentication Management Filed) II消息认证码(MAC, Message Authentication Code ), AUTN 中包含SQN可以使MS免受重传攻击。"I I "表示串接;"SQN④AK"表示采用AK对SQN进 行逐位异或的加密操作,用以在AUTN中隐藏SQN,因为SQN可能会暴露用户的身份和位置信 息。 RAND由伪随机数生成函数fO产生,MAC = flK(SQN,RAND,AMF) ,XRES = f2K(RAND), CK = f3K(RAND) , IK = f4K(RAND) , AK = f5K(RAND) 。 f0 f 5是第三代数字通信(3G, The 3rd Generation)安全结构定义的密码算法,f0算法用于在认证中产生随机数RAND, fl算 法用于产生MAC, f2算法用于在消息认证中计算XRES, f3算法用于产生CK, f4算法用于产 生IK, f5算法用于产生AK。其中,各算法中的K表示MS与HLR之间的共享密钥。
在上述的协议描述中,当HLR收到VLR的认证请求后,发送N个认证向量组给VLR ; 在VLR中,每个用户的N个认证向量组按照先入先出(FIFO, First In First Out)的规 则发送给MS,用于鉴权认证。VLR初始化一个认证过程,并选择一个认证向量组,发送其中的RAND和AUTN给MS ;MS收到来自VLR的RAND | | AUTN后计算期望的消息认证码(XMAC, Expected MessageAuthentication Code),并将计算的XMAC与AUTN中的MAC进行比较,如 果两者不相同,则MS向VLR发送拒绝认证消息,认证失败;如果两者相同,则MS进一步验证 SQN是否新鲜,如果不能通过验证,则MS向VLR发送同步接收失败消息,认证失败;如果通 过验证,则MS向VLR发送RES。 VLR接收到RES后,比较XRES和RES,如果两者不同,则认证 失败;如果两者相同,则认证成功完成。 在上述的流程完成后,MS的用户与网络之间就实现了双向认证,并且MS与VLR之 间共享会话密钥,这些密钥可以用于通信中的机密性和一致性保护。目前无论是AKA,还是 EAP-AKA的安全机制都是建立在MS和HLR之间共享密钥K的基础上,如果共享密钥K泄露, 那么通信中的安全将无从谈起,攻击者可以在空中截获RAND,并采用相关算法取得相互认 证且计算出CK和IK,从而通信中的所有数据都可以被攻击者截获。由于K是长期不变的, 因此一旦K泄露,将对用户和网络运营商造成不可估量的损失;即使不泄露,也可能会造成 MS的克隆攻击。此外,协议中MS和HLR都没有对VLR进行认证,这会导致中间人攻击,如果 CK和IK被窃听,甚至会威胁到网络通信的安全。

发明内容
有鉴于此,本发明的主要目的在于提供一种动态更新密钥的身份认证和密钥协商 方法及系统,以解决现有的AKA和EAP-AKA安全机制由于固定不变的共享密钥K泄露,以及 MS、 HLR没有对VLR进行认证所造成的安全隐患。
为达到上述目的,本发明的技术方案是这样实现的 本发明提供了一种动态更新密钥的身份认证和密钥协商方法,该方法包括
移动台MS产生第一随机数RM,并采用所述MS与归属位置寄存器HLR当前使用的 共享密钥&对RM进行加密后发送给访问位置寄存器VLR ; 所述VLR产生第二随机数Rv,并采用所述VLR与HLR当前使用的共享密钥对Rv 和MS的用户永久身份IMSI进行加密;再将所述VLR自身的身份信息IDV, &加密的RM,以 及KHV加密的Rv和IMSI发送给所述HLR ; 所述HLR根据IDV查询对应的KHV,以解密得到Rv和IMSI ;根据IMSI查询对应的
Ki,以解密得到RM ;产生第三随机数RH和第四随机数RAND,并利用RM和RH获得MS与HLR之
间更新的共享密钥Kw,利用Rv获得VLR与HLR之间更新的共享密钥I^';所述HLR利用Ki+1和RAND获得鉴权向量组AVi+1 ,并利用AVi+1与VLR和MS执行身
份认证和密钥协商。 所述利用AVi+1执行身份认证和密钥协商,具体包括 所述HLR将Khv'加密的AVW,与Ki加密的rh共同发送给所述VLR; 所述VLR根据Rv计算自身与HLR之间更新的共享密钥V',利用I^'解密得到
AVi+1并存储; 所述VLR从AVi+1中选择一组,将其中的RAND和认证令牌AUTN,与&加密的RH共 同发送给MS ; 所述MS利用&解密得到RH,根据RM和RH计算出Ki+1 ,再根据Ki+1和RAND计算出 期望的消息认证码XMAC,验证XMAC与AUTN中的消息认证码MAC是否相同;并在验证XMAC
5与MAC相同的情况下,恢复出序列号SQN,检验SQN是否在正确的范围内,如果是,则MS认证 网络成功; MS认证网络成功后,根据Ki+1计算认证响应RES、加密密钥CK和完整性密钥IK,并 将计算的RES发送给所述VLR ; 所述VLR验证所述RES与所选AVi+1中的XRES是否相同,并在验证成功后,从所选 AVi+1中选择正确的CK和IK。 该方法进一步包括如果MS验证XMAC与MAC不相同,或者检验SQN不在正确的范 围内,则发送用户认证拒绝的消息给VLR ;由VLR向HLR发送认证失败报告的消息,并决定 是否重新向MS发起一个认证过程。 该方法进一步包括所述MS将IMSI与&加密的RM —起发送给所述VLR。 所述RAND由伪随机数生成函数产生;所述MAC、XRES、CK、 IK是根据第三代数字通
信3G安全结构定义的密码算法得到的。 本发明还提供了一种动态更新密钥的身份认证和密钥协商系统,该系统包括MS、 VLR禾口 HLR,其中, 所述MS,用于产生RM,并采用所述MS与HLR当前使用的&对RM进行加密后发送 给所述VLR ;还用于执行与HLR的身份认证和密钥协商; 所述VLR,用于产生Rv,并采用所述VLR与HLR当前使用的KHV对Rv和MS的IMSI进 行加密;再将所述VLR自身的IDv,Ki加密的RM,以及加密的Rv和IMSI发送给所述HLR ; 还用于参与所述MS与HLR之间的身份认证和密钥协商操作; 所述HLR,用于根据IDV查询对应的KHV,以解密得到Rv和IMSI ;根据IMSI查询对 应的I以解密得到RM ;产生RH和RAND,并利用RM和RH获得MS与HLR之间更新的Ki+1,利 用Rv获得VLR与HLR之间更新的KHV';再利用Ki+1和RAND获得AVi+1 ,利用AVi+1与VLR和 MS执行身份认证和密钥协商。 所述HLR还用于将KHv'加密的AVi+1,与&加密的RH共同发送给所述VLR ;
所述VLR还用于根据Rv计算自身与HLR之间更新的KH/ ,利用IW'解密得到AVW 并存储;并从AVi+1中选择一组,将其中的RAND和AUTN,与&加密的RH共同发送给所述MS ; 还用于验证来自MS的RES与VLR所选AVi+1中的XRES是否相同,并在验证成功后,从所选 AVi+1中选择正确的CK和IK; 所述MS还用于利用&解密得到RH,根据RM和RH计算出Ki+1 ,再根据Ki+1和RAND计 算出XMAC,验证XMAC与AUTN中的MAC是否相同;并在验证XMAC与MAC相同的情况下,恢 复出SQN,检验SQN在正确的范围内时,判断认证网络成功,并根据Kw计算RES、 CK和IK, 将计算的RES发送给所述VLR。 本发明所提供的动态更新密钥的身份认证和密钥协商方法及系统,对MS与HLR之 间的共享密钥Ki进行动态更新,防止密钥的泄漏导致CK和IK的泄漏所带来的危害和损失; 而且本发明通过在HLR和VLR之间设立共享密钥KHv,并对KHv进行动态更新,既增加了对VLR 的认证,有效防止中间人攻击,又能够保密HLR和VLR之间传输的敏感信息。本发明对协议 的效率和复杂性没有较大增加,而协议的安全性却有较大提高。


图1为本发明一种动态更新密钥的身份认证和密钥协商方法的流程图; 图2为本发明一种动态更新密钥的身份认证和密钥协商系统的组成结构示意图。
具体实施例方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。 本发明所提供的一种动态更新密钥的身份认证和密钥协商方法,假设MS和HLR当
前使用的共享密钥为Ki, HLR与VLR之间的共享密钥为Khv,如圉1所示,该方法主要包括以
下步骤 步骤101, MS产生第一随机数RM,并用MS和HLR当前使用的共享密钥&对&进行 加密后发送给VLR。 MS产生的RM可用于参与Ki的动态改变,本发明中用E()表示加密算法,则采用&对 RM进行加密,即为&,(&)。需要指出的是,如果MS是第一次入网或由于某种原因VLR需要MS 的永久身份认证,则MS需要将用户的頂SI, MS所属的HLR信息与&,, WM)—起发送给VLR。
步骤102, VLR收到来自MS的消息后,产生第二随机数Rv,并将IMSI和Rv用HLR 与VLR之间的共享密钥KHV进行加密,得到A^ (7M^ IIA)。 步骤103, VLR将自身的身份信息IDV,以及&,(&)和E^(儀股Hi^)—起发送给 HLR。 步骤104, HLR收到VLR发来的消息后,根据IDV查询与对应VLR的共享密 钥并用Km解密f^(/MS/IIA)得到IMSI和Rv ;根据頂SI检索出与对应MS的共享 密钥Ki,并用Ki解密&,(&)得到RM;随后HLR产生第三随机数RH和第四随机数RADN, 并利用RM和RH计算MS与HLR之间更新的密钥《+1 = & (HI &),利用Rv计算HLR与 VLR之间更新的密钥=五L. (A),再利用Ki+1和RAND生成鉴权向量组AVi+1 。 AVi+1
=rand I |XRES| |ck| |ik| |autn,其中,AUTN= SQN AK II AMF II MAC; rand由
伪随机数生成函数f。产生,MAO /1』(昭iV,i^VA JM。 , XRES:/2^(/L4M)), CK= /3、,(i^備),IK=/4k,+i ,AK=/5《w(/L4層)。 HLR利用AVi+1与VLR和MS执行身份认证和密钥协商,具体包括以下步骤
步骤105, HLR将AVW采用Kh/进行加密得到^^. ,将RH采用&进行加密
得到&,(&),并将^/I'+')和^,.(^拨送给VLR。 步骤106, VLR收到HLR发来的消息后,利用Rv计算尺那'=五^ (A),并利用计算得 到的KHV'解密£^.0^+')得到AVi+1,再对AVi+1进行存储;从AVi+1中选一组,4'+1 ,并将其中 的RAND 、爿CTiV =爿〖11C11力MF和& )发送给MS 。 步骤107, MS收到VLR发来的消息后,利用&解密(&)得到RH,计算 《+1 = II ;然后根据RAND和Ki+1计算XMAC,并验证XMAC是否与AUTN中的MAC相
同;如果XM4C:M4C:/、,(S0iV,iL4M),JMF),则根据SgAT = (SgTV J《)④j《将SQN恢复
出来,并检验SQN是否在正确的范围内,如果是,则MS认证网络成功;MS再根据Ki+1计算 RES、" = /3、'、汉=/、,(磨")。
需要指出的是,如果验证XMAC与AUTN中的MAC不相同,或者检验SQN不在正确的 范围内,则MS发送用户认证拒绝的消息给VLR,由VLR向HLR发送认证失败报告的消息,然 后由VLR决定是否重新向MS发起一个认证过程。
步骤108, MS将计算得到的RES发送给VLR。 步骤109 , VLR收到RES后,验证RES与所选AVi+1中的XRES是否相同,如果 朋^Zi E^/UiMM)),则验证成功,网络认证了 MS的用户身份,LVR从所选AVW中选 择正确的CK和IK。 从上述的方法描述中可以看出,本发明对MS与HLR之间的共享密钥&进行动态 更新,以防止由于&泄露而进一步导致CK和IK泄露所造成的安全隐患;本发明针对MS和 HLR没有对VLR进行认证而可能导致中间人攻击的问题,在HLR和VLR之间增加共享密钥 Khv,且KHV支持动态更新,以此来增加HLR对VLR身份的认证,还能够保密HLR和VLR之间传 输的敏感信息。 为实现上述动态更新密钥的身份认证和密钥协商方法,本发明还提供了一种动态 更新密钥的身份认证和密钥协商系统,如图2所示,该系统由移动台10、访问位置寄存器20 和归属位置寄存器30组成。 移动台IO,用于产生RM,并采用移动台10与归属位置寄存器30当前使用的Ki对 RM进行加密后发送给访问位置寄存器20 ;还用于执行与归属位置寄存器30的身份认证和 密钥协商。 访问位置寄存器20,用于产生Rv,并采用访问位置寄存器20与归属位置寄存器30 当前使用的Km对Rv和移动台10的IMSI进行加密;再将访问位置寄存器20自身的IDv,Ki 加密的RM,以及KHV加密的Rv和IMSI发送给归属位置寄存器30 ;还用于参与移动台10与 归属位置寄存器30之间的身份认证和密钥协商操作。 归属位置寄存器30,用于根据IDV查询对应的KHV,以解密得到Rv和IMSI ;根据 IMSI查询对应的Ki,以解密得到RM ;产生RH和RAND,并利用RM和RH获得移动台10与归属 位置寄存器30之间更新的Kw,利用Rv获得访问位置寄存器20与归属位置寄存器30之间 更新的KhZ ;再利用K^和RAND获得AVW,利用AVW与访问位置寄存器20和移动台10执 行身份认证和密钥协商。 归属位置寄存器30还用于将KhZ加密的AVi+1,与&加密的RH共同发送给访问位 置寄存器20。 访问位置寄存器20还用于根据Rv计算自身与归属位置寄存器30之间更新的 ,利用Khv'解密得到AVW并存储;并从AVW中选择一组,将其中的RAND和AUTN,与Ki 加密的&共同发送给移动台10 ;还用于验证来自移动台10的RES与访问位置寄存器20所 选AVi+1中的XRES是否相同,并在验证成功后,从所选AVi+1中选择正确的CK和IK。
移动台10还用于利用&解密得到RH,根据RM和RH计算出Ki+1,再根据Ki+1和RAND 计算出XMAC,验证XMAC与AUTN中的MAC是否相同;并在验证XMAC与MAC相同的情况下,恢 复出SQN,检验SQN在正确的范围内时,判断认证网络成功,并根据Kw计算RES、 CK和IK, 将计算的RES发送给访问位置寄存器20。 需要指出的是,本发明中&的更新是由MS产生的&和HLR产生的!^共同参与进 行的,当然,实际应用中也可以只采用MS和HLR中的一方所产生的随机数来参与&的更新,
8其具体实现流程与图1所示方法流程类似,在此不再赘述。但是,显然由Rm和Rh共同参与&更新的实施例,其安全性更高。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
一种动态更新密钥的身份认证和密钥协商方法,其特征在于,该方法包括移动台MS产生第一随机数RM,并采用所述MS与归属位置寄存器HLR当前使用的共享密钥Ki对RM进行加密后发送给访问位置寄存器VLR;所述VLR产生第二随机数RV,并采用所述VLR与HLR当前使用的共享密钥KHV对RV和MS的用户永久身份IMSI进行加密;再将所述VLR自身的身份信息IDV,Ki加密的RM,以及KHV加密的RV和IMSI发送给所述HLR;所述HLR根据IDV查询对应的KHV,以解密得到RV和IMSI;根据IMSI查询对应的Ki,以解密得到RM;产生第三随机数RH和第四随机数RAND,并利用RM和RH获得MS与HLR之间更新的共享密钥Ki+1,利用RV获得VLR与HLR之间更新的共享密钥KHV′;所述HLR利用Ki+1和RAND获得鉴权向量组AVi+1,并利用AVi+1与VLR和MS执行身份认证和密钥协商。
2. 根据权利要求1所述动态更新密钥的身份认证和密钥协商方法,其特征在于,所述 利用AVi+1执行身份认证和密钥协商,具体包括所述HLR将KhZ加密的AVi+1,与&加密的RH共同发送给所述VLR ; 所述VLR根据Rv计算自身与HLR之间更新的共享密钥KV ,利用I^'解密得到AVi+1 并存储;所述VLR从AVi+1中选择一组,将其中的RAND和认证令牌AUTN,与&加密的RH共同发 送给MS ;所述MS利用&解密得到RH,根据RM和RH计算出Ki+1,再根据Ki+1和RAND计算出期望的 消息认证码XMAC,验证XMAC与AUTN中的消息认证码MAC是否相同;并在验证XMAC与MAC 相同的情况下,恢复出序列号SQN,检验SQN是否在正确的范围内,如果是,则MS认证网络成 功;MS认证网络成功后,根据Ki+1计算认证响应RES、加密密钥CK和完整性密钥IK,并将计 算的RES发送给所述VLR;所述VLR验证所述RES与所选AVi+1中的XRES是否相同,并在验证成功后,从所选AVi+1 中选择正确的CK和IK。
3. 根据权利要求2所述动态更新密钥的身份认证和密钥协商方法,其特征在于,该方 法进一步包括如果MS验证XMAC与MAC不相同,或者检验SQN不在正确的范围内,则发送 用户认证拒绝的消息给VLR ;由VLR向HLR发送认证失败报告的消息,并决定是否重新向MS 发起一个认证过程。
4. 根据权利要求1、或2、或3所述动态更新密钥的身份认证和密钥协商方法,其特征在 于,该方法进一步包括所述MS将IMSI与&加密的RM —起发送给所述VLR。
5. 根据权利要求1、或2、或3所述动态更新密钥的身份认证和密钥协商方法,其特征在 于,所述RAND由伪随机数生成函数产生;所述MAC、 XRES、 CK、 IK是根据第三代数字通信3G 安全结构定义的密码算法得到的。
6. —种动态更新密钥的身份认证和密钥协商系统,其特征在于,该系统包括MS、 VLR 和HLR,其中,所述MS,用于产生RM,并采用所述MS与HLR当前使用的&对RM进行加密后发送给所 述VLR ;还用于执行与HLR的身份认证和密钥协商;所述VLR,用于产生Rv,并采用所述VLR与HLR当前使用的KHV对Rv和MS的IMSI进行 加密;再将所述VLR自身的IDv,Ki加密的RM,以及加密的Rv和IMSI发送给所述HLR ;还 用于参与所述MS与HLR之间的身份认证和密钥协商操作;所述HLR,用于根据IDV查询对应的KHV,以解密得到Rv和IMSI ;根据IMSI查询对应的 Ki,以解密得到RM ;产生RH和RAND,并利用RM和RH获得MS与HLR之间更新的Ki+1,利用Rv 获得VLR与HLR之间更新的KHV';再利用Ki+1和RAND获得AVi+1,利用AVi+1与VLR和MS执 行身份认证和密钥协商。
7.根据权利要求6所述动态更新密钥的身份认证和密钥协商系统,其特征在于,所述HLR还用于将KhZ加密的AVi+1,与&加密的RH共同发送给所述VLR ;所述VLR还用于根据Rv计算自身与HLR之间更新的^',利用I^'解密得到AVi+1并 存储;并从AVi+1中选择一组,将其中的RAND和AUTN,与&加密的RH共同发送给所述MS ;还 用于验证来自MS的RES与VLR所选AVi+1中的XRES是否相同,并在验证成功后,从所选AVi+1 中选择正确的CK和IK ;所述MS还用于利用&解密得到RH,根据RM和RH计算出Ki+1,再根据Ki+1和RAND计算 出XMAC,验证XMAC与AUTN中的MAC是否相同;并在验证XMAC与MAC相同的情况下,恢复 出SQN,检验SQN在正确的范围内时,判断认证网络成功,并根据Kw计算RES、 CK和IK,将 计算的RES发送给所述VLR。
全文摘要
本发明公开了一种动态更新密钥的身份认证和密钥协商方法,包括移动台(MS)产生RM,利用Ki进行加密后发送给访问位置寄存器(VLR);VLR产生RV,并利用RHV对RV和MS的用户永久身份(IMSI)加密得到VLR将IDV,以及发送给HLR;HLR采用KHV解密得到RV和IMSI,采用Ki解密得到RM;产生RH和RAND,并利用RM和RH获得MS与HLR之间更新的Ki+1,利用RV获得VLR与HLR之间更新的KHV′;HLR利用Ki+1和RAND获得AVi+1,并利用AVi+1与VLR和MS执行身份认证和密钥协商。本发明还公开了一种动态更新密钥的身份认证和密钥协商系统,对Ki和KHV进行动态改变,防止密钥的泄漏所造成的安全隐患。
文档编号H04W8/02GK101784048SQ20091007680
公开日2010年7月21日 申请日期2009年1月21日 优先权日2009年1月21日
发明者丁添添, 余万涛, 禹忠, 许文丽 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1