无线通信***中空口密钥更新的方法及***
技术领域
本发明涉及通信领域,具体而言,涉及一种无线通信***中空口密钥更新的方法及***。
背景技术
电子电机工程协会(Institute of Electrical and Electronic Engineers,简称IEEE)802.16标准体系主要针对城域网,其主要目标是开发工作于2~66GHz(吉赫兹)频带的无线接入***空中接口物理层(PHY)和媒质接入控制层(MAC)规范,同时还涉及与空中接口协议相关的一致性测试以及不同无线接入***之间的共存规范。
根据是否支持移动特性,IEEE 802.16标准可以分为固定宽带无线接入空中接口标准和移动宽带无线接入空中接口标准,其中802.16d是属于固定无线接入空中接口标准,已经于2004年6月在IEEE 802委员会获得通过,以IEEE 802.16-2004的名称发布;而802.16e属于移动宽带无线接入空中接口标准,于2005年11月在IEEE 802委员会获得通过,以IEEE 802.16-2005的名称发布。微波接入全球互操作性认证联盟(Worldwide Interoperability forMicrowave Access,简称WiMAX)即是基于IEEE 802.16空中接口的规范,目前已成为国际上影响力最大的宽带无线接入技术。
目前IEEE正在制订802.16m标准,该标准是为了研究WiMAX下一步演进路线,目标是成为下一代移动通信技术标准,并最终向国际电信联盟(International Telecommunication Unit,简称ITU)的高级国际移动电信(International Mobile Telecommunications Advanced,简称IMT Advanced)的标准之一,该标准将兼容现有的802.16e规范。
802.16m的***需求文档(System Requirement Document,简称SRD)规定需要对终端的私密性进行保护,即需要保护高级终端标识(AMSID)在空口明文传输,以避免攻击者可以获得该地址从而威胁终端的私密性。在现有的方案中,是通过将AMSID进行哈希运算,得到高级终端标识(Advanced Mobile Station identifier,简称AMSID,一般为终端MAC地址)的哈希(hash)计算值,通过在空口传送AMSID*,来对终端的MAC地址进行私密性保护的。AMSID*的计算方法如下:
AMSID*=Dot16KDF(AMSID,ABSID|NONCE_ABS,48)
其中,Dot16KDF为IEEE802.16定义的安全算法,具体定义可参考802.16-2005;基站标识(Advanced Base Station Identification,简称为ABSID)是基站的标识符;NONCE ABS是初始认证或重认证时,三次握手过程中基站生成的一个随机数;在现有方案中,终端在三次握手过程的第二步将AMSID*值发送给基站。终端和基站两侧分别使用AMSID*值计算相关空口密钥。
在IEEE 802.16***中定义的空口密钥包括:主会话密钥(Master SessionKey,简称为MSK)、成对主密钥(Pairwise Master Key,简称为PMK)、授权密钥(Authorization Key,简称为AK)、消息完整性保护密钥(CMACKEYS,包括CMAC_KEY_U及CMAC_KEY_D,其中CMAC_KEY_U用于对上行链路管理消息进行完整性保护,CMAC_KEY_D用于对下行链路管理消息进行完整性保护)、业务流加密密钥(Traffic Encryption Key,简称TEK)。
下面具体介绍各密钥在IEEE 802.16e标准和802.16m标准中的生成方法:
MSK是IEEE 802.16定义的所有其它密钥的根密钥,是终端和认证授权计费服务器(Authentication Authorization Accounting Server,简称为AAAServer)在可扩展的认证协议(Extensible Authentication Protocol,简称为EAP)认证和授权过程中各自产生的,用于派生出PMK等其它的密钥。
PMK由MSK推导而出,用于派生出AK。
IEEE 802.16e标准中PMK的计算方法为:
PMK=Truncate(MSK,160);
IEEE 802.16m标准中PMK的计算方法为:
PMK=Dot16KDF(MSK,NONCE_AMS|NONCE_ABS|”PMK”,160)
其中,Dot16KDF为IEEE802.16定义的安全算法,具体定义可参考802.16-2005。Z=Truncate(x,y)定义:仅当y≤x,Z为x的最后y位。NONCE_ABS是初始认证或重认证时,三次握手过程中基站生成的一个随机数;NONCE_AMS是初始认证或重认证时,三次握手过程中终端生成的一个随机数。引号内的内容代表字符串。
AK是授权密钥,由PMK推导而出。它用于派生出消息完整性保护密钥。
IEEE 802.16e标准中PMK的计算方法为:
AK=Dot16KDF(PMK,MSID|BSID|“AK”,160)
IEEE 802.16m标准中PMK的计算方法为:
AK=Dot16KDF(PMK,AMSID*|ABSID|CMAC_KEY_COUNT|”AK”,160)
其中,MSID是IEEE 802.16e中终端标识的缩写,BSID是IEEE 802.16e中对基站标识的缩写。CMAC_KEY_COUNT是一个计数器,用于确保在切换时,同一个ABS-AMS对生成不同的AK。当成功完成重认证后,该计数器置零。
CMAC KEYS由AK派生而来,用于管理消息的完整性保护。
IEEE 802.16e标准中PMK的计算方法为:
CMAC_KEY_U=AESCMAC_PREKEY_U(CMAC_KEY_COUNT);
CMAC_KEY_D=AESCMAC_PREKEY_D(CMAC_KEY_COUNT);
其中,CMAC_PREKEY_U|CMAC_PREKEY_D|KEK<=Dot16KDF(AK,MSID|BSID|“CMAC_KEYS+KEK”,384);
IEEE 802.16m标准中PMK的计算方法为:
CMAC_KEY_U|CMAC_KEY_D=Dot16KDF(AK,“CMAC_KEYS”,256);
其中,KEK是密钥加密密钥(Key Encryption Key),仅在16e中用于加密TEK,以保护TEK在空口的传输。
TEK用于对用户数据进行加密,以保护在终端和基站之间传输的数据的机密性。在16e中,TEK是基站生成的一个随机数,基站用KEK对TEK进行加密,然后发送给终端。在IEEE 802.16m标准中,TEK是终端和基站分别根据AK生成的,计算如下:
TEKi=Dot16KDF(AK,SAID|COUNTER_TEK=i|”TEK”,128)
其中,SAID是该TEK关联的安全联盟标识。COUNTER_TEK是一个计数器,用于推导属于同一个安全联盟的TEK,当推导出一个新的AK时,COUNTER_TEK置为0,此后,每生成一个新的TEK,该计数器递增1。
从以上的介绍中,可以看出802.16e和802.16m的密钥推导存在很大的区别。
目前,已经出现了先进基站(Advanced Base Station,简称为ABS,即支持802.16m协议的基站),先进基站能够兼容传统终端(Yardstick MobileStation,简称为YMS),同样地,先进终端(Advanced Mobile Station,以下简称为AMS或者终端)也应该能够接入传统基站(Yardstick Base Station,简称为YBS,仅支持802.16e协议的基站)。先进基站的时间区域(Time Zone)可以分成两个区域,即,第一区域(也称为先进区域,16m Zone,与具有802.16m功能的终端进行通信,简称为MZone)和第二区域(也称为传统区域,Legacy Zone,与具有802.16e功能的终端进行通信,简称为LZone)。由于终端可以采用最新通信协议或传统协议,因此,先进终端就可以工作在MZone或LZone,这样就出现了区域转换(Zone Switch)的问题。
当终端由YBS向ABS进行越区切换时,由于从PMK开始的密钥推导就不同,而IEEE 802.16m标准中PMK的生成参数包括在三次握手过程中生成的基站侧随机数NONCE_ABS和终端侧随机数NONCE_AMS。AK的生成参数包括AMSID*,而AMSID*的计算和基站侧随机数NONCE_ABS以及基站标识ABSID有关。因此在终端进行越区切换时,为了令切换后的终端继承IEEE 802.16m标准定义的密钥体系,需要解决如何在越区切换时生成PMK以及AMSID*,从而计算AK等其它空口密钥的问题。
发明内容
本发明要解决的技术问题是提供无线通信***中越区切换时空口密钥更新的方法及***,空口密钥更新功能的同时节省***开销,提高更新效率。
为了解决上述问题,本发明提供了无线通信***中空口密钥更新的方法,包括:先进基站的传统区域向终端发送携带基站侧随机数的测距响应消息;终端向先进基站的先进区域发送携带终端侧随机数的测距请求消息;所述终端和所述先进基站分别根据所述基站侧随机数和所述终端侧随机数进行空口密钥的更新。
进一步,上述方法还具有以下特点:
所述先进基站向终端发送的基站侧随机数包含于所述测距响应消息的越区切换信息中。
进一步,上述方法还具有以下特点:
所述测距请求消息包括基站侧随机数,和/或用生成的消息完整性保护密钥计算得到的该消息的完整性保护摘要。
进一步,上述方法还具有以下特点:
所述终端和所述先进基站根据根密钥主会话密钥、所述基站侧随机数、所述终端侧随机数,生成成对主密钥和/或高级终端标识的哈希值,并根据所述成对主密钥和/或所述高级终端标识的哈希值计算出授权密钥、消息完整性保护密钥和业务流加密密钥。
进一步,上述方法还具有以下特点:
所述先进基站验证接收到的所述测距请求消息中携带的基站侧随机数是否与在所述测距响应消息中发送的一致,如果一致,则继续处理此消息;如果不一致,则忽略此消息。
进一步,上述方法还具有以下特点:
所述先进基站用生成的消息完整性保护密钥验证所述测距请求消息的摘要,验证成功后,在先进区域向所述终端返回的测距响应消息中携带由所述先进基站生成的消息完整性保护密钥计算得出的此测距响应消息的摘要,或者用业务流加密密钥对该测距响应消息同时进行加密和完整性保护。
进一步,上述方法还具有以下特点:
所述先进区域发送的测距响应消息中还携带基站侧随机数和终端侧随机数;若终端接收到的所述先进区域发送的测距响应消息仅做了完整性保护,则终端对接收到的此测距响应消息用生成的消息完整性保护密钥进行消息完整性保护密钥验证,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。
进一步,上述方法还具有以下特点:
所述先进区域发送的测距响应消息中还携带基站侧随机数和终端侧随机数;若终端接收到的所述先进区域发送的测距响应消息同时做了加密和完整性保护,则终端对该消息用业务流加密密钥进行解密,验证该消息的完整性,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。
进一步,上述方法还具有以下特点:
所述终端和所述先进基站计算高级终端标识的哈希值和授权密钥时所使用的基站标识是所述先进基站的先进区域关联的基站标识。
进一步,上述方法还具有以下特点:
所述先进区域关联的基站标识与传统区域关联的标识不同时,所述先进基站的传统区域向所述终端发送携带越区切换信息的测距响应消息并且所述越区切换信息中包括所述先进区域关联的基站标识。
为了解决上述技术问题,本发明还提供了一种无线通信***中空口密钥更新的***,包括:终端和先进基站,所述先进基站,用于在传统区域向终端发送携带基站侧随机数的测距响应消息;还用于在先进区域接收终端发送的携带终端侧随机数的测距请求消息后,根据所述基站侧随机数和所述终端侧随机数进行空口密钥的更新;所述终端,用于接收到所述测距响应消息后,向先进基站的先进区域发送携带终端侧随机数的测距请求消息;还用于根据所述基站侧随机数和所述终端侧随机数进行空口密钥的更新。
进一步,上述***还具有以下特点:
所述测距请求消息包括基站侧随机数,和/或用生成的消息完整性保护密钥计算得到的该消息的完整性保护摘要。
进一步,上述***还具有以下特点:
所述终端和所述先进基站,还用于根据根密钥主会话密钥、所述基站侧随机数、所述终端侧随机数,生成成对主密钥和/或高级终端标识的哈希值,并根据所述成对主密钥和/或所述高级终端标识的哈希值计算出授权密钥、消息完整性保护密钥和业务流加密密钥。
进一步,上述***还具有以下特点:
所述先进基站,还用于验证接收到的所述测距请求消息中携带的基站侧随机数是否与在所述测距响应消息中发送的一致,如果一致,则继续处理此消息;如果不一致,则忽略此消息。
进一步,上述***还具有以下特点:
所述先进基站,还用于用生成的消息完整性保护密钥验证所述测距请求消息的摘要,验证成功后,在向所述终端返回的测距响应消息中携带由所述先进基站生成的消息完整性保护密钥计算得出的此测距响应消息的摘要,或者用业务流加密密钥对该测距响应消息同时进行加密和完整性保护。
进一步,上述***还具有以下特点:
所述终端,还用于接收所述先进区域发送的测距响应消息,此测距响应消息中还携带基站侧随机数和终端侧随机数;若终端接收到的此测距响应消息仅做了完整性保护,则终端对接收到的此测距响应消息用生成的消息完整性保护密钥进行消息完整性保护验证,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。
进一步,上述***还具有以下特点:
所述终端,还用于接收所述先进区域发送的测距响应消息,此测距响应消息中还携带基站侧随机数和终端侧随机数;若终端接收到的此测距响应消息同时做了加密和完整性保护,则终端对该消息用业务流加密密钥进行解密,验证该消息的完整性,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。
进一步,上述***还具有以下特点:
所述终端和所述先进基站,还用于计算高级终端标识的哈希值和授权密钥时使用的基站标识是所述先进基站的先进区域关联的基站标识。
进一步,上述***还具有以下特点:
所述先进基站,还用于在所述先进区域关联的基站标识与传统区域关联的标识不同时,在传统区域向所述终端发送携带越区切换信息的测距响应消息并且所述越区切换信息中包括所述先进区域关联的基站标识。
本发明使得终端和先进基站在不添加三次握手流程的情况下,利用现有的测距过程,即可以完成三次握手过程所执行的空口密钥更新功能,节省***开销,避免了添加三次握手过程所造成的切换的时延问题,提高更新效率。
附图说明
图1是实施例一中终端进行越区切换时空口密钥更新方法的流程图;
图2是实施例二中终端进行越区切换时空口密钥更新方法的流程图。
具体实施方式
本发明中无线通信***中越区切换时空口密钥更新的***包括终端和先进基站。
所述先进基站,用于在传统区域向终端发送携带基站侧随机数的测距响应消息,例如将基站侧随机数包含于所述测距响应消息的越区切换信息中;还用于在先进区域接收终端发送的携带终端侧随机数的测距请求消息后,根据所述基站侧随机数和所述终端侧随机数进行空口密钥的更新;还用于验证接收到的所述测距请求消息中携带的基站侧随机数是否与在所述测距响应消息中发送的一致,如果一致,则继续处理此消息;如果不一致,则忽略此消息。还用于用生成的消息完整性保护密钥验证所述测距请求消息的摘要,验证成功后,在向所述终端返回的测距响应消息中携带由所述先进基站生成的消息完整性保护密钥计算得出的此测距响应消息的摘要,或者用业务流加密密钥对该测距响应消息同时进行加密和完整性保护。
所述终端,用于接收到所述测距响应消息后,根据所述基站侧随机数和所述终端侧随机数进行空口密钥的更新;还用于向先进基站的先进区域发送携带终端侧随机数的测距请求消息;还用于在向所述目标先进基站的先进区域发送的测距请求消息中,携带基站侧随机数和/或用生成的消息完整性保护密钥计算得到的该消息的完整性保护摘要。还用于接收所述先进区域发送的测距响应消息,此测距响应消息中还携带基站侧随机数和终端侧随机数;一,若终端接收到的此测距响应消息仅做了完整性保护,则终端对接收到的此测距响应消息用生成的消息完整性保护密钥进行消息完整性保护验证,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。二,若终端接收到的此测距响应消息同时做了加密和完整性保护,则终端对该消息用业务流加密密钥进行解密,验证该消息的完整性,并验证接收到的基站侧随机数和终端侧随机数与所述终端向所述先进基站发送的基站侧随机数和终端侧随机数是否一致。
上述终端和目标先进基站用于根据根密钥主会话密钥、所述基站侧随机数、所述终端侧随机数,生成成对主密钥和/或高级终端标识的哈希值,并根据所述成对主密钥和/或所述高级终端标识的哈希值计算出授权密钥、消息完整性保护密钥和业务流加密密钥。
上述终端和目标先进基站用于计算高级终端标识的哈希值和授权密钥时使用的基站标识是所述先进基站的先进区域关联的基站标识。目标先进基站,还用于在所述先进区域关联的基站标识与传统区域关联的标识不同时,在传统区域向所述终端发送携带越区切换信息的测距响应消息并且所述越区切换信息中包括所述先进区域关联的基站标识。
实施例中的基站可对应于Wimax论坛网络工作组定义的接入服务网络ASN(包括基站和接入服务网络网关)。终端和目标先进基站的功能与下述方法中描述的功能相对应。
本发明中,终端向目标先进基站进行越区切换时,终端与目标先进基站通过测距过程获知对方侧随机数,并完成空口密钥的更新。在不添加三次握手流程的情况下,利用现有的测距过程,即可以完成三次握手过程所执行的空口密钥更新和验证功能,节省***开销,避免了添加三次握手过程所增加的切换的时延问题,提高更新效率。
实施例一:
如图1所示,是实施例一中无线通信***中越区切换时空口密钥更新的实现方法,该方法基于BBE(Break before Enter,即先断开与目标ABS的LZone的连接,再与目标ABS的MZone建立连接)方式的越区切换。具体包括如下步骤:
步骤101,当越区切换由终端发起时,终端向服务的YBS发送切换请求消息(MOB_MSHO-REQ),请求进行切换。
步骤102,当越区切换由基站发起时,或基站收到终端发送的切换请求消息后,服务YBS向终端发送切换响应消息(MOB_BSHO-RSP)。
步骤103,终端向服务YBS发送切换指示消息(MOB_HO-IND),确认要进行切换的目标先进基站标识。
步骤104,终端向目标先进基站的LZone发送测距请求消息(RNG-REQ)。
步骤105,目标先进基站生成基站侧随机数NONCE_ABS。
步骤106,目标先进基站决策发起越区切换,目标先进基站的LZone向终端发送测距响应消息(RNG-RSP),该消息携带越区切换信息,其中包括基站侧随机数NONCE_ABS。
先进区域关联的基站标识与传统区域关联的标识不同时,目标先进基站向终端发送携带越区切换信息的测距响应消息并且所述越区切换信息中包括所述先进区域关联的基站标识。
步骤107,终端生成终端侧随机数NONCE_AMS。
步骤108,终端根据根密钥MSK、基站侧随机数NONCE_ABS、终端侧随机数NONCE_AMS,生成16m***中定义的PMK和AMSID*,然后根据PMK和AMSID*计算出AK、CMAC KEYs和TEK。其中AMSID*的计算可以为:
AMSID*=Dot16KDF(AMSID,ABSID|NONCE_ABS,48)
或AMSID*=Dot16KDF(AMSID,ABSID |NONCE_AMS,48)
或AMSID*=Dot16KDF(AMSID,ABSID|NONCE_ABS|NONCE_AMS,48);
其中,计算AMSID*和AK时所使用的ABSID,是目标ABS的MZone的ABSID。若AMSID*的推导式中仅包含NONCE_ABS,则也可以在步骤106后生成AMSID*。
步骤109,终端与目标ABS的MZone建立同步。该步骤与步骤107或108不分时间先后顺序。
步骤110,终端向目标ABS的MZone发送测距请求消息(AAI_RNG-REQ),其中携带:基站侧随机数NONCE_ABS,终端侧随机数NONCE_AMS,以及由生成的CMAC KEY计算的该消息的摘要CMAC。
步骤111,目标先进基站验证接收到的NONCE_ABS是否与本目标先进基站向终端发送的NONCE_ABS一致。如果一致,则根据收到的NONCE_AMS,计算PMK和AMSID*。若AMSID*的生成随机数仅包括基站随机数NONCE_ABS,则AMSID*的计算也可以在步骤105后进行。目标先进基站然后根据PMK和AMSID*计算AK、CMAC KEYs和TEK。其中,计算AMSID*和AK时所使用的ABSID,是目标ABS的MZone的ABSID。如果不一致,则目标先进基站忽略该消息。对NONCE_ABS的验证也可以在步骤112中进行。
步骤112,目标先进基站用生成的CMAC KEYs对接收到的测距请求消息中的摘要CMAC进行验证,如果验证成功,则向终端发送测距响应消息(AAI_RNG-RSP),该消息携带参数:基站侧随机数NONCE_ABS,终端侧随机数NONCE_AMS。该消息既可以用CMAC KEYS做完整性保护(此时该消息携带由目标先进基站生成的CMAC KEYS计算的该消息的摘要CMAC),也可以用TEK对该消息进行加密和完整性保护。
步骤113,若终端接收到的测距响应消息仅做了完整性保护,则终端对接收到的测距响应消息用生成的消息完整性保护密钥进行CMAC验证,并验证随机数NONCE_ABS和NONCE_AMS与之前该终端向目标先进基站发送的是否一致。若接收到的测距响应消息同时做了加密和完整性保护,则终端对该消息用业务流加密密钥进行解密,并验证该消息的完整性,以及随机数NONCE_ABS与NONCE_AMS是否与之前该终端向目标先进基站发送的一致。若验证成功,则终端和目标ABS的MZone完成了三次握手功能,终端成功切换到了16m***的基站下,与MZone建立了数据通道连接。
实施例二
如图2所示,是实施例二中无线通信***中越区切换时空口密钥更新的实现方法。该方法基于EBB(Enter before Break,即在与目标ABS的MZone建立连接之前,先与目标ABS的LZone建立数据连接)方式的越区切换。具体包括以下步骤:
步骤201至步骤204同实施例一中的步骤101至步骤104;
步骤205,目标ABS的LZone向终端发送测距响应消息(RNG-RSP)。
步骤206,终端与目标ABS的LZone建立数据通道连接。
步骤207,目标先进基站决策发起越区切换,目标先进基站生成基站侧随机数NONCE_ABS。
步骤208,目标先进基站的LZone向终端发送测距响应消息(RNG-RSP),该消息携带越区切换信息,其中包括基站侧随机数NONCE_ABS。
先进区域关联的基站标识与传统区域关联的标识不同时,目标先进基站向终端发送携带越区切换信息的测距响应消息并且所述越区切换信息中包括所述先进区域关联的基站标识。
步骤209,终端与目标ABS的MZone建立同步。
步骤210,终端可以选择继续与LZone建立数据通道连接,也可以选择取消与LZone建立的数据通道连接。该步骤与步骤211和步骤212不分时间先后顺序。
步骤211至步骤212与实施例一中步骤107至步骤108相同;
步骤213至步骤216与实施例一中步骤110至步骤113相同。
以上所述仅为本发明的优选实施例而已。本发明方案并不限于IEEE802.16***,可以将它的相关模式应用于其它无线通信***中。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。