本发明涉及通信领域,特别涉及一种通信方法、网络侧设备、用户设备。
背景技术:
目前,随着移动通信技术的发展和使用移动数据业务的人数的增加,现有的宏蜂窝的负载越来越重,基站和核心网之间的S1接口的信令负载也越来越重,为了给用户提供更好的服务,3GPP(3rd Generation Partnership Project,第三代合作伙伴项目)正在研究SCE(small cell enhancement,小小区增强)课题,典型的SCE场景如图1所示。
在图1中,SCE分为三种场景:
场景1:MC(macro,宏基站)和SC(small cell,小小区)工作在相同的频率,并通过非理想backhaul(回程线路)相连接。SC指的是覆盖范围比较小,发射功率比较小的站点,例如HeNB(Home eNB,家庭基站)、pico(微基站)等。
场景2:MC和SC工作在不同的频率,并通过非理想backhaul相连接。
场景3:SC和SC工作在相同/不同的频率上,SC之间通过非理想backhaul相连接。场景3中没有MC。
其中,在场景1和场景2下,UE可以和MC/SC执行双连接。即MC可以和SC协同为UE(User Equipment,用户设备)提供服务,在协同分工时,MC提供广覆盖,承担和MME的接口,为UE提供移动性管理等控制面的业务,同时为UE提供部分数据业务传输。SC为UE提供额外的无线资源,承担用户数据业务的传输,但是不承担和MME的接口工作。
针对场景3,可以使用虚拟锚点技术。如图2所示,在这个场景下,增加了一个锚点,和SC协同为UE提供服务。锚点可以是SC,可以是高能力的SC,还可以是MC,也可以是其他的网络节点,此处不做限制。如此设计,工作在虚拟锚点模式下的UE就可以保持锚点不变,而只是随着UE的移动变换SeNB,也就是说UE和核心网交互的节点始终保持在锚点上,所以不需要做路径变更等需要S1接口信令参与的过程,因此可以达到降低S1接口信令负载的目的。
而无论UE是工作在双连接模式还是在虚拟锚点的模式,UE的连接点和现有技术相比都存在不同,以虚拟描点举例,在现有技术中,UE直接和为其提供服务的基站(即和MME/SGW相连的站点)进行连接。而在场景3下,增加了一个锚点,和SC协同为UE提供服务。那么UE在上面描述的两种模式下工作的时候,安全功能如何提供,密钥如何产生,是当前需要研究解决的问题。
而为了解决这一问题,现有技术提供了一种方式,请参看图3,以X2口切换为例进行描述。
进一步的,此处描述的是在UE和原有的网络侧设备进行通信的基础上,将网络侧设备切换到其他的通信节点时,如何产生密钥的过程。此时的网络侧设备以SeNB(source eNB,源基站)举例;其他通信节点使用TeNB(target eNB,目标基站)举例。
S301,UE发送NAS(Network Attached Storage,网络连接式存储)service request(服务需求)给SeNB。
S302,SeNB转发该需求给MME(Mobility Management Entity,移动管理实体)。
S303,MME根据该请求,产生Kasme以派生KeNB(用于生成密钥的参数),NH(Next hop,下一跳)然后,将KeNB和NH发送给SeNB。在同时执行S304,UE产生Kasme以派生KeNB。
S305,SeNB根据KeNB等计算Key,同时UE会根据KeNB和SeNB使用的安全算法等计算Key。
S306,然后使用Key在空口传输。
S307,SeNB准备切换UE到TeNB,根据根据T-PCI(target Physical Cell Identity,目标小区标识)和EARFCN-DL(E-UTRA Absolute Radio Frequency Channel Number-Down Link,目标E-UTRA下行载频号)、NH或KeNB产生一个KeNB*(用于生成密钥的参数)。
S308,SeNB会将携带KeNB*和NCC的切换请求传输给TeNB。
S309,TeNB会将KeNB*作为新的KeNB保存,并与NCC(Next hop Chaining Counter,下一跳计数器)关联。
S310,TeNB切换确认,并携带TeNB使用的安全算法传输给SeNB。
S311,SeNB将切换命令发送给UE。
S312,UE根据T-PCI和EARFCN-DL、NCC或KeNB等计算KeNB*和NH。
S313,UE根据KeNB*和TeNB使用的安全算法等计算新的Key。同时执行S314,TeNB根据KeNB*和TeNB使用的安全算法等计算新的Key。
S315,UE和TeNB使用新的Key传输,切换完成。
S316,TeNB向MME发出通道转换请求。
S317,计算新的NCC,以及新的NH。
S318,MME将响应消息发送给TeNB,响应消息携带新的NCC和新的NH。
S319,TeNB保存新的NCC和新的NH,以便下次切换备用。
在现有技术中,切换过程的安全密钥的派生遵循如下规则:
如果有可用的{NH,NCC},就采用垂直密钥派生法,即用NH派生KeNB*。
如果无可用的{NH,NCC},就采用水平密钥派生法,即用当前KeNB派生KeNB*。
图中通道转换请求及响应消息的作用有两个:一个是更换DL(Down Link,下行链路)GTP(GPRS Tunneling Protocol,通用数据传输平台)tunnel termination point(隧道终结点),另一个是更新安全上下文。
而在虚拟锚点的场景下,如果安全功能放在SeNB上,那么当SeNB发生变更的时候(例如将UE和SeNB的通信切换为UE和TeNB的通信),则会涉及到新的密钥如何派生的问题。在上面的S306~S314的过程中就涉及到了新的Key派生的问题。如果此时有可用的{NH,NCC},则会采用垂直密钥派生法,即用NH派生KeNB*。此时就涉及到TeNB和MME之间需要更新path switch(转换通道),而在图2中可以获知,TeNB和MME之间的切换是需要S1接口承载信令负载,因此,使用上面的方法增加了S1接口的信令负载。
综上所述,目前在双连接模式或者虚拟锚点模式下工作的时候,在派生新的密钥时,增加了S1接口的信令负载。
技术实现要素:
本发明实施例提供一种通信方法、网络侧设备、用户设备,用以解决现有技术中存在的在双连接模式或者虚拟锚点模式下工作的时候,在派生新的密钥时,增加了S1接口的信令负载的技术问题。
第一方面,提供了一种通信方法,所述方法包括:网络侧设备确定用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB;所述网络侧设备向所述用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由所述第二密钥参数KeNB*得到的密钥与所述用户设备进行通信;以及所述网络侧设备向所述用户设备发送配置命令,并通知所述用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据所述第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
结合第一方面,在第一种可能的实现方式中,所述用户设备工作在双连接模式下,所述当前的第一密钥参数为所述用户设备已连接的一基站当前正在使用的密钥参数。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述用户设备已连接的基站为所述用户设备工作在双连接模式下的主基站或第二基站。
结合第一种可能的实现方式和第二种可能的实现方式,在第三种可能的实现方式中,所述用户设备的SeNB需要发生变更具体为所述用户设备的SeNB需要发生更新。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式,在第四种可能得实现方式中,所述用户设备工作在锚点模式下,所述当前的第一密钥参数KeNB为所述用户设备已连接的虚拟锚点anchor或当前连接的SeNB当前正在使用的密钥参数KeNB。
结合第四种可能的实现方式,在第五种可能得实现方式中,所述用户设备的SeNB发生变更具体为:使用新接入的SeNB设备替换所述用户设备当前连接的SeNB。
结合第四种可能的实现方式和第五种可能的实现方式,在第六种可能的实现方式中,所述网络侧设备具体为所述anchor;网络侧设备确定用户设备的SeNB需要发生变更之后,还包括:所述anchor接收所述用户设备当前连接的SeNB发送的所述第一密钥参数KeNB;或生成所述第一密钥参数KeNB。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式、第四种可能的实现方式、在第五种可能得实现方式、第六种可能的实现方式,在第七种可能的实现方式中,所述配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
第二方面,提出一种通信方法,所述方法包括:用户设备接收网络侧设备发送的配置命令,其中,所述配置命令是所述网络侧设备在确定所述用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB后发送的;所述用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据所述第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
结合第二方面,在第一种可能的实现方式中,所述SeNB配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述配置命令具体为:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;所述用户设备与新接入的SeNB进行通信之前,还包括:所述用户设备终止与当前连接的SeNB之间的通信。
第三方面,提出一种网络侧设备,包括:处理器,用于确定用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB;所述处理器,还用于向所述用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由所述第二密钥参数KeNB*得到的密钥与所述用户设备进行通信;发射器,用于向所述用户设备发送配置命令,并通知所述用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据所述第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
结合第三方面,在第一种可能的实现方式中,所述用户设备工作在双连接模式下,所述当前的第一密钥参数KeNB为所述用户设备已连接的一基站当前正在使用的密钥参数。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述用户设备已连接的基站为所述用户设备工作在双连接模式下的主基站或第二基站。
结合第一种可能的实现方式和第二种可能的实现方式,在第三种可能的实现方式中,所述用户设备的SeNB需要发生变更具体为所述用户设备的SeNB需要发生更新。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式,在第四种可能得实现方式中,所述用户设备工作在锚点模式下,所述当前的第一密钥参数KeNB为所述用户设备已连接的虚拟锚点anchor或当前连接的SeNB当前正在使用的密钥参数KeNB。
结合第四种可能的实现方式,在第五种可能得实现方式中,所述用户设备的SeNB发生变更具体为:使用新接入的SeNB设备替换所述用户设备当前连接的SeNB。
结合第四种可能的实现方式和第五种可能的实现方式,在第六种可能的实现方式中,所述网络侧设备具体为所述anchor;所述网络侧设备还包括接收器,用于在所述处理器确定用户设备的SeNB需要发生变更之后,接收所述用户设备当前连接的SeNB发送的所述第一密钥参数KeNB;或生成所述第一密钥参数KeNB。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式、第四种可能的实现方式、在第五种可能得实现方式、第六种可能的实现方式,在第七种可能的实现方式中,所述配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
第四方面,提出一种网络侧设备,包括:处理单元,用于确定用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB;所述处理单元,还用于向所述用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由所述第二密钥参数KeNB*得到的密钥与所述用户设备进行通信;发射单元,用于向所述用户设备发送配置命令,并通知所述用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据所述第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
结合第三方面,在第一种可能的实现方式中,所述用户设备工作在双连接模式下,所述当前的第一密钥参数KeNB为所述用户设备已连接的一基站当前正在使用的密钥参数。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述用户设备已连接的基站为所述用户设备工作在双连接模式下的主基站或第二基站。
结合第一种可能的实现方式和第二种可能的实现方式,在第三种可能的实现方式中,所述用户设备的SeNB需要发生变更具体为所述用户设备的SeNB需要发生更新。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式,在第四种可能得实现方式中,所述用户设备工作在锚点模式下,所述当前的第一密钥参数KeNB为所述用户设备已连接的虚拟锚点anchor或当前连接的SeNB当前正在使用的密钥参数KeNB。
结合第四种可能的实现方式,在第五种可能得实现方式中,所述用户设备的SeNB发生变更具体为:使用新接入的SeNB设备替换所述用户设备当前连接的SeNB。
结合第四种可能的实现方式和第五种可能的实现方式,在第六种可能的实现方式中,所述网络侧设备具体为所述anchor;所述网络侧设备还包括接收单元,用于在所述处理器确定用户设备的SeNB需要发生变更之后,接收所述用户设备当前连接的SeNB发送的所述第一密钥参数KeNB;或生成所述第一密钥参数KeNB。
结合第一方面、第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式、第四种可能的实现方式、在第五种可能得实现方式、第六种可能的实现方式,在第七种可能的实现方式中,所述配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
第五方面,提出一种用户设备,包括:接收器,用于接收网络侧设备发送的配置命令,其中,所述配置命令是所述网络侧设备在确定所述用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB后发送的;处理器,用于所述用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据所述第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
结合第五方面,在第一种可能的实现方式中,所述SeNB配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述配置命令具体为:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;所述处理器还用于在新接入的SeNB进行通信之前,终止与当前连接的SeNB之间的通信。
第六方面,提出一种用户设备,包括:接收单元,用于接收网络侧设备发送的配置命令,其中,所述配置命令是所述网络侧设备在确定所述用户设备的SeNB需要发生变更或需要为所述用户设备新增加SeNB后发送的;处理单元,用于所述用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据所述第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
结合第六方面,在第一种可能的实现方式中,所述SeNB配置命令至少包括如下一种信息:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;指示所述用户设备新增加SeNB的命令;指示所述用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;指示所述用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;指示所述用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述配置命令具体为:指示所述用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;所述处理单元还用于在新接入的SeNB进行通信之前,终止与当前连接的SeNB之间的通信。
上述技术方案中的一个或多个技术方案,具有如下技术效果或优点:
在本申请实施例中,在用户设备的SeNB发生变更或为所述用户设备新增加SeNB时,通过使用网络侧设备的第一密钥参数生成第二密钥参数,使新连接的SeNB根据由所述第二密钥参数得到的密钥与所述用户设备进行通信。以网络侧设备的第一密钥参数为基础派生密钥,就不会使用到NH派生密钥,进而在新接入的SeNB和MME之间就不会进行通道转换来获得新的NH,进而能够降低S1接口的信令负载。
附图说明
图1为背景技术中典型的SCE场景的示意图;
图2为背景技术中在SCE场景下增加虚拟锚点的示意图;
图3为背景技术中现有技术的通信连接方式流程图图;
图4为本申请实施例中本申请实施例中的连接方法流程图;
图5为本申请实施例中双链接模式下连接方法的过程图;
图6为本申请实施例中虚拟锚点模式下建立虚拟锚点的过程图;
图7为本申请实施例中虚拟锚点模式下切换虚拟锚点的过程图;
图8为本申请实施例中网络侧设备的示意图;
图9为本申请实施例中网络侧设备的另一个示意图;
图10为本申请实施例中基于用户设备侧的连接方法的流程图;
图11为本申请实施例中用户设备的示意图;
图12为本申请实施例中用户设备的另一示意图。
具体实施方式
为了解决现有技术中存在的在双连接模式或者虚拟锚点模式下工作的时候,UE和网络侧设备如何派生新的密钥更有利于降低S1接口的信令负载的技术问题,本发明实施例提出了一种通信方法、网络侧设备、用户设备,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例和实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
实施例一:
在本申请实施例中,提供了一种通信方法。
具体的,请参看图4,本申请实施例中的连接方法的具体实施过程如下所示。
S401,网络侧设备确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB。
S402,网络侧设备向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
S403,网络侧设备向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,在不同的模式下,网络侧设备为不同的设备,例如在双链接模式下,网络侧设备可以为MeNB(master eNB,主基站),SeNB(secondary eNB,第二基站),虚拟锚点模式下,网络侧设备可以为anchor eNB(锚点)。而此处的MeNB和背景技术中的源基站不是同一基站,只是名称相同而已,本发明实施例中后续描述的SeNB也和背景技术中的源基站不是同一基站。另外,网络侧设备还可以根据连接方法的实施过程的不同而不同。例如,在用户设备与MeNB通信的基础上,新增加SeNB时,网络侧设备可以为MeNB。当用户设备的SeNB发生更新时,网络侧设备可以为当前连接的SeNB。另外,网络侧设备还可以为虚拟锚点,而当使用新SeNB设备替换用户设备当前连接的SeNB时,网络侧设备可以为用户设备当前连接的SeNB等。而这几种情况将在下面的实施例中一一进行详细的介绍。
进一步的,用户设备处于双链接模式和用户设备处于虚拟锚点模式,这两种情况下,第一密钥参数的来源是不一样的。
当用户设备工作在双连接模式下,当前的第一密钥参数KeNB为用户设备已连接的一基站当前正在使用的第一密钥参数KeNB。例如,当SeNB为新增加时,UE当前只和MeNB通信时,MeNB就是与用户设备连接的基站,即主基站。而第一密钥参数KeNB就是MeNB当前正在使用的第一密钥参数KeNB。当SeNB为变更时,UE当前和两个站点进行通信,即MeNB和原有SeNB,此时MeNB就是主基站,而原有SeNB就是第二基站。而第一密钥参数KeNB可以是MeNB使用的密钥参数KeNB,也可以是原有SeNB使用的密钥参数KeNB。
当用户设备工作在锚点模式下,用户设备的SeNB发生变更是使用新SeNB设备替换用户设备当前连接的SeNB,如果SeNB的密钥参数由当前的SeNB指派,则当前的第一密钥参数KeNB为用户设备当前连接的SeNB当前正在使用的密钥参数KeNB。如果SeNB的密钥参数由anchor eNB指派,则当前的第一密钥参数KeNB为用户设备的anchor eNB当前正在使用的密钥参数KeNB。
下面具体介绍这两种模式下,上述实施例的具体实施方式。
在双链接模式下:
当UE工作在双链接模式下,UE会先和MeNB建立数据通信,此时的MeNB就是主基站,并且可以将MeNB看作是网络侧设备。
具体的实施过程如下:
首先,MeNB会确定为用户设备新增加SeNB。
在具体的实施过程中,新增加的SeNB就是用户设备新连接的SeNB。而当前的第一密钥参数KeNB则是用户设备已连接的MeNB当前正在使用的密钥参数。
其次,MeNB会向用户设备新增加的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新增加的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
再次,MeNB还会向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新增加的SeNB进行通信。
而此时的配置命令至少包括以下一种信息:
“指示用户设备新增加SeNB的命令”;或
“指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备新增加SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新增加的SeNB进行通信。
以上是UE和MeNB建立数据通信的基础上,UE新增加SeNB的通信过程。下面的过程是在新增加了SeNB之后,用户设备的SeNB需要发生变更的过程。
此时的变更的含义是为用户设备的SeNB发生更新。即使用新接入的SeNB设备替换当前连接的SeNB。而当前连接的SeNB就是前面描述的“新增加的SeNB”。此时,用户设备已连接的基站就有两个,即MeNB当前连接的SeNB。此时MeNB是主基站,而当前连接的SeNB就是第二基站。而更为具体的,在上面列举的情况,是只有一个SeNB和UE连接的情况。另外,本申请实施例中还有多个SeNB和UE连接的情况,那么此时这多个SeNB就可以认为是第二基站。
此时,用户设备的SeNB发生更新之前,就可以使用当前连接的SeNB使用的KeNB作为生成新接入的SeNB使用的KeNB*的参数,此时的网络侧设备就是当前连接的SeNB。除此之外,还可以使用MeNB使用的KeNB作为生成新接入的SeNB使用的KeNB*的参数,此时的网络侧设备就是MeNB。
下面首先描述在双链接模式下,以一个SeNB和UE连接的情况为例,描述“网络侧设备是当前连接的SeNB”这一情况的实施过程。
此时这一个SeNB即为UE当前连接的SeNB。
进一步的,此时的网络侧设备就是当前连接的SeNB。
那么本申请中的连接方法的具体实施过程则如下所示。
首先,当前连接的SeNB确定其需要发生更新。
在具体的实施过程中,当前的第一密钥参数KeNB即是当前连接的SeNB当前正在使用的密钥参数。而从UE新增加SeNB的通信过程中可以看出,此时的第一密钥参数KeNB属于当前连接的SeNB,实际上是上面过程中描述的第二密钥参数KeNB*,和MeNB的第一密钥参数KeNB不是同一个密钥参数,两者仅是名称相同而已。
其次,当前连接的SeNB会向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,用户设备新连接的SeNB即是当前连接的SeNB需要更新时,新接入的SeNB。
再次,当前连接的SeNB会向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令至少包括以下一种信息:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或
“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新接入的SeNB进行通信。
下面介绍描述在双链接模式下,“网络侧设备是MeNB”这一情况的实施过程。
首先,MeNB确定当前连接的SeNB需要发生更新。
在具体的实施过程中,当前的第一密钥参数KeNB是MeNB当前正在使用的密钥参数。
其次,MeNB向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信;以及
在具体的实施过程中,用户设备新连接的SeNB即是当前连接的SeNB需要更新时,新接入的SeNB。
而此时的第二密钥参数KeNB实际上是新接入的SeNB的使用的密钥参数,和当前接入的SeNB使用的密钥参数不是同一个密钥参数。
再次,MeNB向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令是至少包括以下一种信息:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或
“指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新接入的SeNB进行通信。
以上则是本申请实例中,双链接模式下连接方法的具体实施过程。
下面请参看图5,为用户设备工作在双链接模式下,连接方法的完整的实施方式的示意图。
图5中的实施过程具体为双链接模式下UE与MeNB以及与新增加的SeNB的建立通信的实施过程。此时,UE会先和MeNB建立数据通信,而在此通信基础上,会再新增加SeNB,并进一步和SeNB建立数据通信。而此时的MeNB就是网络侧设备。而在用户新增加SeNB时,会根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,此时的第一密钥参数KeNB为用户设备已连接的MeNB当前正在使用的第一密钥参数KeNB,如在UE和MeNB通信时,MeNB就是与用户设备连接的基站,而第一密钥参数KeNB就是MeNB当前正在使用的第一密钥参数KeNB。
首先,UE按照原有流程接入到MeNB,并产生第一密钥,和MeNB正常传输数据。
此时的原有流程具体是:
A1,UE发送NAS service request给MeNB。
A2,MeNB转发该需求给MME。
A3,MME根据该请求,产生Kasme以派生KeNB(第一密钥参数),NH然后,将KeNB和NH发送给SeNB。在同时执行A4,UE产生Kasme以派生KeNB。
A5,MeNB根据KeNB等计算Key1,同时UE会根据KeNB和MeNB使用的安全算法等计算Key1(即第一密钥)。
A6,然后使用Key1加密数据并在空口传输数据。
S501,MeNB为UE增加双连接节点SeNB,使用KeNB产生KeNB*(第二密钥参数)。
此时,MeNB为UE增加双连接节点SeNB,无论MeNB当前是否有{NH,NCC},MeNB都根据SeNB的PCI和EARFCN-DL,KeNB产生KeNB*。即使用水平秘钥派生法产生第二密钥参数KeNB*。
S502,MeNB向SeNB发送双连接请求,并携带KeNB*。
S503,SeNB保存KeNB*。
S504,SeNB向MeNB发送双连接确认消息。
此消息中携带SeNB使用的安全算法。
S505,SeNB根据KeNB*和安全算法等计算Key*(第二密钥)。
S506,MeNB向UE发送建立双连接的命令。
S507,UE根据MeNB发送的建立双连接命令,产生KeNB*,并计算Key*。
具体的,UE根据MeNB在双连接命令中携带的明确的指示信息或者根据MeNB的双连接命令间接判断需要根据SeNB的PCI和EARFCN-DL,KeNB产生一个新的KeNB*,并根据KeNB*和SeNB使用的安全算法等计算Key*。此时UE如果有{NH,NCC},则{NH,NCC}保持不变。
需要说明的是,MeNB在双连接命令中携带的明确的指示信息具体是指MeNB在双连接的命令中携带指示使用MeNB当前的KeNB生成SeNB的KeNB*,根据MeNB的双连接命令间接判断是指在双连接命令消息中并没有明确的指示,UE需要根据双连接命令获知MeNB为UE增加一个SeNB为UE提供服务,所以使用MeNB当前的KeNB生成SeNB的KeNB*。
S508,UE在和SeNB通信中,使用key*进行加密和完整性保护。
UE在和MeNB的通信中,仍然使用Key进行加密和完整性保护。SeNB不需要向MME发送path switch过程。
进一步的,此时的SeNB可以变更,此时的变更的含义就是将当前连接的SeNB切换为其他的通信节点,例如将当前连接的SeNB更新为新接入的SeNB。此时,为了便于区分,将当前连接的SeNB作为第一SeNB,新接入的SeNB作为第二SeNB。而此时将第一SeNB更新为第二SeNB时,可以使用第一SeNB使用的KeNB*生成第二SeNB使用的KeNB**,或者可以使用MeNB使用的KeNB生成第二SeNB使用的KeNB**。而当MeNB发生变更的时候,仍然采用现有技术中的规则。例如若将MeNB更新为MeNB*,那么,如果有可用的{NH,NCC},就采用垂直密钥派生法,即用NH派生MeNB*的KeNB***;如果无可用的{NH,NCC},就采用水平密钥派生法,即用当前KeNB派生KeNB***。
上述过程,是为UE建立双链接节点的具体实施过程。即,在UE和MeNB通信的基础上,为UE建立一个新的通信节点SeNB,并建立新的密钥实现通信的过程。
虚拟锚点模式下:
在本申请实施例中,虚拟锚点是具有多种选择的。例如,虚拟锚点可以选择为SeNB,MeNB或高能力的SeNB,还可以是其他类型的网络节点等等。
而在接入虚拟锚点时,在UE和锚点之间也会先生成密钥,进而通过密钥建立通信。
而在建立此通信之前,UE和SeNB已经具有通信关系。此时当前连接的SeNB就是网络侧设备。此时的虚拟锚点若以高能力的SeNB进行举例时,此时的虚拟锚点会作为UE的anchor eNB。
那么接入虚拟锚点的具体实施方式则如下所示。
首先,当前连接的SeNB确定其需要为用户设备新增加SeNB。
在具体的实施过程中,此时的新增加的SeNB就是高能力的SeNB,并作为了UE的anchor eNB,因此,新增加SeNB的含义就是接入虚拟锚点anchor eNB。
而当前的第一密钥参数KeNB就是当前连接的SeNB当前正在使用的密钥参数KeNB。
其次,当前连接的SeNB向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,“用户设备新连接的SeNB”就是新增加的anchor eNB。
再次,当前连接的SeNB向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令是至少包括以下一种信息:
“指示用户设备新增加SeNB的命令”;或
“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备新增加SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新增加的anchor eNB进行通信。
另外,在接入虚拟锚点时,SeNB还可以使用NH的方式生成第二密钥参数KeNB*。
以上是在UE和SeNB进行通信的基础上,接入虚拟锚点的具体实施过程。
进一步的,此时当前连接的SeNB可以进行变更,此时的变更的含义是使用新接入的SeNB设备替换用户设备当前连接的SeNB。
此时当前连接的SeNB就是网络侧设备。
具体的实施过程如下:
首先,当前连接的SeNB确定用户设备的SeNB需要发生变更。
在具体的实施过程中,此时变更的含义是使用新接入的SeNB设备替换用户设备当前连接的SeNB。
而当前的第一密钥参数KeNB就是当前连接的SeNB当前正在使用的密钥参数KeNB。
其次,当前连接的SeNB向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,“用户设备新连接的SeNB”就是在当前连接的SeNB变更时,新接入的SeNB。
再次,当前连接的SeNB向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令是至少包括以下一种信息:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或
“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新接入的SeNB进行通信。
下面,描述在接入了虚拟锚点之后具体的实施过程。
此时的接入的虚拟锚点anchor eNB可以是初始接入的SeNB。而此过程是在虚拟锚点anchor eNB和UE通信的基础上,为UE切换到SeNB的过程,即相当于增加SeNB的实施过程。而此时的虚拟锚点仍然保留在原有的SeNB上。
具体如下所示:
首先,anchor eNB确定需要为用户设备新增加SeNB。
在具体的实施过程中,此时的网络侧设备就是虚拟锚点anchor eNB。而当前的第一密钥参数KeNB为用户设备已连接的虚拟锚点anchor eNB当前正在使用的密钥参数KeNB。而此时的第一密钥参数KeNB实际上是上述过程中,在当前连接的SeNB在接入虚拟锚点时生成的第二密钥参数KeNB,因此,它和上面描述的当前连接的SeNB使用的第一密钥参数KeNB是不同的,仅是名称相同而已。
而新增加的SeNB就是新连接的SeNB。
其次,anchor eNB向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,此时“用户设备新连接的SeNB”就是新增加的SeNB。
再次,anchor eNB向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令是至少包括以下一种信息:
“指示用户设备新增加SeNB的命令”;或
“指示用户设备使用当前连接的anchor eNB的KeNB生成新增加的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备新增加SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新增加的SeNB进行通信。
以上是UE和anchor eNB建立数据通信的基础上,UE新增加SeNB的通信过程。下面的过程是在新增加了SeNB之后,用户设备新增加的SeNB需要发生变更的过程。
此时的变更的含义是使用新接入的SeNB设备替换用户设备当前连接的SeNB。而当前连接的SeNB就是前面描述的“新增加的SeNB”。此时,用户设备已连接的基站就有两个,一个是anchor eNB,另外一个是新增加的SeNB。
此时,用户设备的SeNB发生更新之前,就可以使用当前连接的SeNB使用的KeNB作为生成新接入的SeNB使用的KeNB*的参数,此时的网络侧设备就是当前连接的SeNB。除此之外,还可以使用anchor eNB使用的KeNB作为生成新接入的SeNB使用的KeNB*的参数,此时的网络侧设备就是anchor eNB。
首先描述“网络侧设备是当前连接的SeNB”这一情况的实施过程。
那么本申请中的连接方法的具体实施过程则如下所示。
首先,当前连接的SeNB确定其需要发生变更。
在具体的实施过程中,当前的第一密钥参数KeNB即是当前连接的SeNB当前正在使用的密钥参数。而从UE新增加SeNB的通信过程中可以看出,此时的第一密钥参数KeNB属于当前连接的SeNB,实际上是上面过程中描述的第二密钥参数KeNB*,和anchor eNB的第一密钥参数KeNB不是同一个密钥参数,两者仅是名称相同而已。
其次,当前连接的SeNB会向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,用户设备新连接的SeNB即是当前连接的SeNB需要更新时,新接入的SeNB。
再次,当前连接的SeNB会向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令至少包括以下一种信息:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或
“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新接入的SeNB进行通信。
首先描述“网络侧设备是当前连接的anchor eNB”这一情况的实施过程。
首先,anchor eNB确定当前连接的SeNB需要发生变更。
在具体的实施过程中,当前的第一密钥参数KeNB是anchor eNB当前正在使用的密钥参数。此第一密钥参数可以是anchor接收用户设备当前连接的SeNB发送的第一密钥参数KeNB;也可以是自身生成的第一密钥参数KeNB。
而变更的具体含义就是使用新接入的SeNB设备替换用户设备当前连接的SeNB。
其次,anchor eNB向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
在具体的实施过程中,用户设备新连接的SeNB即是当前连接的SeNB需要变更时,新接入的SeNB。
而此时的第二密钥参数KeNB实际上是新接入的SeNB的使用的密钥参数,和当前接入的SeNB使用的密钥参数不是同一个密钥参数。
再次,anchor eNB向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
在具体的实施过程中,此时的配置命令是至少包括以下一种信息:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或
“指示用户设备使用anchor eNB(此时的anchor eNB实际上就是初始接入的SeNB)的KeNB生成新接入的SeNB的KeNB*的命令”。
若配置命令为“指示用户设备使用anchor eNB的KeNB生成新接入的SeNB的KeNB*的命令”,那么就可以直接告知用户设备,以便其根据该命令执行。若配置命令为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”,那么用户设备会解析该命令,然后自主执行“根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*”这一过程,然后和新接入的SeNB进行通信。
下面将通过更加详细的解释,具体介绍在锚点模式下的通信连接过程。
在本申请实施例中,锚点是具有多种选择的。例如,虚拟锚点可以选择为SeNB,MeNB或高能力的SeNB,还可以是其他类型的网络节点等等。
而在接入锚点时,在UE和锚点之间也会先生成密钥,进而通过密钥建立通信,具体的过程请参看图6。
图6具体描述了UE和虚拟锚点之间建立通信的过程。
而在建立此通信之前,UE和SeNB已经具有通信关系。此时的SeNB就可以被认为是网络侧设备。
此时的虚拟锚点若以MeNB或高能力的SeNB进行举例时,此时的虚拟锚点会作为UE的anchor eNB。
下面请参看具体的流程。
首先,UE按照正常的流程接入到SeNB,按照原有流程产生安全使用的密钥,并和SeNB正常传输数据。
此时的原有流程和上述实施例中的A1-A6的过程类似,只是网络侧设备由MeNB变成了SeNB,在此不再赘述。
S601,当SeNB准备为UE增加anchor eNB的时候,SeNB根据NH或第一密钥参数KeNB产生第二密钥参数KeNB*。
具体的,当SeNB为UE建立虚拟锚点anchor eNB的时候,根据anchor eNB的PCI和EARFCN-DL,NH或第一密钥参数KeNB产生KeNB*。
S602,SeNB向anchor eNB发送anchor eNB建立请求,并携带KeNB*和NCC。
S603,anchor eNB将KeNB*作为anchor eNB的KeNB保存,并与NCC关联。
S604,Anchor eNB向SeNB发送虚拟锚点建立确认消息,消息中携带anchor eNB使用的安全算法。同时执行S605,anchor eNB根据KeNB*和安全算法等计算Key*。
S606,SeNB向UE发送建立anchor eNB的命令,携带锚点信息。
具体的,此时的锚点信息存储于SeNB中。
S607,UE根据SeNB发送的建立anchor eNB的命令,建立anchor eNB,并向SeNB发送anchor eNB建立完成消息。
具体的,UE根据SeNB的PCI和EARFCN-DL,KeNB或NH产生一个新的KeNB*,并根据KeNB*和SeNB使用的安全算法等计算Key*。
S608,SeNB将anchor eNB建立完成指示发送给anchor eNB,anchor eNB执行path switch过程。
S609,UE在和SeNB通信中,使用anchor eNB的key进行加密和完整性保护。
以上则是建立虚拟锚点的过程,而当虚拟锚点使用其他的通信节点时,其过程和上述过程类似,本申请实施例不再具体描述。
以上描述的建立虚拟锚点的过程是基于由虚拟锚点承担安全功能的情况,如果虚拟锚点不承担UE的安全功能,而是由SeNB承担UE的安全功能,则UE和SeNB仍然保留原有的安全参数,在UE和SeNB通信中,仍然使用原有的SeNB的key进行加密和完整性保护。
而进一步的,当虚拟锚点建立好之后,此时的虚拟锚点则可以被当做网络侧设备和UE进行通信。而UE在通信的过程中,一般情况下,除了与虚拟锚点连接进行通信之外,还同时和其他通信节点具有通信关系,进一步的,还可以更新通信节点。例如,UE在和anchor eNB建立通信之后,可以为UE更新SeNB即可以将原来和UE通信的SeNB切换为其他通信节点。
假设此时和UE通信的SeNB为第一SeNB,需要将第一SeNB切换为第二SeNB。因此,在生成切换时需要的密钥的过程中,有两种方法,一是使用第一SeNB使用的KeNB生成第二SeNB使用的KeNB*的参数,二是使用anchor eNB使用的KeNB生成第二SeNB使用的KeNB*的参数。而当anchor eNB发生变更的时候,因此其仍然采用现有技术中的规则,即:如果有可用的{NH,NCC},就采用垂直密钥派生法,即用NH派生KeNB*;如果无可用的{NH,NCC},就采用水平密钥派生法,即用当前KeNB派生KeNB*。
另外,若UE初始接入的SeNB作为虚拟锚点anchor eNB,那么当UE移动到另一个SeNB时,anchor eNB将UE切换到SeNB,同时保留原有anchor eNB,相当于为UE新增加SeNB时,使用水平密钥派生法,即用当前KeNB派生KeNB*。具体的实施过程如下所示。具体请参看图7。
首先,UE按照原有流程初始接入到SeNB,同时该SeNB就作为UE的虚拟锚点anchor eNB,按照原有流程产生安全使用的密钥,并和anchor eNB正常传输数据。
具体的,原有流程的实施过程在前面的实施例中都有说明,本发明在此不再赘述。
S701,当anchor eNB准备让UE切换到SeNB的时候,anchor eNB根据第一密钥参数KeNB产生KeNB*。
具体的,此时的网络侧设备具体为anchor eNB,而在切换之前,网络侧设备会根据当前anchor eNB使用的第一密钥参数KeNB生成SeNB使用的第二密钥参数KeNB*。然后,网络侧设备将生成的第二密钥参数KeNB*发送给用户设备需要接入的SeNB。
此时,无论anchor eNB当前是否有{NH,NCC},anchor eNB都根据SeNB的PCI和EARFCN-DL,KeNB产生KeNB*。
S702,anchor eNB向SeNB发送切换请求,并携带KeNB*,同时携带UE的虚拟锚点仍然保留在anchor eNB。
S703,SeNB将KeNB*作为SeNB的KeNB保存。
S704,SeNB向anchor eNB发送切换确认消息,消息中携带SeNB使用的安全算法。同时,执行S705,SeNB根据KeNB*和安全算法等计算新的Key。
S706,anchor eNB向UE发送切换命令,可选的,可以同时携带保留虚拟锚点在anchor eNB的信息。
S707,UE根据anchor eNB发送的切换命令,根据KeNB*和SeNB使用的安全算法等计算Key*。
具体的,UE可以根据anchor eNB发送的配置命令确定虚拟锚点将保留在anchor eNB,然后UE根据SeNB的PCI和EARFCN-DL,KeNB产生一个新的KeNB*,并根据KeNB*和SeNB使用的安全算法等计算Key*。
S708,UE在和SeNB通信中,使用key*进行加密和完整性保护。
进一步的,此时的SeNB可以变更,此时的变更的含义就是将SeNB切换为其他的通信节点,例如将SeNB更新为另一个新的SeNB。此时,为了便于区分,将原来的SeNB作为第一SeNB,更新的SeNB作为第二SeNB。而此时将第一SeNB更新为第二SeNB时,可以使用第一SeNB使用的KeNB*生成第二SeNB使用的KeNB**,或者可以使用anchor eNB使用的KeNB生成第二SeNB使用的KeNB**。此时即相当于anchor eNB接收用户设备已连接的SeNB发送的第一密钥参数,或anchor eNB生成第一密钥参数。然后将生成的第一密钥参数发送给用户设备需要接入的SeNB,作为其密钥参数。而当anchor eNB发生变更的时候,由于虚拟锚点信息仍旧保存在原来的原来的anchor eNB中,因此,在更新为新的anchor eNB时,仍然采用现有技术中的规则。例如若将anchor eNB更新为anchor eNB*,那么,如果有可用的{NH,NCC},就采用垂直密钥派生法,即用NH派生anchor eNB的KeNB***;如果无可用的{NH,NCC},就采用水平密钥派生法,即用当前KeNB派生KeNB***。
基于统一发明构思,下面的实施例中介绍该方法对应的网络侧设备。
实施例二:
在本申请实施例中,公开了一种网络侧设备。
其中,如图8所示,该网络侧设备包括:
处理器801,用于确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB;
处理器801,还用于向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
发射器802,用于向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
进一步的,用户设备工作在双连接模式下,当前的第一密钥参数为用户设备已连接的一基站当前正在使用的密钥参数。
进一步的,用户设备已连接的基站为用户设备工作在双连接模式下的主基站或第二基站。
进一步的,用户设备的SeNB需要发生变更具体为用户设备的SeNB需要发生更新。
进一步的,用户设备工作在锚点模式下,当前的第一密钥参数KeNB为用户设备已连接的虚拟锚点anchor或当前连接的SeNB当前正在使用的密钥参数KeNB。
进一步的,用户设备的SeNB发生变更具体为:
使用新接入的SeNB设备替换用户设备当前连接的SeNB。
进一步的,网络侧设备具体为anchor;
网络侧设备还包括接收器,用于在处理器确定用户设备的SeNB需要发生变更之后,接收用户设备当前连接的SeNB发送的第一密钥参数KeNB;或生成第一密钥参数KeNB。
进一步的,配置命令至少包括如下一种信息:
指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
指示用户设备新增加SeNB的命令;
指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;
指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;
指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
实施例三:
基于统一发明构思,本申请实施例中包括了一种网络侧设备。
具体请参看图9,具体包括:
处理单元901,用于用于确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB;
处理单元901,还用于向用户设备新连接的SeNB发送由当前的第一密钥参数KeNB生成的第二密钥参数KeNB*,以使新连接的SeNB根据由第二密钥参数KeNB*得到的密钥与用户设备进行通信。
发送单元902,用于向用户设备发送配置命令,并通知用户设备根据当前的第一密钥参数KeNB生成第二密钥参数KeNB*,根据第二密钥参数KeNB*得到的密钥与新连接的SeNB进行通信。
进一步的,用户设备工作在双连接模式下,当前的第一密钥参数KeNB为用户设备已连接的一基站当前正在使用的密钥参数。
进一步的,用户设备已连接的基站为用户设备工作在双连接模式下的主基站或第二基站。
进一步的,用户设备的SeNB需要发生变更具体为用户设备的SeNB需要发生更新。
进一步的,用户设备工作在锚点模式下,当前的第一密钥参数KeNB为用户设备已连接的虚拟锚点anchor或当前连接的SeNB当前正在使用的密钥参数KeNB。
进一步的,用户设备的SeNB发生变更具体为:使用新接入的SeNB设备替换用户设备当前连接的SeNB。
进一步的,网络侧设备具体为anchor;
网络侧设备还包括接收单元,用于在处理单元确定用户设备的SeNB需要发生变更之后,接收用户设备当前连接的SeNB发送的第一密钥参数KeNB;或生成第一密钥参数KeNB。
进一步的,配置命令至少包括如下一种信息:
指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
指示用户设备新增加SeNB的命令;
指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;
指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;
指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
实施例四:
在本申请实施例中,描述了一种通信方法,和上面实施例一中的方法对应。
具体的,此处的连接方法是从用户设备侧进行描述,具体请参看图10。
S1001,用户设备接收网络侧设备发送的配置命令。
其中,配置命令是网络侧设备在确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB后发送的。
具体的,SeNB配置命令至少包括如下一种信息:
指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
指示用户设备新增加SeNB的命令;
指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;
指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;
指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
进一步的,当配置命令具体为“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”时,在用户设备与新接入的SeNB进行通信之前,还包括以下步骤:用户设备终止与当前连接的SeNB之间的通信。
另外,根据网络侧设备的不同,用户设备接收到的配置命令也会不一样。
例如,若网络侧设备为MeNB并且MeNB会确定为用户设备新增加SeNB时,此时MeNB则会发送以下配置命令的至少一种:
“指示用户设备新增加SeNB的命令”;或
“指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令”。
若UE和MeNB建立数据通信的基础上,UE新增加了SeNB之后,用户设备的SeNB需要发生变更时,此时的网络测设备为SeNB。
此时SeNB会发送以下配置命令的至少一种:
“指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令”;或“指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令”。
具体的配置命令由网络侧设备控制发送。
而当网络侧设备为其他通信节点时,发送的配置命令在实施例一中已经有明确的记载,在此本申请不再赘述。
S1002,用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
基于同一发明构思,下面的实施例具体描述该连接方法对应的用户设备。
实施例五:
在本申请实施例中,描述了一种用户设备。
具体的,请参看图11,该用户设备具体包括:
接收器110,用于接收网络侧设备发送的配置命令,其中,配置命令是网络侧设备在确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB后发送的;
处理器111,用于用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
进一步的,SeNB配置命令至少包括如下一种信息:
指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
指示用户设备新增加SeNB的命令;
指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;
指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;
指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
进一步的,配置命令具体为:指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
处理器111还用于在新接入的SeNB进行通信之前,终止与当前连接的SeNB之间的通信。
实施例六:
在本申请实施例中,描述了一种用户设备。
具体的,请参看图12,该用户设备具体包括:
接收单元120,用于接收网络侧设备发送的配置命令,其中,配置命令是网络侧设备在确定用户设备的SeNB需要发生变更或需要为用户设备新增加SeNB后发送的;
处理单元121,用于用户设备根据当前使用的第一密钥参数KeNB生成第二密钥参数KeNB*,并根据第二密钥参数KeNB*计算得到密钥与新连接的SeNB进行通信。
进一步的,SeNB配置命令至少包括如下一种信息:
指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
指示用户设备新增加SeNB的命令;
指示用户设备使用MeNB的KeNB生成新增加的SeNB的KeNB*的命令;
指示用户设备使用MeNB的KeNB生成新接入的SeNB的KeNB*的命令;
指示用户设备使用当前连接的SeNB的KeNB生成新接入的SeNB的KeNB*的命令。
进一步的,配置命令具体为:指示用户设备将新接入的SeNB设备替换当前连接的SeNB的命令;
处理单元121还用于在新接入的SeNB进行通信之前,终止与当前连接的SeNB之间的通信。
通过本发明的一个或多个实施例,可以实现如下技术效果:
在本申请实施例中,在用户设备的SeNB发生变更或为用户设备新增加SeNB时,通过使用网络侧设备的第一密钥参数生成第二密钥参数,使新连接的SeNB根据由第二密钥参数得到的密钥与用户设备进行通信。以网络侧设备的第一密钥参数为基础派生密钥,那么新接入的SeNB和MME之间就不会进行通道转换,进而能够降低S1接口的信令负载。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器,CD-ROM,光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器801以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器801执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。