一种请求恢复连接的方法及装置转让专利

申请号 : CN201910164020.5

文献号 : CN109803259B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡力李秉肇陈璟耿婷婷

申请人 : 华为技术有限公司

摘要 :

本申请提供一种请求恢复连接的方法及装置。该方法包括:终端根据新鲜性参数和所述终端的完整性保护密钥,生成消息认证码,其中,相邻两次生成消息认证码所使用的新鲜性参数不同;所述终端向目标基站发送连接恢复请求消息,所述连接恢复请求消息包括所述消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接。由于终端每次生成的消息认证码与上次生成的消息认证码不同,因此,即使攻击者窃取到终端上次所使用的消息认证码,由于使用的“过期的”消息认证码,因此,攻击者将无法攻击成功。

权利要求 :

1.一种请求恢复连接的方法,其特征在于,所述方法包括:终端生成新的接入层密钥;

所述终端向目标基站发送连接恢复请求消息,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接;

所述终端接收来自所述目标基站的连接恢复拒绝消息,所述连接恢复拒绝消息用于指示拒绝所述终端恢复所述RRC连接;

所述终端将自身的接入层密钥恢复为之前的接入层密钥;其中,所述之前的接入层密钥为所述终端进入不活跃态之前,所述终端和自身所连接的基站所使用接入层密钥。

2.根据权利要求1所述的方法,其特征在于,在所述终端向目标基站发送连接恢复请求消息之前,所述方法还包括:所述终端根据所述新的接入层密钥,生成新的完整性保护密钥;

根据所述新的完整性保护密钥和完整性保护算法,生成消息认证码;

其中,所述连接恢复请求消息中还包括所述消息认证码。

3.根据权利要求1或2所述的方法,其特征在于,所述终端将自身的接入层密钥恢复为之前的接入层密钥,包括:所述终端删除所述新的接入层密钥;

所述终端将所述之前的接入层密钥作为自身当前的接入层密钥。

4.根据权利要求1或2所述的方法,其特征在于,所述终端将自身的接入层密钥恢复为之前的接入层密钥,包括:所述终端将之前的安全上下文设置为当前安全上下文,所述之前的安全上下文包含所述之前的接入层密钥。

5.一种终端,其特征在于,包括:接收单元、发送单元和处理单元;

所述处理单元,用于生成新的接入层密钥;

所述发送单元,用于向目标基站发送连接恢复请求消息,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接;

所述接收单元,用于接收来自所述目标基站的连接恢复拒绝消息,所述连接恢复拒绝消息用于指示拒绝所述终端恢复所述RRC连接;

所述处理单元,还用于将自身的接入层密钥恢复为之前的接入层密钥;其中,所述之前的接入层密钥为所述终端进入不活跃态之前,所述终端和自身所连接的基站所使用接入层密钥。

6.如权利要求5所述的终端,其特征在于,所述处理单元,还用于根据所述新的接入层密钥,生成新的完整性保护密钥;根据所述新的完整性保护密钥和完整性保护算法,生成消息认证码;

其中,所述连接恢复请求消息中还包括所述消息认证码。

7.根据权利要求5或6所述的终端,其特征在于,所述处理单元,具体用于删除所述新的接入层密钥,并将所述之前的接入层密钥作为自身当前的接入层密钥。

8.如权利要求5或6所述的终端,其特征在于,所述处理单元,具体用于将之前的安全上下文设置为当前安全上下文,所述之前的安全上下文包含所述之前的接入层密钥。

9.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行所述权利要求1-4中任意一项所述的方法。

10.一种通信装置,其特征在于,包括:存储器以及与该存储器耦合的处理器;

所述存储器中保存有程序指令,当所述处理器执行所述程序指令时,使得所述装置执行上述权利要求1-4任一所述的方法。

11.如权利要求10所述的通信装置,其特征在于,所述装置为终端或者终端内的芯片。

说明书 :

一种请求恢复连接的方法及装置

技术领域

[0001] 本申请涉及移动通信技术领域,尤其涉及一种请求恢复连接的方法及装置。

背景技术

[0002] 在长期演进(long term evolution,LTE)中,挂起和恢复流程可用于窄带-物联网(narrowband internet of things,NB-IoT)的终端,即移动性较低或耗电低的物联网设备,如智能水表。
[0003] 当基站以挂起的方式通知终端释放当前连接时,终端和基站会删除部分接入层的上下文,以及还会保留部分接入层的上下文,如接入层密钥,终端的安全能力,当前选择的安全算法等。然后终端从连接态进入不活跃态。当终端希望恢复与基站的连接时,可以快速地从不活跃态恢复到连接态。
[0004] 第五代(5th generation,5G)系统及未来的通信系统中,可以扩展上述服务流程,将挂起和恢复流程应用到增强移动带宽(enhanced mobile broadband,eMBB)的终端,如智能手机。
[0005] 由于终端的移动性较高,因而终端所接入的基站可能发生改变。进一步地,基站在服务终端时,会考虑负载均衡的场景。例如,当终端请求从不活跃态恢复到连接态时,若终端当前想要接入的基站的负载较重,则该基站将会拒绝该终端的接入,即拒绝该终端的连接恢复请求,并通知该终端休息一段时间后再尝试连接。
[0006] 在上述场景下,由于终端在第一次请求恢复连接被拒绝后,终端所发送的认证信息有可能被攻击者获取到,然后攻击者利用获取到的认证信息,向该基站请求建立连接,进而可能造成攻击。
[0007] 因此,在上述场景下,如何有效抵御攻击者的攻击,是亟需解决的问题。

发明内容

[0008] 本申请提供一种请求恢复连接的方法及装置,用以有效抵御攻击者的攻击。
[0009] 第一方面,本申请提供一种请求恢复连接的方法,包括:终端根据新鲜性参数和所述终端的完整性保护密钥,生成消息认证码,其中,相邻两次生成消息认证码所使用的新鲜性参数不同;所述终端向目标基站发送连接恢复请求消息,所述连接恢复请求消息包括所述消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接。
[0010] 由于终端每次生成的消息认证码与上次生成的消息认证码不同,因此,即使攻击者窃取到终端上次所使用的消息认证码,由于使用的“过期的”消息认证码,因此,攻击者将无法攻击成功。
[0011] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述终端尝试恢复所述RRC连接时被拒绝的次数。在一种可能的实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数。
[0012] 在一个示例中,所述新鲜性参数包括分组数据汇聚协议计数PDCP COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0013] 在一种可能的实现方式中,所述终端接收来自所述目标基站的连接恢复响应消息,所述连接恢复响应消息用于指示所述终端恢复所述RRC连接。
[0014] 第二方面,本申请提供一种请求恢复连接的方法,包括:目标基站接收来自终端的连接恢复请求消息,所述连接恢复请求消息包括消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接,所述消息认证码是根据所述终端的完整性保护密钥生成的;所述目标基站若拒绝恢复所述RRC连接,则向源基站发送通知消息,所述通知消息包括所述消息认证码。
[0015] 其中,通知消息具有以下功能中的一个或多个:
[0016] 通知消息用于通知更新所述源基站中的所述终端的上下文;
[0017] 通知消息用于通知所述目标基站将拒绝所述终端恢复连接;
[0018] 通知消息用于通知更新所述源基站中的所述终端的上下文的所述新鲜性参数;
[0019] 通知消息用于通知更新所述源基站中的所述终端的上下文的密钥。
[0020] 上述方法,当目标基站拒绝恢复RRC连接时,还通知源基站更新终端的上下文,从而可以保持终端与源基站之间的上下文一致,有助于降低终端从不活跃态进入连接态的失败概率。
[0021] 在一种可能的实现方式中,所述通知消息通知更新的所述终端的上下文包括接入层密钥。
[0022] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述终端尝试恢复所述RRC连接时被拒绝的次数。
[0023] 在一种可能的实现方式中,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,所述通知消息通知更新的所述终端的上下文包括所述新鲜性参数,其中,相邻两次生成消息认证码所使用的新鲜性参数不同。
[0024] 在这种实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述通知消息还包括所述指示参数。在一个示例中,所述新鲜性参数包括PDCP COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0025] 第三方面,本申请提供一种请求恢复连接的方法,包括:目标基站接收来自终端的连接恢复请求消息,所述连接恢复请求消息包括消息认证码,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,其中,相邻两次生成消息认证码所使用的新鲜性参数不同,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接;所述目标基站若恢复所述RRC连接,则向源基站发送上下文请求消息,所述上下文请求消息包括所述消息认证码,所述上下文请求消息用于请求获取所述终端的上下文。
[0026] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述终端尝试恢复所述RRC连接时被拒绝的次数。
[0027] 在一种可能的实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述上下文请求消息还包括所述指示参数。
[0028] 在一个示例中,所述新鲜性参数包括分组数据汇聚协议PDCP计数COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0029] 第四方面,本申请提供一种请求恢复连接的方法,包括:源基站接收来自目标基站的通知消息,所述通知消息包括消息认证码所述消息认证码是根据所述终端的完整性保护密钥生成的;
[0030] 所述源基站根据所述源基站的完整性保护密钥,校验所述消息认证码;
[0031] 所述源基站若校验所述消息认证码正确,则更新所述源基站中的所述终端的上下文。
[0032] 上述方法,当目标基站拒绝恢复RRC连接时,还通知源基站更新终端的上下文,从而源基站更新终端的上下文,可使得源基站保持与终端的上下文一致,有助于降低终端从不活跃态进入连接态的失败概率。
[0033] 其中,通知消息具有以下功能中的一个或多个:
[0034] 通知消息用于通知更新所述源基站中的所述终端的上下文;
[0035] 通知消息用于通知所述目标基站将拒绝所述终端恢复连接;
[0036] 通知消息用于通知更新所述源基站中的所述终端的上下文的所述新鲜性参数;
[0037] 通知消息用于通知更新所述源基站中的所述终端的上下文的密钥。
[0038] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述终端尝试恢复所述RRC连接时被拒绝的次数。
[0039] 在一个示例中,所述源基站更新所述源基站中的所述终端的上下文,包括:所述源基站将所述终端的上下文的拒绝次数加1。
[0040] 在一种可能的实现方式中,所述源基站更新所述源基站中的所述终端的上下文,包括:所述源基站更新所述终端的上下文中的接入层密钥。
[0041] 在一种可能的实现方式中,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,其中,相邻两次生成消息认证码所使用的新鲜性参数不同;所述源基站根据所述源基站的完整性保护密钥,校验所述消息认证码,包括:所述源基站根据所述新鲜性参数和所述源基站的完整性保护密钥,校验所述消息认证码。
[0042] 在一种可能的实现方式中,所述通知消息还包括指示参数,所述指示参数用于指示所述新鲜性参数。
[0043] 在一个示例中,所述新鲜性参数包括分组数据汇聚协议计数PDCP COUNT,所述源基站更新所述源基站中的所述终端的上下文,包括:若所述PDCP COUNT的数值大于所述终端的上下文中的PDCP COUNT的数值,则所述源基站将所述终端的上下文中的PDCP COUNT的数值更新为所述指示参数指示的PDCP COUNT的数值。
[0044] 第五方面,本申请提供一种请求恢复连接的方法,包括:源基站接收来自目标基站的上下文请求消息,所述上下文请求消息包括消息认证码,所述消息认证码是根据所述新鲜性参数和所述终端的完整性保护密钥生成的,其中,相邻两次生成消息认证码所使用的新鲜性参数不同,所述上下文请求消息用于请求获取所述终端的上下文;所述源基站根据所述新鲜性参数和所述源基站的完整性保护密钥,校验所述消息认证码;所述源基站若校验所述消息认证码正确,则更新所述终端的上下文中的新鲜性参数,以及向所述目标基站发送上下文响应消息,所述上下文响应消息包括所述终端的上下文。
[0045] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述终端尝试恢复所述RRC连接时被拒绝的次数;所述源基站根据更新所述源基站中的所述终端的上下文,包括:所述源基站将所述终端的上下文中的拒绝次数重置为零。
[0046] 在一种可能的实现方式中,所述上下文请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述新鲜性参数包括PDCP COUNT;所述源基站更新所述源基站中的所述终端的上下文,包括:若所述PDCP COUNT的数值大于所述终端的上下文中的PDCP COUNT的数值,则所述源基站将所述终端的上下文中的PDCP COUNT的数值更新为所述指示参数指示的PDCP COUNT的数值。
[0047] 在一个示例中,所述指示参数包括所述PDCP COUNT的部分比特位;所述源基站根据所述指示参数,确定所述指示参数指示的所述PDCP COUNT。
[0048] 第六方面,本申请提供一种装置,该装置可以是终端,也可以是终端内的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0049] 在一种可能的设计中,当该装置为终端时,终端包括:发送单元和处理单元,可选地,还包括接收单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,终端还包括存储单元,该存储单元例如可以是存储器。当终端包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该终端执行上述第一方面任意一项的请求恢复连接的方法。
[0050] 在另一种可能的设计中,当该装置为终端内的芯片时,芯片包括:发送单元和处理单元,可选地,还包括接收单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第一方面任意一项的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)等。
[0051] 其中,上述任一处提到的处理器,可以是一个通用的中央处理器(Central Processing  Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述第一方面任意一项的请求恢复连接的方法的程序执行的集成电路。
[0052] 第七方面,本申请提供一种装置,该装置可以是目标基站,也可以是目标基站内的芯片。该装置具有实现上述第二方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0053] 在一种可能的设计中,当该装置为目标基站时,基站包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,基站还包括存储单元,该存储单元例如可以是存储器。当基站包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该基站执行上述第二方面任意一项的请求恢复连接的方法。
[0054] 在另一种可能的设计中,当该装置为目标基站内的芯片时,芯片包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第二方面任意一项的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM等。
[0055] 其中,上述任一处提到的处理器,可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述第二方面任意一项的请求恢复连接的方法的程序执行的集成电路。
[0056] 第八方面,本申请提供一种装置,该装置可以是目标基站,也可以是目标基站内的芯片。该装置具有实现上述第三方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0057] 在一种可能的设计中,当该装置为目标基站时,基站包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,基站还包括存储单元,该存储单元例如可以是存储器。当基站包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该基站执行上述第三方面任意一项的请求恢复连接的方法。
[0058] 在另一种可能的设计中,当该装置为目标基站内的芯片时,芯片包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第三方面任意一项的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM等。
[0059] 其中,上述任一处提到的处理器,可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述第三方面任意一项的请求恢复连接的方法的程序执行的集成电路。
[0060] 第九方面,本申请提供一种装置,该装置可以是源基站,也可以是源基站内的芯片。该装置具有实现上述第四方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0061] 在一种可能的设计中,当该装置为源基站时,基站包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,基站还包括存储单元,该存储单元例如可以是存储器。当基站包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该基站执行上述第四方面任意一项的请求恢复连接的方法。
[0062] 在另一种可能的设计中,当该装置为源基站内的芯片时,芯片包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第四方面任意一项的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM等。
[0063] 其中,上述任一处提到的处理器,可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述第四方面任意一项的请求恢复连接的方法的程序执行的集成电路。
[0064] 第十方面,本申请提供一种装置,该装置可以是源基站,也可以是源基站内的芯片。该装置具有实现上述第五方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0065] 在一种可能的设计中,当该装置为源基站时,基站包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,基站还包括存储单元,该存储单元例如可以是存储器。当基站包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该基站执行上述第五方面任意一项的请求恢复连接的方法。
[0066] 在另一种可能的设计中,当该装置为源基站内的芯片时,芯片包括:接收单元和发送单元,可选地,还包括处理单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第五方面任意一项的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM等。
[0067] 其中,上述任一处提到的处理器,可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述第五方面任意一项的请求恢复连接的方法的程序执行的集成电路。
[0068] 第十一方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0069] 第十二方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0070] 第十三方面,本申请提供一种通信系统,所述系统包括第六方面所述的装置、第七方面所述的装置和第九方面所述的装置,或者,所述系统包括第六方面所述的装置、第七方面所述的装置和第十方面所述的装置,或者,所述系统包括第六方面所述的装置、第八方面所述的装置和第九方面所述的装置,所述系统包括第六方面所述的装置、第八方面所述的装置和第十方面所述的装置。
[0071] 第十四方面,本申请还提供一种请求恢复连接的方法,包括:终端更新接入层密钥,得到更新后的接入层密钥;终端根据更新后的接入层密钥,生成更新后的完整性保护密钥;终端根据更新后的完整性保护密钥,生成消息认证码;终端向目标基站发送连接恢复请求消息,所述连接恢复请求消息包括所述消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接;终端接收来自所述目标基站的连接恢复拒绝消息,所述连接恢复拒绝消息用于指示拒绝所述终端恢复所述RRC连接;终端将所述终端的接入层密钥恢复为更新前的接入层密钥。
[0072] 由于在目标基站拒绝终端的连接恢复请求的场景中,终端已经更新了接入层密钥,为了保持终端与源基站之间的密钥一致,可以采用由终端回退密钥的方式,将终端的接入层密钥恢复为更新前的接入层密钥。因而,也可以达到使得终端与源基站之间始终保持密钥相同的目的,进而也可以有效解决终端与源基站之间的密钥不同步所带来的终端无法恢复连接的问题。
[0073] 第十五方面,本申请提供一种装置,该装置可以是终端,也可以是终端内的芯片。该装置具有实现上述第十四方面的实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0074] 在一种可能的设计中,当该装置为终端时,终端包括:发送单元、接收单元和处理单元。处理单元例如可以是处理器,接收单元例如可以是接收器,发送单元,例如可以是发送器。接收器和发送器包括射频电路。可选地,终端还包括存储单元,该存储单元例如可以是存储器。当终端包括存储单元时,该存储单元存储有计算机执行指令,处理单元与存储单元连接,处理单元执行存储单元存储的计算机执行指令,以使该终端执行上述第十四方面的请求恢复连接的方法。
[0075] 在另一种可能的设计中,当该装置为终端内的芯片时,芯片包括:发送单元、接收单元和处理单元。处理单元例如可以是处理电路,接收单元例如可以是输入接口、管脚或电路等,发送单元例如可以是输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第十四方面的请求恢复连接的方法被执行。可选地,存储单元可以是芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM等。
[0076] 其中,上述任一处提到的处理器,可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述第十四方面的请求恢复连接的方法的程序执行的集成电路。
[0077] 本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

[0078] 图1为本申请提供的一种可能的网络架构示意图;
[0079] 图2为本申请提供的终端从连接态进入不活跃态的过程示意图;
[0080] 图3为本申请提供的一种请求恢复连接的方法流程图;
[0081] 图4为本申请提供的另一种请求恢复连接的方法流程图;
[0082] 图5为本申请提供的另一种请求恢复连接的方法流程图;
[0083] 图6为本申请提供的另一种请求恢复连接的方法流程图;
[0084] 图7为本申请提供的另一种请求恢复连接的方法流程图;
[0085] 图8为本申请提供的一种装置示意图;
[0086] 图9为本申请提供的另一种装置示意图;
[0087] 图10为本申请提供的另一种装置示意图;
[0088] 图11为本申请提供的另一种装置示意图。

具体实施方式

[0089] 下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0090] 需要说明的是,本申请的请求恢复连接的方法可由装置执行。其中,该装置可以包括网络侧的装置和/或终端侧的装置。在网络侧,该装置可以是基站或基站内的芯片,即可以由基站或基站内的芯片执行本申请的请求恢复连接的方法;在终端侧,该装置可以是终端或终端内的芯片,即可以由终端或终端内的芯片执行本申请的请求恢复连接的方法。
[0091] 为方便说明,本申请,以装置为基站或终端为例,对请求恢复连接的方法进行说明,对于装置为基站内的芯片或终端内的芯片的实现方法,可参考基站或终端的请求恢复连接的方法的具体说明,不再重复介绍。
[0092] 如图1所示,为本申请的一种可能的网络架构示意图。包括终端、源基站和目标基站。终端通过无线接口与源基站、目标基站进行通信。源基站与目标基站之间可以通过有线连接进行通信,如通过X2接口,Xn接口进行通信,或者还可以通过空口的方式进行通信。
[0093] 本申请中,由于终端的移动等原因,终端可能从源基站移动到目标基站。源基站是终端在先接入的基站,目标基站是终端移动后,在后接入的基站。
[0094] 其中,终端是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
[0095] 基站,是一种为终端提供无线通信功能的设备,包括但不限于:5G中的下一代基站(g nodeB,gNB)、演进型节点B(evolved node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved nodeB,或home node B,HNB)、基带单元(BaseBand Unit,BBU)、传输点(transmitting and receiving point,TRP)、发射点(transmitting point,TP)、移动交换中心等。
[0096] 本申请,终端一般情况下,具有三种状态,即连接(connected)态,空闲(idle)态和不活跃(inactive)态。
[0097] 其中,当终端处于连接态时,终端处于正常工作的状态。网络侧与终端之间可以发送和接收用户数据。
[0098] 当终端从连接态进入空闲态时,终端和基站一般会删除终端的全部的接入层(access stratum,AS)上下文。在一种特别的情况下,在4G中,当网络侧以挂起原因释放终端的连接时,终端也会从连接态进入空闲态,但此时,终端和基站会删除部分AS上下文,以及保留部分AS上下文,例如可以保留接入层密钥(4G中可以称为KeNB),终端的安全能力,终端和终端接入的源基站之间通信的安全算法(包括完整性保护算法和加密算法)。其中,终端的安全能力指的是终端支持的安全算法,包括支持的加密算法和支持的完整性保护算法。此时,终端所处于的特殊的空闲态可以称为挂起态。
[0099] 在5G中,引入了不活跃态,当终端从连接态进入不活跃态时,基站将挂起终端,此时,终端和基站删除部分AS上下文,以及保留部分AS上下文,例如可以保留接入层密钥(5G中可以称为KgNB),终端的安全能力,终端和终端接入的源基站之间通信的安全算法(包括完整性保护算法和加密算法)。其中,终端的安全能力指的是终端支持的安全算法,包括支持的加密算法和支持的完整性保护算法。
[0100] 为方便说明,后续统一将4G中定义的挂起态和5G中定义的不活跃态,称为不活跃态。当终端处于不活跃态时,终端和终端进入不活跃态之前所连接的基站都会保存部分的AS上下文,具体内容参见前述描述。
[0101] 当终端处于不活跃态时,由于终端上保留了部分AS上下文,因此相较于终端从空闲态进入连接态,终端从不活跃态进入连接态会更加快速。
[0102] 另外,考虑到终端的移动性,当终端从不活跃态恢复到连接态时,终端可能需要更换基站。即,终端先与源基站建立连接,然后由于某些原因,例如网络侧通知等,终端在源基站进入不活跃态。当终端希望恢复到连接态时,若终端已经移动至目标基站的覆盖范围,则终端将在目标基站从不活跃态恢复到连接态。
[0103] 当然,本申请同样也适用终端从不活跃态恢复到连接态时,接入的目标基站与源基站相同的场景,即终端接入的基站也可以不发生改变,仍然是同一个基站。
[0104] 下面介绍终端从连接态进入不活跃态的过程。
[0105] 如图2所示,为本申请提供的终端从连接态进入不活跃态的过程示意图,包括以下步骤:
[0106] 步骤201、基站决定挂起终端的无线资源控制(radio resource control,RRC)连接。
[0107] 例如,当基站一段时间内未接收到终端发送的数据时,则决定将终端挂起。
[0108] 步骤202、基站向终端发送挂起消息。
[0109] 挂起消息用于通知终端释放RRC连接,并进入不活跃态。挂起消息例如可以是具有特殊指示的RRC连接释放消息。
[0110] 在具体实现中,挂起消息可以携带以下参数:恢复标识。可选地,挂起消息还可以携带下一跳链计数器(next hop chaining counter,NCC)等。
[0111] 恢复标识是终端后续从不活跃态进入连接态时所需要的参数,恢复标识可以包括源基站的标识、终端的标识等信息,具体地,恢复标识可以是ResumeID,不活跃态-小区无线网络临时标识(INACTIVE-cell radio network temporary identifier,I-RNTI)。
[0112] NCC是可选参数,NCC也可以是终端后续从不活跃态进入连接态时所需要的参数。如果挂起消息中携带NCC,则后续终端和基站所使用的接入层密钥将会发生更新。NCC是生成新的接入层密钥所需要的参数,即NCC可用于生成新的接入层密钥(本申请用KgNB*表示新的接入层密钥)。如果挂起消息中不携带NCC,则后续终端和基站所使用的接入层密钥将不发生更新,即始终保持不变。
[0113] 可选地,挂起消息还可以携带原因参数releaseCause,releaseCause用于通知终端执行挂起操作并进入不活跃态。例如可以将releaseCause置为“RRC Suspend”或“RRC Inactive”。当终端获取到releaseCause参数时,确定releaseCause的值为“RRC Suspend”或“RRC Inactive”时,则执行终端挂起的相关操作。
[0114] 可选地,基站还可以通知核心网的控制面网元释放承载,例如释放信令无线承载(signaling radio bearer,SRB)、数据无线承载(data radio bearer,DRB)。
[0115] 步骤203、终端进入不活跃态。
[0116] 终端保存删除部分AS上下文,以及保留部分AS上下文。保留的部分AS上下文包括接入层密钥,终端的安全能力,终端和终端接入的源基站之间通信的完整性保护算法和加密算法等。
[0117] 终端还保存基站发送的恢复标识,可选地,终端还保存NCC等参数。
[0118] 终端挂起承载,例如,挂起信令无线承载、数据无线承载,然后进入不活跃态。
[0119] 从上述终端从连接态进入不活跃态的过程可看出,终端进入不活跃态之后,终端上保存有部分AS上下文和从基站接收的参数,因而,后续当终端希望从不活跃态恢复到连接态时,这些参数将有助于终端实现快速从不活跃态恢复到连接态。
[0120] 需要说明的是,上述终端接入的基站,也可以称为终端接入的源基站。当终端请求恢复连接时,终端所请求接入的基站可能是源基站,也可能是其它的基站,可以称为目标基站。
[0121] 下面介绍几种引入了基站拒绝场景的请求恢复连接的方法。即终端请求从不活跃态恢复到连接态,并且,终端是在目标基站下请求从不活跃态恢复到连接态。
[0122] 其中,目标基站和源基站可以是不同的基站,也可以是相同的基站。下面以目标基站和源基站是不同的基站为例进行说明。针对目标基站和源基站是相同的基站的情形,只需要将源基站和目标基站之间的交互操作省略即可。
[0123] 如图3所示,为本申请提供的一种请求恢复连接的方法,该方法包括以下步骤:
[0124] 步骤301、终端生成消息认证码(message authentication code,MAC)。
[0125] 消息认证码用于认证终端的合法性。具体实现中,消息认证码至少有以下两种生成方式:
[0126] 方式一、根据终端的完整性保护算法和终端的完整性保护密钥,生成消息认证码,其中,该完整性保护密钥与上一次恢复所使用的完整性保护密钥相同。
[0127] 该方式一中,终端每次生成消息认证码时所使用的完整性保护密钥与上一次恢复所使用的完整性保护密钥相同,相应地,源基站中保存的终端的完整性保护密钥也是与上一次恢复所使用的完整性保护密钥相同的。
[0128] 例如,使用Krrc-int来表示终端的完整性保护密钥,如果生成消息认证码的其他参数都相同,则终端每次生成的消息认证码都是相同的,即根据Krrc-int和终端的完整性保护算法生成。
[0129] 其中,Krrc-int是终端根据接入层密钥、终端的完整性保护算法的标识以及终端的完整性保护算法的类型生成的。因此,该方式一中,终端的完整性保护密钥Krrc-int与上一次恢复所使用的完整性保护密钥相同,也可以理解为,是终端的接入层密钥与上一次恢复所使用的接入层密钥相同。
[0130] 例如,使用KgNB来表示接入层密钥,则该方式一中,终端生成消息认证码时所使用的接入层密钥KgNB与上一次恢复所使用的接入层密钥保持相同。
[0131] 方式二、根据终端的完整性保护算法和终端的完整性保护密钥,生成消息认证码,其中,该完整性保护密钥是重新生成的。
[0132] 该方式二中,终端每次生成消息认证码时所使用的完整性保护密钥都会重新生成,且与终端上次使用的完整性保护密钥不同。
[0133] 例如,如果终端上次使用的完整性保护密钥是Krrc-int,则终端将需要重新生成并使用新的完整性保护密钥,例如使用Krrc-int*来表示新的完整性保护密钥。
[0134] 作为一种实现方式,终端可以使用下列方法生成新的完整性保护密钥Krrc-int*:终端生成新的接入层密钥,然后使用新的接入层密钥、终端的完整性保护算法的标识以及终端的完整性保护算法的类型生成Krrc-int*。
[0135] 例如,使用KgNB来表示终端当前的接入层密钥,使用KgNB*来表示新的接入层密钥,则该方式二中,终端是根据KgNB*、终端的完整性保护算法的标识以及终端的完整性保护算法的类型生成Krrc-int*,然后使用Krrc-int*和终端的完整性保护算法生成消息认证码。
[0136] 由于使用了新的接入层密钥KgNB*,因而导致最终生成的消息认证码发生了变化。即终端每次需要使用消息认证码时,所生成的消息认证码与上次所生成的消息认证码是不相同的。
[0137] 作为示例,下面介绍一种生成新的接入层密钥的KgNB*的方法,包括以下步骤:
[0138] 步骤A1、终端获取第一NCC和第二NCC。
[0139] 其中,第一NCC指的是终端是在挂起流程中由源基站发送至终端,并由终端保存的NCC,具体可参考上述步骤202。
[0140] 第二NCC指的是终端获得第一NCC之前保存的NCC。
[0141] 步骤A2、终端判断第一NCC与第二NCC是否相同。若相同,则执行步骤A3;若不同,则执行步骤A4。
[0142] 步骤A3、终端根据KgNB,得到KgNB*。
[0143] 其中,KgNB指的是老的接入层密钥(old KgNB),也可以称为原始的接入层密钥(original KgNB),或者还可以称为旧的接入层密钥(old KgNB)。
[0144] 相应地,KgNB*指的是新的接入层密钥(new KgNB),也可以称为更新的接入层密钥(updated KgNB)。
[0145] 需要说明的是,KgNB,KgNB*仅仅是一种符号化的表示。例如,在4G应用中,接入层密钥则可以使用KeNB,KeNB*表示。符号本身所使用的不同表现形式,本不构成对本申请的限定。
[0146] 可选地,作为一种实现方式,该步骤A3中,可以由终端根据KgNB,目标物理小区标识(physical cell identifier,PCI),下行绝对无线频点(absolute radio frequency channel number-down link,ARFCN-DL),得到KgNB*。
[0147] 针对根据KgNB,目标PCI和ARFCN-DL,得到KgNB*的具体实现方式,为现有技术,可参考相关文献,例如可以参考第三代合作伙伴计划(3rd generation partnership project,3GPP)技术规范(technical specification,TS)33.401或3GPP TS 33.501中的相关说明,这里不再赘述。
[0148] 步骤A4、终端根据第一NCC和第二NCC得到下一跳(next hop,NH),以及,根据NH,得到KgNB*。
[0149] 其中,NH是与第一NCC和第二NCC具有对应关系的。终端根据第一NCC和第二NCC可以确定衍生NH的次数N,再根据当前NH衍生得到下一个NH,使用下一个NH衍生得到再一个NH,如此反复,直到衍生N次,得到最终的NH。
[0150] 可选地,作为一种实现方式,可以由终端根据NH,目标PCI,ARFCN-DL,得到KgNB*。
[0151] 生成KgNB*的具体实现方式为现有技术,可参考相关文献,例如可以参考3GPP TS 33.401或3GPP TS 33.501中的相关说明,这里不再赘述。
[0152] 可选地,在通过上述两种方式获得完整性保护密钥后,终端可以根据该完整性保护密钥,源PCI,源小区无线网络临时标识(cell radio network temporary identifier,C-RNTI),目标小区标识和恢复常量,生成消息认证码。
[0153] 综上,上述方式一和方式二的主要区别在于:方式一中,终端每次使用消息认证码时,所生成的消息认证码与上次所生成的消息认证码是相同的,即消息认证码保持不变;方式二中,终端每次使用消息认证码时,所生成的消息认证码与上次所生成的消息认证码是不同的,即消息认证码保持更新。
[0154] 步骤302、终端向目标基站发送连接恢复请求消息,目标基站接收来自终端的连接恢复请求消息。
[0155] 终端发送的连接恢复请求消息,用于请求恢复RRC连接。即终端请求从不活跃态恢复到连接态。
[0156] 作为一种实现方式,连接恢复请求消息中携带恢复标识。该恢复标识是终端从连接态进入不活跃态时,由源基站发送给终端的。例如,可参考上述步骤202的相关描述,这里不再赘述。
[0157] 进一步地,连接恢复请求消息中还携带上述步骤301中生成的消息认证码。
[0158] 步骤303、目标基站判断是否同意终端的恢复请求。
[0159] 目标基站基于负载能力,判断是否可以接入该终端。
[0160] 一种情形是,目标基站的负载比较重,不能接入该终端,则目标基站可以拒绝该终端的恢复请求,即拒绝该终端接入目标基站。此时,则执行步骤304。
[0161] 另一种情形是,目标基站的负载不是很重,还可以接入该终端,则目标基站可以同意该终端的恢复请求,即同意该终端接入目标基站。此时,则执行步骤305-步骤308。
[0162] 步骤304、目标基站向终端发送连接恢复拒绝消息,终端接收来自目标基站的连接恢复拒绝消息。
[0163] 该连接恢复拒绝消息用于指示拒绝终端恢复RRC连接。
[0164] 可选地,可以在连接恢复拒绝消息中携带一个等待计时器(wait timer)的信息,该等待计时器的信息用于拒绝终端接入的时间,也可以理解为,用于指示终端重新请求恢复RRC连接所需要等待的最小时长。例如,若等待计时器的信息指示的30分钟,则用于指示终端,至少需要等待30分钟,才可以重新发起连接恢复请求。即重新执行步骤301及步骤302的动作,进入下一次的连接恢复请求流程。
[0165] 步骤305、目标基站向源基站发送上下文请求消息,源基站接收来自目标基站的上下文请求消息。
[0166] 该上下文请求消息用于请求终端的上下文。
[0167] 作为一种实现方式,当目标基站决定同意终端的连接恢复请求时,则从连接恢复请求消息中获取恢复标识,根据恢复标识中的源基站的标识,确定终端之前是与源基站连接的,则向源基站发送上下文请求消息,上下文请求消息用于请求获取终端的上下文,其中,上下文请求消息中携带恢复标识和消息认证码。
[0168] 源基站接收到目标基站发送上下文请求消息后,从中获取恢复标识,根据恢复标识中的终端的标识,获取该终端的接入层上下文,包括终端的安全能力。可选地,获取的终端的接入层上下文还包括终端与源基站之间协商的加密算法、完整性保护算法等信息。
[0169] 步骤306、源基站若校验消息认证码正确,则获取终端的上下文。
[0170] 其中,源基站校验消息认证码的方法与终端生成消息认证码的方法是相对应的。
[0171] 若终端是通过上述方式一生成消息认证码,则源基站校验消息认证码的方式为:源基站获取终端的上下文中的完整性保护算法(也可以称为源基站的完整性保护算法)和接入层密钥,然后根据接入层的密钥,推衍得到完整性保护密钥(也可以称为源基站的完整性保护密钥),或,源基站获取终端的上下文中的完整性保护算法(也可以称为源基站的完整性保护算法)和完整性保护密钥(也可以称为源基站的完整性保护密钥),然后根据源基站的完整性保护算法和源基站的完整性保护密钥,生成消息认证码,并与上下文请求消息中的消息认证码比较,若相同,则校验正确,若不同,则校验失败。
[0172] 若终端是通过上述方式二生成消息认证码,则源基站校验消息认证码的方式为:源基站判断下一跳NH是否已经使用,若未使用,则源基站根据NH,得到新的接入层密钥KgNB*,若已经使用,则源基站根据终端当前的接入层密钥KgNB,得到新的接入层密钥KgNB*。在得到KgNB*之后,再根据KgNB*、源基站的完整性保护算法的标识以及源基站的完整性保护算法的类型生成Krrc-int*,然后使用Krrc-int*和源基站的完整性保护算法生成消息认证码,并与上下文请求消息中的消息认证码比较,若相同,则校验正确,若不同,则校验失败。
[0173] 可选地,源基站还可以根据该完整性保护密钥,源PCI,源小区无线网络临时标识(cell radio network temporary identifier,C-RNTI),目标小区标识和恢复常量,生成消息认证码。
[0174] 步骤307、源基站若校验消息认证码正确,则向目标基站发送上下文响应消息。
[0175] 上下文响应消息中可以包括终端的上下文,例如包括源基站的完整性保护算法、源基站的完整性保护密钥。可选地,还包括上述生成的KgNB*。
[0176] 步骤308、目标基站向终端发送连接恢复响应消息,终端接收来自目标基站的连接恢复响应消息。
[0177] 该连接恢复响应消息用于指示终端恢复RRC连接。可选地,该连接恢复响应消息可由目标基站根据源基站的完整性保护算法和KgNB*生成的完整性保护密钥和加密密钥,分别进行完整性保护和加密。其中,目标基站所使用的KgNB*可以是来自源基站。具体实现过程可参考现有技术的相关方案,这里不再赘述。
[0178] 在步骤308之后,还包括终端从不活跃态进入连接态的后续流程,为现有技术内容,具体细节可参考相关文献的说明,这里不再赘述。
[0179] 针对上述请求恢复连接的方法,存在的主要问题如下:
[0180] 一方面,若上述步骤301中采用方式一生成消息认证码,即终端每次生成的消息认证码是相同的。当终端第一次向目标基站发送连接恢复请求消息时,若目标基站拒绝终端的连接恢复请求,则终端在下一次(即第二次)发送连接恢复请求消息之前,攻击者可能窃取到了终端第一次发送连接恢复请求消息时携带的消息认证码,然后攻击者伪装成终端,向目标基站发送连接恢复请求消息,连接恢复请求消息中携带攻击者窃取到的消息认证码。若目标基站的负荷不是很重,则会执行上述步骤305-步骤308,导致源基站会校验消息认证码正确,然后将终端的上下文携带于上下文响应消息中发送给目标基站,并且,源基站会删除终端的上下文。进而,当终端第二次重新向目标基站发送连接恢复请求消息时,由于源基站已经删除了终端的上下文,导致该终端无法认证通过,因而终端无法从不活跃态进入连接态。当然,若目标基站的负荷较重,则目标基站会拒绝攻击者的连接恢复请求,但攻击者可以不停地攻击,直至目标基站同意攻击者的连接恢复请求。因而,该方式一存在上述易受攻击的问题,进而导致终端可能无法从不活跃态进入连接态。
[0181] 另一方面,若上述步骤301中采用方式二生成消息认证码,即终端每次生成的消息认证码是不同的。当终端第一次向目标基站发送连接恢复请求消息时,若目标基站拒绝终端的连接恢复请求,此时,终端上存储的接入层密钥已经更新为KgNB*。但由于目标基站并没有通知源基站密钥已更新,因此,在源基站上存储的接入层密钥仍然是原来的接入层密钥KgNB。进而,当终端第二次向目标基站发送连接恢复请求消息时,若目标基站同意终端的连接恢复请求,此时,终端上存储的接入层密钥为KgNB*,而源基站上存储的接入层密钥为KgNB,导致源基站会对终端发送的消息认证码校验失败,终端无法从不活跃态进入连接态。因而,该方式二也存在可能无法从不活跃态进入连接态的问题。
[0182] 针对图3所示的请求恢复连接的方法所存在的上述问题,本申请将提出以下解决方案。下面分别说明。
[0183] 解决方案一
[0184] 该解决方案一可用于解决上述步骤301采用方式一生成消息认证码时存在的问题。
[0185] 如图4所示,为本申请提供的一种请求恢复连接的方法的流程图,包括以下步骤:
[0186] 步骤401、终端根据新鲜性参数和终端的完整性保护密钥,生成消息认证码。
[0187] 其中,相邻两次生成消息认证码所使用的新鲜性参数不同。即,新鲜性参数的具体取值,在每次生成消息认证码是会发生变化,导致当前生成消息认证码时所使用的新鲜性参数与上次生成消息认证码时所使用的新鲜性参数不同。
[0188] 作为一种实现方式,新鲜性参数包括分组数据汇聚协议计数((Packet Data Convergence Protocol COUNT,PDCP COUNT),PDCP COUNT可以包含上行PDCP COUNT和下行PDCP COUNT,终端每发送一个上行PDCP数据包则上行PDCP COUNT加1,基站每发送一个下行PDCP数据包则下行PDCP COUNT加1。例如,PDCP COUNT可以是信令无线承载(signaling radio bearer,SRB)的上行PDCP COUNT。可选地,每当重建无线承载时,PDCP COUNT可以重置为零。由于PDCP COUNT是一直在变化的,因此,终端每次生成的消息认证码与上次生成的消息认证码是不同的。
[0189] 作为另一种实现方式,新鲜性参数可以包括拒绝次数,拒绝次数可以用于表示终端尝试恢复RRC连接被网络侧拒绝的次数。终端每次尝试恢复被网络侧拒绝,则拒绝次数加1。可选地,每当恢复RRC连接成功时,拒绝次数可以重置为零。由于拒绝次数是一直在变化的,因此,终端每次生成的消息认证码与上次生成的消息认证码是不同的。
[0190] 在具体实现中,可以是根据新鲜性参数、终端的完整性保护密钥和终端的完整性保护算法,生成消息认证码。
[0191] 步骤402、终端向目标基站发送连接恢复请求消息,目标基站接收来自终端的连接恢复请求消息。
[0192] 其中,连接恢复请求消息用于请求恢复RRC连接,连接恢复请求消息包括消息认证码和恢复标识,可选的,连接恢复请求消息还包含指示参数,该指示参数用于指示新鲜性参数。具体地,该指示参数可以是新鲜性参数本身,也可以是可指示该新鲜性参数的参数。连接恢复请求消息还包括恢复标识。
[0193] 具体地,若新鲜性参数为拒绝次数,则连接恢复请求消息包括消息认证码和恢复标识。若新鲜性参数为PDCP COUNT,则连接恢复请求消息包括消息认证码、恢复标识和指示参数,指示参数用于指示PDCP COUNT。
[0194] 其中,若新鲜性参数为PDCP COUNT,且PDCP COUNT采用二进制比特位表示,则该指示参数PDCP COUNT本身,即为PDCP COUNT的全部比特位。该指示参数还可以是PDCP COUNT的部分比特位。
[0195] 举例来说,假设PDCP COUNT采用32个比特位来表示,由于相邻两次生成消息认证码时所使用的PDCP COUNT之间的变化不会特别大,因此,相邻两次的PDCP COUNT之间也只是低位的比特位发生变化,而高位的比特位不会发生变化。因此,指示参数可以使用PDCP COUNT的部分低比特位来表示。例如,终端上次生成消息认证码所使用的PDCP COUNT为“00000000000011111111111100011111”,而终端本次生成消息认证码所使用的PDCP COUNT为“00000000000011111111111100100011”,可以发现,PDCP COUNT只有低5位发生了变化,而高27位未发生变化。因此,可以选择PDCP COUNT的低N个比特位作为指示参数,N大于1,且小于32。当然,指示参数也可以是PDCP COUNT的全部比特位。
[0196] 其中,若新鲜性参数为拒绝次数,则终端和源基站之间各自维持该终端被拒绝恢复连接的次数。
[0197] 通过上述步骤401-步骤402,终端每次生成的消息认证码与上次生成的消息认证码不同,因此,即使攻击者窃取到终端上次所使用的消息认证码,由于使用的“过期的”消息认证码,因此,攻击者将无法攻击成功。
[0198] 下面给出后续目标基站和源基站的实现方法。
[0199] 可选地,在上述步骤402之后,还包括以下方法步骤:
[0200] 步骤403、目标基站判断是否同意终端的恢复请求。
[0201] 目标基站基于负载能力,判断是否可以接入该终端。
[0202] 一种情形是,目标基站的负载比较重,不能接入该终端,则目标基站可以拒绝该终端的恢复请求,即拒绝该终端接入目标基站。此时,则执行步骤404-步骤407。
[0203] 另一种情形是,目标基站的负载不是很重,还可以接入该终端,则目标基站可以同意该终端的恢复请求,即同意该终端接入目标基站。此时,则执行步骤408-步骤411。
[0204] 步骤404、目标基站向源基站发送通知消息,源基站接收来自目标基站的通知消息。
[0205] 其中,通知消息包括目标基站从连接恢复请求消息中获取的消息认证码和恢复标识,可选地,还包含指示参数,其中,通知更新的源基站中的终端的上下文包括新鲜性参数。
[0206] 其中,通知消息具有以下功能中的一个或多个:
[0207] 通知消息用于通知更新源基站中的终端的上下文;
[0208] 通知消息用于通知目标基站将拒绝终端恢复连接;
[0209] 通知消息用于通知更新源基站中的终端的上下文的新鲜性参数;
[0210] 通知消息用于通知更新源基站中的终端的上下文的密钥。
[0211] 步骤405、源基站校验消息认证码,若校验消息认证码正确,则更新终端的上下文。
[0212] 该步骤中,源基站首先根据通知消息中的恢复标识,获取到源基站中的终端的上下文。
[0213] 接着,源基站确定新鲜性参数。
[0214] 作为一种示例,源基站根据指示参数确定新鲜性参数。例如,当新鲜性参数为PDCP COUNT时,则源基站根据指示参数确定指示参数指示的PDCP COUNT。具体实现中,若指示参数指示的是PDCP COUNT的部分比特位,则源基站可以根据源基站当前存储的PDCP COUNT的部分高比特位,和指示参数指示的PDCP COUNT的部分低比特位,确定指示参数指示的PDCP COUNT。
[0215] 另一种示例,源基站直接确定新鲜性参数。例如,当新鲜性参数为拒绝次数时,则源基站将当前拒绝次数确定为拒绝次数。即目标基站可以直接本地获取到该终端的拒绝次数。
[0216] 接着,源基站根据新鲜性参数、源基站的完整性保护密钥和源基站的完整性保护算法,生成消息认证码,若生成的消息认证码与通知消息中携带的终端生成的消息认证码相同,则校验正确,若不同,则校验失败。
[0217] 可选地,源基站可以根据新鲜性参数、源基站的完整性保护密钥和源基站的完整性保护算法,源PCI,源小区无线网络临时标识(cell  radio network  temporary identifier,C-RNTI),目标小区标识和恢复常量,生成消息认证码。
[0218] 其中,若源基站校验消息认证码正确,则更新终端的上下文中的新鲜性参数。例如,当新鲜性参数为PDCP COUNT时,源基站更新源基站中的终端的上下文,包括:若通知消息中的PDCP COUNT的数值大于源基站中的终端的上下文中的PDCP COUNT的数值,则源基站将终端的上下文中的PDCP COUNT的数值更新为通知消息中的PDCP COUNT的数值,或者理解为,终端的上下文中的PDCP COUNT的数值更新为指示参数指示的PDCP COUNT的数值。再比如,当新鲜性参数为拒绝次数时,源基站根据新鲜性参数更新源基站中的终端的上下文,包括:源基站将拒绝次数加1。
[0219] 作为另一种实现方式,还可以是源基站先判断通知消息中的PDCP COUNT的数值是否大于源基站中的终端的上下文中的PDCP COUNT的数值,若通知消息中的PDCP COUNT的数值大于源基站中的终端的上下文中的PDCP COUNT的数值,则源基站校验消息认证码,若校验消息认证码正确,则根据新鲜性参数,更新终端的上下文中的新鲜性参数,具体更新方法为:源基站将终端的上下文中的PDCP COUNT的数值更新为通知消息中的PDCP COUNT的数值。
[0220] 步骤406、源基站向目标基站发送响应消息,目标基站接收来自源基站的响应消息。
[0221] 该步骤406为可选步骤,响应消息用于源基站在终端的上下文更新完成后,通知目标基站。
[0222] 步骤407、目标基站向终端发送连接恢复拒绝消息,终端接收来自目标基站的连接恢复拒绝消息。
[0223] 该步骤407与上述步骤304相同,可参考前述描述。
[0224] 当新鲜性参数为拒绝次数时,终端在收到连接恢复拒绝消息后,会更新拒绝次数,包括:将拒绝次数加1。
[0225] 需要说明的是,上述步骤407与步骤404-步骤406之间没有顺序限定,即步骤407可以在步骤404之前执行,也可以在步骤406之后执行,还可以在步骤404-步骤406之间执行。
[0226] 通过上述步骤404-步骤407,当目标基站决定拒绝终端的连接恢复请求时,一方面,目标基站通知终端拒绝连接恢复请求,另一方面,还通知源基站更新终端的上下文,具体地,更新源基站中存储的新鲜性参数。从而使得终端与源基站之间的新鲜性参数保持一致。
[0227] 步骤408、目标基站向源基站发送上下文请求消息,源基站接收来自目标基站的上下文请求消息。
[0228] 上下文请求消息包括终端生成的消息认证码和恢复标识,上下文请求消息用于请求获取终端的上下文。可选的,上下文请求消息还包括指示参数。
[0229] 步骤409、源基站若校验消息认证码正确,则更新终端的上下文中的新鲜性参数。
[0230] 其中,源基站校验消息认证码的方式,及源基站更新终端的上下文中的新鲜性参数的方式,可参考上述步骤405的描述,这里不再赘述。
[0231] 步骤410、源基站向目标基站发送上下文响应消息,目标基站接收来自源基站的上下文响应消息。
[0232] 步骤411、目标基站向终端发送连接恢复响应消息,终端接收来自目标基站的连接恢复响应消息。
[0233] 上述步骤410-步骤411,与上述步骤307-步骤308相同,可参数前述描述,这里不再赘述。
[0234] 通过上述步骤408-步骤411,当目标基站决定同意恢复终端的连接时,源基站根据新鲜性参数,对终端的消息认证码进行校验,且在校验正确时,一方面,更新源基站的终端的上下文中的新鲜性参数,另一方面,将获取的终端的上下文发送给目标基站。
[0235] 通过上述步骤401-步骤411的方法,在终端生成消息认证码的输入参数中引入了新鲜性参数,相应地,在源基站校验消息认证码的输入参数中也引入了新鲜性参数。一方面,若目标基站拒绝了终端的连接恢复请求,则目标基站可以通过步骤404通知源基站更新终端的上下文中的新鲜性参数,从而保持终端与源基站的新鲜性参数的一致。另一方面,若目标基站同意了终端的连接恢复请求,则目标基站可以通过步骤408请求从源基站获取终端的上下文,同时,源基站还可在此过程中更新源基站的终端上下文中的新鲜性参数,从而保持终端与源基站的新鲜性参数的一致。
[0236] 上述解决方案一可有效解决上述步骤301采用方式一生成消息认证码时,所存在的易受攻击的问题。下面结合具体例子进行解释说明。
[0237] 以新鲜性参数为PDCP COUNT为例,假设终端与源基站当前存储的PDCP COUNT的数值均为5,且终端当前处于不活跃态。
[0238] 终端第一次向目标基站发送连接恢复请求消息,连接恢复请求消息中携带消息认证码、指示参数和恢复标识,该消息认证码是根据PDCP COUNT和终端的完整性保护密钥生成的,且该指示参数指示的PDCP COUNT大于5,例如为10。
[0239] 目标基站若拒绝了终端的连接恢复请求,向终端发送的连接恢复拒绝消息中携带等待计时器的信息,指示终端30分钟后可以尝试重新发起连接恢复请求。同时,目标基站通知源基站将源基站的终端的上下文中的PDCP COUNT更新为10。
[0240] 假设在终端第二次向目标基站发送连接恢复请求消息之前,攻击者从终端第一次向目标基站发送的连接恢复请求消息中窃取到了消息认证码和恢复标识,其中,生成该消息认证码所使用的PDCP COUNT为10。
[0241] 接着,攻击者向目标基站发送连接恢复请求消息,连接恢复请求消息中携带窃取到的消息认证码和恢复标识,目标基站接收到连接恢复请求消息后,若同意该攻击者的恢复请求,则向源基站发送上下文请求消息。接着,源基站对攻击者发送的消息认证码进行校验,由于攻击者发送的消息认证码在生成时所使用的PDCP COUNT为10,源基站的终端的上下文中的PDCP COUNT也为10,二者相等,因此校验失败。从而,攻击者攻击失败。
[0242] 以新鲜性参数为拒绝次数为例,假设终端与源基站当前存储的拒绝次数的数值均为2,且终端当前处于不活跃态。
[0243] 终端第一次向目标基站发送连接恢复请求消息,连接恢复请求消息中携带消息认证码和恢复标识,该消息认证码是根据拒绝次数和终端的完整性保护密钥生成的,此时拒绝次数为2。
[0244] 目标基站若拒绝了终端的连接恢复请求,向终端发送的连接恢复拒绝消息中携带等待计时器的信息,指示终端30分钟后可以尝试重新发起连接恢复请求,此时终端更新拒绝次数为3。同时,目标基站通知源基站将源基站的终端的上下文中的拒绝次数更新为3。
[0245] 假设在终端第二次向目标基站发送连接恢复请求消息之前,攻击者从终端第一次向目标基站发送的连接恢复请求消息中窃取到了消息认证码和恢复标识,其中,生成该消息认证码所使用的拒绝次数为2。
[0246] 接着,攻击者向目标基站发送连接恢复请求消息,连接恢复请求消息中携带窃取到的消息认证码和恢复标识,目标基站接收到连接恢复请求消息后,若同意该攻击者的恢复请求,则向源基站发送上下文请求消息。接着,源基站对攻击者发送的消息认证码进行校验,由于攻击者发送的消息认证码在生成时所使用的拒绝次数为2,源基站的终端的上下文中的拒绝次数为3,因此校验失败。从而,攻击者攻击失败。
[0247] 因此,本申请提供的上述解决方案一,可以有效解决上述步骤301生成消息认证码的方法一所存在的问题,可以有效抵抗攻击者的攻击。
[0248] 解决方案二
[0249] 该解决方案二可用于解决上述步骤301采用方式二生成消息认证码时存在的问题。
[0250] 步骤501、终端生成消息认证码。
[0251] 该步骤501与上述步骤301的方式二相同,可参考前述描述。
[0252] 在该步骤501中,终端生成消息认证码的同时,也会更新接入层密钥,即由KgNB更新为KgNB*,同时也会更新完整性保护密钥,即由Krrc-int更新为Krrc-int*。
[0253] 步骤502、终端向目标基站发送连接恢复请求消息,目标基站接收来自终端的连接恢复请求消息。
[0254] 该步骤502与前述步骤302相同,可参考前述描述。
[0255] 步骤503、目标基站判断是否同意终端的恢复请求。
[0256] 目标基站基于负载能力,判断是否可以接入该终端。
[0257] 一种情形是,目标基站的负载比较重,不能接入该终端,则目标基站可以拒绝该终端的恢复请求,即拒绝该终端接入目标基站。此时,则执行步骤504-步骤507。
[0258] 另一种情形是,目标基站的负载不是很重,还可以接入该终端,则目标基站可以同意该终端的恢复请求,即同意该终端接入目标基站。此时,则执行步骤508-步骤511。
[0259] 步骤504、目标基站向源基站发送通知消息,源基站接收来自目标基站的通知消息。
[0260] 其中,通知消息包括目标基站从连接恢复请求消息中获取的消息认证码和恢复标识。
[0261] 其中,通知消息具有以下功能中的一个或多个:
[0262] 通知消息用于通知更新源基站中的终端的上下文;
[0263] 通知消息用于通知目标基站将拒绝终端恢复连接;
[0264] 通知消息用于通知更新源基站中的终端的上下文的新鲜性参数;
[0265] 通知消息用于通知更新源基站中的终端的上下文的密钥。
[0266] 其中,该密钥可以是接入层密钥,和/或,完整性保护密钥。
[0267] 步骤505、源基站校验消息认证码,若校验消息认证码正确,则更新终端的上下文的密钥。
[0268] 该步骤中,源基站首先根据通知消息中的恢复标识,获取源基站中的终端的上下文。
[0269] 接着,源基站根据源基站的完整性保护算法和源基站的完整性保护密钥,生成消息认证码,若生成的消息认证码与通知消息中携带的消息认证码相同,则校验正确,若不同,则校验失败。其中,源基站生成消息认证码所使用的源基站的完整性保护密钥是源基站生成的新的完整性保护密钥Krrc-int*,具体生成方法可参考上述步骤306中的相关描述,这里不再赘述。
[0270] 源基站校验消息认证码,若校验消息认证码正确,则更新终端的上下文的接入层密钥,和/或,完整性保护密钥。
[0271] 步骤506、源基站向目标基站发送响应消息,目标基站接收来自源基站的响应消息。
[0272] 该步骤506为可选步骤,响应消息用于源基站在终端的上下文更新完成后,通知目标基站。
[0273] 步骤507、目标基站向终端发送连接恢复拒绝消息,终端接收来自目标基站的连接恢复拒绝消息。
[0274] 该步骤507与上述步骤304相同,可参数前述描述。
[0275] 需要说明的是,上述步骤507与步骤504-步骤506之间没有顺序限定,即步骤507可以在步骤504之前执行,也可以在步骤506之后执行,还可以在步骤504-步骤506之间执行。
[0276] 通过上述步骤504-步骤507,当目标基站决定拒绝终端的连接恢复请求时,一方面,目标基站通知终端拒绝连接恢复请求,另一方面,还通知源基站更新终端的上下文的密钥。从而使得终端与源基站之间的密钥保持一致。
[0277] 步骤508、目标基站向源基站发送上下文请求消息,源基站接收来自目标基站的上下文请求消息。
[0278] 上下文请求消息包括终端生成的消息认证码和恢复标识,上下文请求消息用于请求获取终端的上下文。
[0279] 该步骤与上述步骤305相同,可参考前述描述。
[0280] 步骤509、源基站若校验消息认证码正确,则获取终端的上下文。
[0281] 其中,源基站校验消息认证码的具体方式,可参考上述步骤306中,当终端采用方式二生成消息认证码时,源基站所采用的消息认证码的校验方式。
[0282] 步骤510、源基站若校验消息认证码正确,则向目标基站发送上下文响应消息。
[0283] 上下文响应消息中可以包括终端的上下文,例如包括源基站的完整性保护算法、源基站的完整性保护密钥。可选地,还包括上述生成的KgNB*。
[0284] 步骤511、目标基站向终端发送连接恢复响应消息,终端接收来自目标基站的连接恢复响应消息。
[0285] 该连接恢复响应消息用于指示终端恢复RRC连接。可选地,该连接恢复响应消息可由目标基站根据源基站的完整性保护算法和KgNB*生成的完整性保护密钥和加密密钥,分别进行完整性保护和加密。具体实现过程可参考现有技术的相关方案,这里不再赘述。
[0286] 在步骤308之后,还包括终端从不活跃态进入连接态的后续流程,为现有技术内容,具体细节可参考相关文献的说明,这里不再赘述。
[0287] 通过上述步骤501-步骤511所示的请求恢复连接的方法,可以有效解决上述步骤301中采用方式二生成消息认证码时所存在的问题,图5所示的方案中,当目标基站决定拒绝终端的请求连接恢复时,目标基站还通过步骤504,向源基站发送通知消息,用于通知源基站更新密钥,从而使得终端与源基站之间始终保持密钥相同,因而可以有效解决终端与源基站之间的密钥不同步所带来的终端无法恢复连接的问题。
[0288] 作为一种可替代的方法,在图5所示的流程中,在目标基站拒绝终端的连接恢复请求的场景中,还可以删除步骤504-步骤506,并在步骤507之后增加终端的操作:终端将终端的接入层密钥恢复为更新前的接入层密钥。
[0289] 由于在目标基站拒绝终端的连接恢复请求的场景中,终端已经更新了接入层密钥,为了保持终端与源基站之间的密钥一致,也可以采用由终端回退密钥的方式,将终端的接入层密钥恢复为更新前的接入层密钥。因而,也可以达到使得终端与源基站之间始终保持密钥相同的目的,进而也可以有效解决终端与源基站之间的密钥不同步所带来的终端无法恢复连接的问题。
[0290] 解决方案三
[0291] 该解决方案三是将上述解决方案一和解决方案二相结合,而得到的一种解决方案。该解决方案三在解决上述密钥不一致的问题的同时,还可以有效抵抗攻击者的攻击。
[0292] 步骤601、终端生成消息认证码。
[0293] 这里,是结合上述步骤401生成消息认证码的方式和步骤501生成消息认证码的方式,来生成消息认证码的。具体地,终端根据终端的完整性保护算法、终端的完整性保护密钥和新鲜性参数,生成消息认证码,其中,终端的完整性保护密钥为Krrc-int*,Krrc-int*是根据更新的接入层密钥KgNB*、终端的完整性保护算法的标识以及终端的完整性保护算法的类型生成的。
[0294] 步骤602、终端向目标基站发送连接恢复请求消息,目标基站接收来自终端的连接恢复请求消息。
[0295] 连接恢复请求消息包括消息认证码和恢复标识,可选地,连接恢复请求还包含指示参数,指示参数用于指示新鲜性参数。
[0296] 步骤603、目标基站判断是否同意终端的恢复请求。
[0297] 目标基站基于负载能力,判断是否可以接入该终端。
[0298] 一种情形是,目标基站的负载比较重,不能接入该终端,则目标基站可以拒绝该终端的恢复请求,即拒绝该终端接入目标基站。此时,则执行步骤604-步骤607。
[0299] 另一种情形是,目标基站的负载不是很重,还可以接入该终端,则目标基站可以同意该终端的恢复请求,即同意该终端接入目标基站。此时,则执行步骤608-步骤611。
[0300] 步骤604、目标基站向源基站发送通知消息,源基站接收来自目标基站的通知消息。
[0301] 其中,通知消息包括目标基站从连接恢复请求消息中获取的消息认证码和恢复标识,可选地,通知消息还可以包含指示参数。
[0302] 其中,通知消息具有以下功能中的一个或多个:
[0303] 通知消息用于通知更新源基站中的终端的上下文;
[0304] 通知消息用于通知目标基站将拒绝终端恢复连接;
[0305] 通知消息用于通知更新源基站中的终端的上下文的新鲜性参数;
[0306] 通知消息用于通知更新源基站中的终端的上下文的密钥。
[0307] 其中,该密钥可以是接入层密钥,和/或,完整性保护密钥。
[0308] 步骤605、源基站校验消息认证码,若校验消息认证码正确,则更新终端的上下文的新鲜性参数和密钥。
[0309] 该步骤中,源基站首先根据通知消息中的恢复标识,确定源基站中的终端的上下文。
[0310] 接着,源基站确定新鲜性参数。源基站可以根据通知消息中的指示参数确定新鲜性参数。例如,当新鲜性参数为PDCP COUNT时,则源基站根据指示参数确定指示参数指示的PDCP COUNT。源基站还可以直接确定新鲜性参数。例如,当新鲜性参数为拒绝次数时,则源基站将当前拒绝次数确定为拒绝次数。
[0311] 接着,源基站根据新鲜性参数、源基站的完整性保护密钥和源基站的完整性保护算法,生成消息认证码,若生成的消息认证码与通知消息中携带的终端生成的消息认证码相同,则校验正确,若不同,则校验失败。其中,源基站生成消息认证码所使用的源基站的完整性保护密钥,是源基站生成的新的完整性保护密钥Krrc-int*。
[0312] 其中,若源基站校验消息认证码正确,则根据新鲜性参数,更新终端的上下文中的新鲜性参数。具体可参考前述步骤405的相关描述。以及,源基站还更新终端的上下文中的密钥。例如,将源基站中的完整性保护密钥Krrc-int更新为Krrc-int*,和/或,将源基站中的接入层密钥KgNB更新为KgNB*。
[0313] 步骤606、源基站向目标基站发送响应消息,目标基站接收来自源基站的响应消息。
[0314] 该步骤606为可选步骤,响应消息用于源基站在终端的上下文更新完成后,通知目标基站。
[0315] 步骤607、目标基站向终端发送连接恢复拒绝消息,终端接收来自目标基站的连接恢复拒绝消息。
[0316] 该步骤607与上述步骤404相同,可参数前述描述。
[0317] 需要说明的是,上述步骤607与步骤604-步骤606之间没有顺序限定,即步骤607可以在步骤604之前执行,也可以在步骤606之后执行,还可以在步骤604-步骤606之间执行。
[0318] 通过上述步骤604-步骤607,当目标基站决定拒绝终端的连接恢复请求时,一方面,目标基站通知终端拒绝连接恢复请求,另一方面,还通知源基站更新终端的上下文,具体地,更新源基站中存储的新鲜性参数和密钥。从而使得终端与源基站之间的新鲜性参数保持一致,且密钥保持一致。
[0319] 步骤608、目标基站向源基站发送上下文请求消息,源基站接收来自目标基站的上下文请求消息。
[0320] 上下文请求消息包括终端生成的消息认证码、新鲜性参数和恢复标识,上下文请求消息用于请求获取终端的上下文。
[0321] 步骤609、源基站若校验消息认证码正确,则更新终端的上下文中的新鲜性参数和密钥。
[0322] 其中,源基站校验消息认证码的方式,及源基站更新终端的上下文中的新鲜性参数和密钥的方式,可参考上述步骤605的描述,这里不再赘述。
[0323] 步骤610、源基站向目标基站发送上下文响应消息,目标基站接收来自源基站的上下文响应消息。
[0324] 步骤611、目标基站向终端发送连接恢复响应消息,终端接收来自目标基站的连接恢复响应消息。
[0325] 上述步骤610-步骤611,与上述步骤307-步骤308相同,可参数前述描述,这里不再赘述。
[0326] 通过上述步骤608-步骤611,当目标基站决定同意恢复终端的连接时,源基站根据新鲜性参数、源基站的完整性保护密钥和源基站的完整性保护算法,对终端的消息认证码进行校验,且在校验正确时,一方面,根据终端的新鲜性参数更新源基站的终端的上下文中的新鲜性参数,以及更新源基站的终端的上下文中的密钥,另一方面,将获取的终端的上下文发送给目标基站。
[0327] 通过上述步骤601-步骤611的方法,在终端生成消息认证码的输入参数中引入了新鲜性参数,相应地,在源基站校验消息认证码的输入参数中也引入了新鲜性参数。并且,生成消息认证码所使用的完整性保护密钥都是根据更新后的完整性保护密钥生成的。一方面,若目标基站拒绝了终端的连接恢复请求,则目标基站可以通过步骤604通知源基站更新终端的上下文中的新鲜性参数和密钥,从而保持终端与源基站的新鲜性参数和密钥的一致。另一方面,若目标基站同意了终端的连接恢复请求,则目标基站可以通过步骤608请求从源基站获取终端的上下文,同时,源基站还可在此过程中更新源基站的终端上下文中的新鲜性参数和密钥,从而保持终端与源基站的新鲜性参数和密钥的一致。
[0328] 通过上述步骤601-步骤611的方法,一方面,可以保持终端和源基站的密钥同步,另一方面,可以有效抵抗攻击者的攻击,因而有助于终端顺利地从不活跃态进入连接态。
[0329] 解决方案四,
[0330] 该解决方案四可用于解决上述步骤301采用方式二生成消息认证码时存在的问题。
[0331] 步骤701、终端生成消息认证码。
[0332] 该步骤701与上述步骤301的方式二相同,可参考前述描述。
[0333] 在该步骤701中,终端在生成消息认证码之前,会更新接入层密钥,即由KgNB更新为KgNB*,同时也会更新完整性保护密钥,即由Krrc-int更新为Krrc-int*。然后根据更新后的完整性保护密钥,生成消息认证码。
[0334] 步骤702、终端向目标基站发送连接恢复请求消息,目标基站接收来自终端的连接恢复请求消息。
[0335] 该步骤702与前述步骤302相同,可参考前述描述。
[0336] 步骤703、目标基站判断是否同意终端的恢复请求。
[0337] 目标基站基于负载能力,判断是否可以接入该终端。
[0338] 一种情形是,目标基站的负载比较重,不能接入该终端,则目标基站可以拒绝该终端的恢复请求,即拒绝该终端接入目标基站。此时,则执行步骤704-步骤705。
[0339] 另一种情形是,目标基站的负载不是很重,还可以接入该终端,则目标基站可以同意该终端的恢复请求,即同意该终端接入目标基站。此时,则执行步骤706-步骤709。
[0340] 步骤704、目标基站向终端发送连接恢复拒绝消息,终端接收来自目标基站的连接恢复拒绝消息。
[0341] 该步骤704与上述步骤304相同,可参考前述描述。
[0342] 步骤705、终端将终端的接入层密钥恢复为更新前的接入层密钥。
[0343] 一种实现方式可以是,终端在未接收到拒绝消息前,保存更新前的接入层密钥,例如KgNB。终端在接收到拒绝消息后,终端将更新前的接入层密钥作为当前或存储的接入层密钥。可选地,终端在接收到拒绝消息后,还可以删除更新后的接入层密钥,例如KgNB*。
[0344] 另一种实现方式可以是,终端在未接收到拒绝消息前,保存更新前的安全上下文,更新前的安全上下文包含更新前的接入层密钥,例如KgNB。终端在接收到拒绝消息后,将更新前的安全上下文作为当前或存储的安全上下文。可选地,终端在接收到拒绝消息后,还可以删除更新后的安全上下文。具体地,安全上下文可以是终端的AS安全上下文。
[0345] 终端将终端的接入层密钥恢复为更新前的接入层密钥后,会保存更新前的接入层密钥,直到下次恢复连接时,终端再次执行步骤701中的方式二,生成消息认证码。
[0346] 由于在目标基站拒绝终端的连接恢复请求的场景中,终端已经更新了接入层密钥,为了保持终端与源基站之间的密钥一致,可以采用由终端回退密钥的方式,将终端的接入层密钥恢复为更新前的接入层密钥。因而,也可以达到使得终端与源基站之间始终保持密钥相同的目的,进而也可以有效解决终端与源基站之间的密钥不同步所带来的终端无法恢复连接的问题。
[0347] 步骤706、目标基站向源基站发送上下文请求消息,源基站接收来自目标基站的上下文请求消息。
[0348] 上下文请求消息包括终端生成的消息认证码和恢复标识,上下文请求消息用于请求获取终端的上下文。
[0349] 该步骤与上述步骤305相同,可参考前述描述。
[0350] 步骤707、源基站若校验消息认证码正确,则获取终端的上下文。
[0351] 其中,源基站校验消息认证码的具体方式,可参考上述步骤306中,当终端采用方式二生成消息认证码时,源基站所采用的消息认证码的校验方式。
[0352] 步骤708、源基站若校验消息认证码正确,则向目标基站发送上下文响应消息。
[0353] 上下文响应消息中可以包括终端的上下文,例如包括源基站的完整性保护算法、源基站的完整性保护密钥。可选地,还包括上述生成的KgNB*。
[0354] 步骤709、目标基站向终端发送连接恢复响应消息,终端接收来自目标基站的连接恢复响应消息。
[0355] 该连接恢复响应消息用于指示终端恢复RRC连接。可选地,该连接恢复响应消息可由目标基站根据源基站的完整性保护算法和KgNB*生成的完整性保护密钥和加密密钥,分别进行完整性保护和加密。具体实现过程可参考现有技术的相关方案,这里不再赘述。
[0356] 在步骤709之后,还包括终端从不活跃态进入连接态的后续流程,为现有技术内容,具体细节可参考相关文献的说明,这里不再赘述。
[0357] 通过上述步骤701-步骤709所示的请求恢复连接的方法,可以有效解决上述步骤301中采用方式二生成消息认证码时所存在的问题,图7所示的方案中,当目标基站决定拒绝终端的请求连接恢复时,目标基站还通过步骤704,向终端发送连接恢复拒绝消息,终端通过步骤705,将终端的接入层密钥恢复为更新前的接入层密钥,从而使得终端与源基站之间始终保持密钥相同,因而可以有效解决终端与源基站之间的密钥不同步所带来的终端无法恢复连接的问题。
[0358] 需要说明的是,上述实施例中的连接恢复请求消息、连接恢复响应消息、连接恢复完成消息、上下文请求消息、上下文响应消息等仅是一个名字,名字对消息本身不构成限定。在5G网络以及未来其它的网络中,连接恢复请求消息、连接恢复响应消息、连接恢复完成消息、上下文请求消息、上下文响应消息也可以是其他的名字,本申请实施例对此不作具体限定。例如,连接恢复请求消息还有可能被替换为请求消息、恢复请求消息、连接请求消息等,该连接恢复响应消息还有可能被替换为响应消息、恢复响应消息、连接响应消息等,该连接恢复完成消息还有可能被替换为完成消息、恢复完成消息、连接完成消息等,该上下文请求消息还有可能被替换为请求消息等,该上下文响应消息还有可能被替换为响应消息等。
[0359] 上述主要从各个网元之间交互的角度对本申请提供的方案进行了介绍。可以理解的是,上述实现各网元为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0360] 基于相同的发明构思,如图8所示,为本申请提供的一种装置示意图,该装置可以是终端、目标基站或源基站,可执行上述任一实施例中由终端、目标基站或源基站执行的方法。
[0361] 该装置800包括至少一个处理器801,发送器802,接收器803,可选地,还包括存储器804。所述处理器801,发送器802,接收器803,存储器804通过通信线路连接。
[0362] 处理器801可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
[0363] 通信线路可包括一通路,在上述单元之间传送信息。
[0364] 所述发送器802和接收器803,用于与其他设备或通信网络通信。发送器和接收器包括射频电路。
[0365] 存储器804可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically erasable programmabler-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器804可以是独立存在,通过通信线路与处理器801相连接。存储器804也可以和处理器集成在一起。其中,所述存储器804用于存储执行本发明方案的应用程序代码,并由处理器801来控制执行。所述处理器801用于执行存储器804中存储的应用程序代码。
[0366] 在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
[0367] 在具体实现中,作为一种实施例,装置800可以包括多个处理器,例如图8中的处理器801和处理器808。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器,这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0368] 应理解,当该装置800是终端时,该装置800可以用于实现本发明实施例的方法中由终端执行的步骤,例如,装置800可以执行图3中的步骤301、步骤302、步骤304和步骤308,还可以执行图4中的步骤401、步骤402、步骤407和步骤411,还可以执行图5中的步骤501、步骤502、步骤507和步骤511,还可以执行图6中的步骤601、步骤602、步骤607和步骤611,还可以执行图7中的步骤701、步骤702、步骤704和步骤709。相关特征可以参照上文,此处不再赘述。
[0369] 当该装置800是目标基站时,该装置800可以用于实现本发明实施例的方法中由目标基站执行的步骤,例如,装置800可以执行图3中的步骤302、步骤303、步骤304、步骤305、步骤307和步骤308,还可以执行图4中的步骤402、步骤403、步骤404、步骤406步骤407、步骤408、步骤410和步骤411,还可以执行图5中的步骤502、步骤503、步骤504、步骤506、步骤
507、步骤508、步骤510和步骤511,还可以执行图6中的步骤602、步骤603、步骤604、步骤
606、步骤607、步骤608、步骤610和步骤611,还可以执行图7中的步骤702、步骤703、步骤
704、步骤706、步骤708和步骤709。相关特征可以参照上文,此处不再赘述。
[0370] 当该装置800是源基站时,该装置800可以用于实现本发明实施例的方法中由源基站执行的步骤,例如,装置800可以执行图3中的步骤305、步骤306和步骤307,还可以执行图4中的步骤404、步骤405、步骤406、步骤408、步骤409和步骤410,还可以执行图5中的步骤
504、步骤505、步骤506、步骤508、步骤509和步骤510,还可以执行图6中的步骤604、步骤
605、步骤606、步骤608、步骤609和步骤610,还可以还行图7中的步骤706、步骤707和步骤
708,相关特征可以参照上文,此处不再赘述。
[0371] 本申请可以根据上述方法示例对终端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图9示出了一种装置示意图,该装置900可以是上述实施例中所涉及的终端,该装置900包括处理单元901和发送单元903。可选地,还包括接收单元902。
[0372] 在一种请求恢复连接的方法的实现中:
[0373] 所述处理单元901,用于根据新鲜性参数和所述装置的完整性保护密钥,生成消息认证码,其中,相邻两次生成消息认证码所使用的新鲜性参数不同;
[0374] 所述发送单元903,用于向目标基站发送连接恢复请求消息,所述连接恢复请求消息包括所述消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接。
[0375] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述装置尝试恢复所述RRC连接时被拒绝的次数。
[0376] 在一种可能的实现方式中,所述接收单元902,用于接收来自所述目标基站的连接恢复响应消息,所述连接恢复响应消息用于指示所述终端恢复所述RRC连接。
[0377] 在一种可能的实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数。
[0378] 在一种可能的实现方式中,所述新鲜性参数包括分组数据汇聚协议计数PDCP COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0379] 应理解,该终端可以用于实现本发明实施例的方法中由终端执行的步骤,相关特征可以参照上文,此处不再赘述。
[0380] 本申请可以根据上述方法示例对目标基站进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图10示出了一种装置示意图,该装置1000可以是上述实施例中所涉及的目标基站,该装置1000包括接收单元1001和发送单元1002。
[0381] 在一种请求恢复连接的方法的实现中:
[0382] 所述接收单元1001,用于接收来自终端的连接恢复请求消息,所述连接恢复请求消息包括消息认证码,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接,所述消息认证码是根据所述终端的完整性保护密钥生成的;
[0383] 所述发送单元1002,用于若拒绝恢复所述RRC连接,则向源基站发送通知消息,所述通知消息包括所述消息认证码。
[0384] 其中,通知消息具有以下功能中的一个或多个:
[0385] 通知消息用于通知更新源基站中的终端的上下文;
[0386] 通知消息用于通知目标基站将拒绝终端恢复连接;
[0387] 通知消息用于通知更新源基站中的终端的上下文的新鲜性参数;
[0388] 通知消息用于通知更新源基站中的终端的上下文的密钥。
[0389] 在一种可能的实现方式中,所述通知消息通知更新的所述终端的上下文包括接入层密钥。
[0390] 在一种可能的实现方式中,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,所述通知消息通知更新的所述终端的上下文包括所述新鲜性参数,其中,相邻两次生成消息认证码所使用的新鲜性参数不同。
[0391] 在一种可能的实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述通知消息还包括所述指示参数。
[0392] 在一种可能的实现方式中,所述新鲜性参数包括PDCP COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0393] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述装置尝试恢复所述RRC连接时被拒绝的次数。
[0394] 在另一种请求恢复连接的方法的实现中:
[0395] 所述接收单元1001,用于接收来自终端的连接恢复请求消息,所述连接恢复请求消息包括消息认证码,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,其中,相邻两次生成消息认证码所使用的新鲜性参数不同,所述连接恢复请求消息用于请求恢复无线资源控制RRC连接;
[0396] 所述发送单元1002,用于若恢复所述RRC连接,则向源基站发送上下文请求消息,所述上下文请求消息包括所述消息认证码,所述上下文请求消息用于请求获取所述终端的上下文。
[0397] 在一种可能的实现方式中,所述连接恢复请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述上下文请求消息还包括所述指示参数。
[0398] 在一种可能的实现方式中,所述新鲜性参数包括分组数据汇聚协议PDCP计数COUNT,所述指示参数包括所述PDCP COUNT的部分或全部比特位。
[0399] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述装置尝试恢复所述RRC连接时被拒绝的次数。
[0400] 应理解,该目标基站可以用于实现本发明实施例的方法中由目标基站执行的步骤,相关特征可以参照上文,此处不再赘述。
[0401] 本申请可以根据上述方法示例对源基站进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图11示出了一种装置示意图,该装置1100可以是上述实施例中所涉及的源基站,该装置1100包括处理单元1101、接收单元1102和发送单元1103。
[0402] 在一种请求恢复连接的方法的实现中:
[0403] 所述接收单元1102,用于接收来自目标基站的通知消息,所述通知消息包括消息认证码所述消息认证码是根据所述终端的完整性保护密钥生成的;
[0404] 所述处理单元1101,用于根据所述源基站的完整性保护密钥,校验所述消息认证码;以及,用于若校验所述消息认证码正确,则更新所述源基站中的所述终端的上下文。
[0405] 其中,通知消息具有以下功能中的一个或多个:
[0406] 通知消息用于通知更新源基站中的终端的上下文;
[0407] 通知消息用于通知目标基站将拒绝终端恢复连接;
[0408] 通知消息用于通知更新源基站中的终端的上下文的新鲜性参数;
[0409] 通知消息用于通知更新源基站中的终端的上下文的密钥。
[0410] 在一种可能的实现方式中,所述处理单元1101,具体用于更新所述源基站中的所述终端的上下文中的接入层密钥。
[0411] 在一种可能的实现方式中,所述消息认证码是根据新鲜性参数和所述终端的完整性保护密钥生成的,其中,相邻两次生成消息认证码所使用的新鲜性参数不同;
[0412] 所述处理单元1101,具体用于根据所述新鲜性参数和所述源基站的完整性保护密钥,校验所述消息认证码。
[0413] 在一种可能的实现方式中,所述通知消息还包括指示参数,所述指示参数用于指示所述新鲜性参数。
[0414] 在一种可能的实现方式中,所述新鲜性参数包括分组数据汇聚协议计数PDCP COUNT,所述处理单元1101,用于更新所述源基站中的所述终端的上下文,具体包括:
[0415] 若所述PDCP COUNT的数值大于所述终端的上下文中的PDCP COUNT的数值,则将所述终端的上下文中的PDCP COUNT的数值更新为所述指示参数指示的PDCP COUNT的数值。
[0416] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述装置尝试恢复所述RRC连接时被拒绝的次数。
[0417] 在一种可能的实现方式中,所述处理单元1101,具体用于将所述终端的上下文的拒绝次数加1。
[0418] 在另一种请求恢复连接的方法的实现中:
[0419] 所述接收单元1102,用于接收来自目标基站的上下文请求消息,所述上下文请求消息包括消息认证码,所述消息认证码是根据所述新鲜性参数和所述终端的完整性保护密钥生成的,其中,邻两次生成消息认证码所使用的新鲜性参数不同,所述上下文请求消息用于请求获取所述终端的上下文;
[0420] 所述处理单元1101,用于根据所述新鲜性参数和所述源基站的完整性保护密钥,校验所述消息认证码;以及,用于若校验所述消息认证码正确,则更新所述终端的上下文中的新鲜性参数;
[0421] 所述发送单元1103,用于向所述目标基站发送上下文响应消息,所述上下文响应消息包括所述终端的上下文。
[0422] 在一种可能的实现方式中,所述上下文请求消息还包括指示参数,所述指示参数用于指示所述新鲜性参数,所述新鲜性参数包括PDCP COUNT;所述处理单元1101根据更新所述源基站中的所述终端的上下文,具体包括:
[0423] 若所述PDCP COUNT的数值大于所述终端的上下文中的PDCP COUNT的数值,则将所述终端的上下文中的PDCP COUNT的数值更新为所述指示参数指示的PDCP COUNT的数值。
[0424] 在一种可能的实现方式中,所述指示参数包括所述PDCP COUNT的部分比特位;所述处理单元1101还用于:根据所述指示参数,确定所述指示参数指示的所述PDCP COUNT。
[0425] 在一种可能的实现方式中,所述新鲜性参数包括拒绝次数,所述拒绝次数用于表示所述装置尝试恢复所述RRC连接时被拒绝的次数;所述处理单元1101,用于根据更新所述源基站中的所述终端的上下文,包括:将所述终端的上下文中的拒绝次数重置为零。
[0426] 应理解,该源基站可以用于实现本发明实施例的方法中由源基站执行的步骤,相关特征可以参照上文,此处不再赘述。
[0427] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
[0428] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
[0429] 尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0430] 本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。
[0431] 本领域技术人员还可以了解到本申请实施例列出的各种说明性逻辑块(illustrative logical block)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。
[0432] 尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。