具体实施方式
为了针对承载分离(主要是控制面和用户面分离)的网络架构,在UE切换时实现密钥隔离,以保证UE通信安全,本发明实施例中,当UE更换接入基站(包括local eNB或是macro eNB)时,UE和基站引入新的参数(该参数可用于将基站与其它基站相区别),并结合同一个KeNB(KeNB为用于生成空口会话密钥的临时密钥)对不同的接入基站推导出不同的空口会话密钥,从而实现local eNB之间以及macro eNB和local eNB之间的密钥隔离。
图6为本发明实施例提供的用户切换过程中的密钥隔离流程的总体流程示意图,如图所示,该流程可包括:
步骤601,macro eNB根据UE发送的测量报告进行用户面承载切换判决,判决结果为将UE的用户面承载切换到目标local eNB。
步骤602,macro eNB根据用于将该目标local eNB区别于其它eNB的参数,以及macro eNB与该UE共享的临时密钥(临时密钥KeNB或下一跳密钥NH),生成目标local eNB与该UE通信时使用的密钥(即空口会话密钥)。
步骤603,macro eNB将步骤602中生成的空口会话密钥发送给该目标local eNB进行保存。具体实施时,macro eNB可通过用户面切换请求消息发送该空口会话密钥给该目标local eNB,也可通过本发明实施例新定义的消息发送该空口会话密钥给该目标local eNB。
步骤604,macro eNB将所述用于将目标local eNB区别于其它eNB的参数发送给该UE。具体实施时,macro eNB可通过用户面切换命令将该参数发送给该UE。
步骤605,该UE根据接收到的参数,以及该UE与该macro eNB共享的临时密钥,生成该UE与该目标local eNB通信时使用的密钥(即空口会话密钥)。
后续,UE与该目标local eNB进行通信时,即可使用与该local eNB之间的空口会话密钥对传输的数据进行加密处理。由于macro eNB在为目标local eNB生成空口会话密钥时,使用了该目标local eNB区别于其它eNB的参数,因此,能够保证macro eNB为不同的local eNB所生成的空口会话密钥各不相同,从而实现基站间的密钥隔离。
需要说明的是,以上流程适用于将UE的用户面承载从macro eNB切换到local eNB的过程,或者将UE的用户面承载从macro eNB覆盖范围内的一个local eNB切换到另一个local eNB的过程。
如果步骤601中macro eNB判决将UE的用户面承载从local eNB切换到macro eNB,则步骤602中macro eNB生成的空口密钥为本基站与该UE间的空口会话密钥,且无需发送给local eNB(即不执行步骤603),步骤604中UE生成的空口会话密钥将用于该UE与该macro eNB的通信过程。这种情况下,由于macro eNB在生成空口会话密钥时使用了用于将本基站区别于其它基站(macro eNB和local eNB)的参数,因此能够保证macro eNB所生成的空口会话密钥与为该macro eNB下的其它local eNB所生成的空口会话密钥,以及与其它macro eNB所生成的空口会话密钥各不相同,从而实现基站间的密钥隔离。
下面结合具体切换场景,对本发明实施例进行详细描述。
实施例一
本实施例描述了在承载分离的网络中,UE的部分或者全部用户面承载从macro eNB切换到local eNB时的切换流程。如图7所示,一种可能的用户切换流程包括如下步骤1~16:
1~2、macro eNB对UE进行测量配置,UE后继根据收到的测量配置信息执行测量;UE在macro eNB为UE分配的上行资源上,上报测量结果,该测量结果将用于辅助macro eNB进行用户面切换判决。
3、macro eNB进行用户面切换判决。若macro eNB决定将UE的用户面承载(或一部分用户面承载)转移到目标local eNB,则macro eNB生成随机数,利用KeNB或是最新的NH(如果有)、随机数以及加密算法计算出加密密钥。
4、macro eNB向目标local eNB发送用户面切换请求消息,该消息中除了包含切换准备相关信息以外,还包含macro eNB计算出的加密密钥。
macro eNB也可将生成加密密钥用的随机数通过一个单独的密钥通知过程(图7中未示出)发送给目标local eNB,而不是携带于用户面切换请求消息发送给目标local eNB。
5、目标local eNB参考该消息,根据待接纳的承载的QoS(Quality of Service,服务质量)信息进行接纳判决,并在允许接纳该UE的情况下,进行底层配置以准备切换。除此以外,目标local eNB还将该加密密钥配置到本地与该UE承载对应的PDCP实体,用于UE用户面承载转移成功后,目标local eNB和UE之间的承载数据的加密。
6、目标local eNB向macro eNB返回用户面切换请求响应消息,该消息中包含一个RRC容器(RRC container),具体内容是触发UE进行用户面承载切换的切换命令。
7、macro eNB在收到的用户面切换命令中添加步骤3中使用的随机数以及用于指示是否需要计算NH的参数NCC(Next-hop Chaining Counter,下一跳密钥链计数器)发送给UE。UE接收到用户面切换命令后,停止在macro eNB进行数据收发。
8、macro eNB将当前数据发送的序列号状态信息(如:未成功发送的下行数据包的序列号,目标local eNB可以分配的第一个序列号等)发送给目标local eNB。
9、UE收到用户面切换命令后,利用其中的随机数和自己保存的KeNB或NH(如果用户面切换命令中的NCC指示需要使用NH的话)以及加密算法计算出加密密钥(UE侧所使用的加密算法与macro eNB所使用的加密算法一致),将计算出的加密密钥配置到PDCP实体使用,然后向macro eNB返回切换完成消息。
由于UE的加密密钥改变了,所以UE还需要重建PDCP/RLC/MAC层。
通过以上流程实现了密钥隔离,以下流程为切换过程的常规流程,基本与现有技术中的切换流程类似,简述如下:
10、macro eNB向MME发起路径转换请求,携带local eNB为各UE EPS(Evolved Packet System,演进的分组系统)承载分配的用户面传输层地址和下行GTP(GPRS Tunnel Protocol,GPRS隧道协议)隧道标识。
11、MME请求SGW承载修改请求,将macro eNB发来的为各UE EPS承载分配的下行用户面传输层地址和GTP隧道标识通知SGW。
12、SGW进行路径转换,将该UE的下行数据传输路径转移到目标local eNB。
13、SGW向MME返回承载修改响应,携带SGW为各UE EPS承载分别分配的用户面传输层地址和上行GTP隧道标识。
14~15、MME向macro eNB返回路径转换请求响应,携带SGW为各UE EPS承载分别分配的上行用户面传输层地址和GTP隧道标识;macro eNB向目标local eNB返回路径转换请求响应。
16、目标local eNB向macro eNB发送终端上下文释放请求。
17、macro eNB释放为切换UE所分配的相关资源。
进一步的,在步骤9中,UE可通过切换完成消息,将从macro eNB接收到的随机数返回给该macro eNB。macro eNB可将该消息中携带的随机数与步骤3中所使用的随机数进行比较,若一致,则判决该随机数没有被篡改,若不一致,则认为该随机数被篡改。为了保证通信安全,若macro eNB发现该随机数已经被篡改,则可通知RRC层释放与该UE的RRC连接。
进一步的,当local eNB存在部分RRC功能时(图4所示架构),前面所述的随机数也被macro eNB和UE用来计算保护RRC消息的完整性保护密钥。所述完整性保护密钥由macro eNB发给目标local eNB。
进一步的,当macro eNB仅将部分用户面承载切换到目标local eNB,而将部分用户承载保留在macro eNB时,macro eNB和UE也可以重新计算macro eNB与UE间的空口会话密钥(包括加密密钥和RRC消息的完整性保护密钥)。macro eNB和UE可按照现有方式,也可以按照本发明实施例的上述方式生成空口会话密钥。如果按照现有方式生成空口会话密钥,则macro eNB和目标local eNB所使用的空口会话密钥不同,如果按照本发明实施例的上述方式生成空口会话密钥,则macro eNB和目标local eNB所使用的空口会话密钥相同。其中,所述现有方式为:利用KeNB或NH,并采用相应算法计算出加密密钥和RRC消息完整性保护密钥;所述本发明实施例的方式为:利用KeNB或NH、随机数,并采用相应算法计算出加密密钥和RRC消息完整性保护密钥。
上述流程中的随机数,可用其它能够唯一区分local eNB的信息代替,比如,全球基站标识,或是PCI(Physical Cell Identifier,物理层小区标识)+频率的组合,等等。
实施例二
本实施例描述了在承载分离的网络中,UE的全部用户面承载从local eNB切换到macro eNB时的切换流程。如图8所示,一种可能的用户切换流程包括如下步骤1~15:
1~2、macro eNB对UE进行测量配置,UE后继根据收到的测量配置信息执行测量;UE在macro eNB为UE分配的上行资源上,上报测量结果,该测量结果将用于辅助macro eNB进行用户面切换判决。
3、macro eNB进行用户面切换判决。若macro eNB决定将UE与local eNB保持的用户面承载转移到目标macro eNB,则macro eNB生成随机数,利用KeNB或是最新的NH(如果有)、随机数以及加密算法计算出加密密钥。macro eNB将该加密密钥配置到本地与该UE承载对应的PDCP实体,用于UE用户面切换完成后的macro eNB和UE之间的承载数据的加密。
4、macro eNB根据待接纳的承载的QoS信息进行接纳判决,并在允许接纳该UE的情况下,进行底层配置以准备切换。
5~6、macro eNB向该local eNB发送用户面传输中止消息,该local eNB根据该消息中止向该UE传输数据,并向macro eNB返回当前数据发送的序列号状态信息。
7、macro eNB向UE发送用户面切换命令,其中包含步骤3中使用的随机数以及用于指示是否需要计算NH的参数NCC。UE接收到用户面切换命令后,停止在源local eNB进行数据收发。
8、UE收到用户面切换命令后,利用其中的随机数和自己保存的KeNB或NH(如果用户面切换命令中的NCC指示需要计算NH的话)以及加密算法计算出加密密钥(UE侧所使用的加密算法与macro eNB所使用的加密算法一致),将计算出的加密密钥配置到PDCP实体使用,然后向macro eNB返回切换完成消息。
由于UE的加密密钥改变了,所以UE还需要重建PDCP/RLC/MAC层。
通过以上流程实现了密钥隔离,以下流程为切换过程的常规流程,基本与现有技术中的切换流程类似,简述如下:
9、macro eNB向MME发起路径转换请求,携带macro eNB为各UE EPS(Evolved Packet System,演进的分组系统)承载分配的下行用户面传输层地址和GTP隧道标识。
10、MME请求SGW承载修改请求,将macro eNB为各UE EPS承载分配的下行用户面传输层地址和GTP隧道标识通知SGW。
11、SGW进行路径转换,将该UE的下行数据传输路径转移到macro eNB。
12、SGW向MME返回承载修改响应,携带SGW为各UE EPS承载分别分配的上行用户面传输层地址和GTP隧道标识。
13、MME向macro eNB返回路径切换响应,携带SGW为各UE EPS承载分别分配的上行用户面传输层地址和GTP隧道标识;该消息中携带一个新的密钥NH和与之对应的计数器NCC。
14、macro eNB向源local eNB发送终端上下文释放请求。
15、源local eNB根据该请求释放为切换UE所分配的相关资源。
进一步的,在步骤8中,UE可通过切换完成消息,将从macro eNB接收到的随机数返回给该macro eNB。macro eNB可将该消息中携带的随机数与步骤3中所使用的随机数进行比较,若一致,则判决该随机数没有被篡改,若不一致,则认为该随机数被篡改。为了保证通信安全,若macro eNB发现该随机数已经被篡改,则可通知RRC层释放与该UE的RRC连接。
进一步的,当源local eNB在切换前存在部分RRC功能时(图4所示架构),macro eNB需要将这部分控制面承载切换到macro eNB上,并且前面所述的随机数也被macro eNB和UE用来计算保护RRC消息的完整性保护密钥。所述完整性保护密钥由macro eNB发给目标local eNB。
上述流程中的随机数,可用其它能够唯一区分local eNB的信息代替,比如,全球基站标识,或是PCI+频率的组合,等等。
实施例三
本实施例描述了在承载分离的网络中,UE的用户面承载从macro eNB下的一个local eNB切换到另一个local eNB时的切换流程,该流程与实施例一中UE从macro eNB切换到local eNB的流程类似,额外的过程是macro eNB需要通知源local eNB停止用户面数据转发,并删除与该UE相关的密钥。
需要说明的是,以上各实施例中,macro eNB在生成空口会话密钥时,由于目标eNB区别于其它eNB的信息(如macro eNB生成的随机数)以及用户和网络侧共享的临时密钥(KeNB或NH)是主要参数,因此上述各实施例以此为例进行说明,在具体实施时,还可以在此基础上引入其它参数参与空口会话密钥的计算。
基于相同的技术构思,本发明实施例还提供了一种应用于承载分离(主要是控制面和用户面分离)网络的宏基站设备。
参见图9,为本发明实施例提供的基站设备的结构示意图。如图所示,该基站设备可包括:切换判决模块901、密钥管理模块902、密钥生成模块903、第一发送模块905,进一步还可包括第二发送模块904,其中:
切换判决模块901,用于对用户设备进行用户面承载切换判决;
密钥管理模块902,用于在切换判决模块901判决对用户设备进行用户面承载切换时,向密钥生成模块903发送生成密钥的指示,并向第一发送模块905发送传输所述参数的指示;其中,所述参数为所述宏基站生成的随机数,或者为能够唯一区分所述目标本地基站的信息;
密钥生成模块903,用于按照密钥管理模块902的指示,根据用于将目标基站区别于其它基站的参数,以及所述宏基站与所述用户设备共享的临时密钥,生成所述目标基站与所述用户设备通信时使用的密钥;
第一发送模块905,用于根据密钥管理模块902的指示,将所述参数发送给所述用户设备,以使所述用户设备根据所述参数以及所述用户设备与所述宏基站共享的临时密钥,生成所述用户设备与所述目标基站通信时使用的密钥。
进一步的,密钥管理模块902还用于:若切换判决模块901判决将用户设备的用户面承载从所述宏基站切换到目标本地基站,或者判决将用户设备的用户面承载从当前所在的本地基站切换到目标本地基站,则向第二发送模块904发送传输密钥的指示。相应的,第二发送模块904,用于根据所述密钥管理模块的指示,将密钥生成模块903生成的密钥发送给所述目标本地基站。
进一步的,密钥管理模块902还用于:若切换判决模块901判决将用户设备的部分用户面承载从所述宏基站切换到目标本地基站,则指示密钥生成模块903根据用于将所述目标本地基站区别于其它基站的参数,以及所述宏基站与所述用户设备共享的临时密钥,生成所述宏基站与所述用户设备通信时使用的密钥。或者,密钥管理模块902还用于:若切换判决模块901判决将用户设备的部分用户面承载从所述宏基站切换到目标本地基站,则指示密钥生成模块903根据所述宏基站与所述用户设备共享的临时密钥,生成所述宏基站与所述用户设备通信时使用的密钥。
进一步的,切换判决模块901还用于进行控制面承载判决。相应的,密钥管理模块902具体用于:若切换判决模块901判决将所述用户设备的部分控制面承载从宏基站切换到目标本地基站,则指示密钥生成模块903生成加密密钥和完整性保护密钥;或者,密钥管理模块901具体用于:若切换判决模块901判决将用户设备的用户面承载从本地基站切换到宏基站,且在切换前,所述本地基站上存在所述用户设备的部分控制面承载,则指示密钥生成模块903生成加密密钥和完整性保护密钥。
具体的,第二发送模块904将生成的密钥携带于用户面切换请求消息或新定义的消息,发送给所述目标本地基站。
具体的,第一发送模块905将所述参数携带于用户面切换命令发送给所述用户设备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。