本申请涉及通信技术领域,尤其涉及了通信方法和相关产品。
背景技术:
在例如5g网络等通信网络中,互斥切片可以被定义为:当两个网络切片(networkslice)各自的单个网络切片辅助信息(s-nssai,networksliceselectionassistanceinformation)都在用户设备(ue,userequipment)的订阅数据中,并且,ue不能够同时访问这两个s-nssais之时,则这两个网络切片对ue是互相排斥的,那么两个网络切片可互称为互斥切片。
互斥切片的应用例子非常多,例如,某些公司、部门或者运营商等的内部规定禁止ue同时访问“常规的”和“特殊的”服务。具体例如,某个特定机构的官员所使用的ue受限只能处于off-duty模式(常规)或者on-duty模式(特殊),规定禁止该ue同时访问off-duty服务和on-duty服务。
当一个ue从网络切片slice1切换到与之互斥的网络切片slice2时,网络侧重新分配接入与移动性管理功能(amf,accessandmobilitymanagementfunction)。在切片切换过程中如何保证kamf的前向安全性是一个需要考虑的问题。
技术实现要素:
本申请实施例提供通信方法和相关产品。
第一方面,一种通信方法,包括:在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,所述ue发送注册请求消息,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息(nssai);所述ue获取第一amf密钥kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf(targetamf)的密钥,所述kamf_old为服务所述源切片的源amf(sourceamf)的密钥。
可见,本申请实施例上述方案,在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,ue获取第一amf密钥kamf_new,kamf_new不同于第二amf密钥kamf_old,由于kamf_new不同于kamf_old,进而可实现在互斥切片切换的场景下,sourceamf和targetamf之间的密钥隔离,进而可实现kamf前向安全。
在一些可能的实施方式中,所述ue获取所述第一amf密钥kamf_new之前,所述方法还可以包括:所述ue接收所述目标amf发送的携带密钥输入参数的第一消息,生成所述kamf_new使用到第一消息携带的密钥输入参数。
其中,第一消息携带的密钥输入参数例如包括如下密钥输入参数中的一种或多种:密钥输入参数t2、密钥输入参数t3或密钥输入参数t4。密钥输入参数t2例如由目标amf提供;密钥输入参数t3例如由ausf提供;密钥输入参数t4例如由seaf提供;密钥输入参数t5例如由aaa-s提供。
在一些可能的实施方式中,ue获取第一amf密钥kamf_new之前,方法还可包括:接收所述目标amf发送的携带有第一密钥更新指示的第二消息,所述第一密钥更新指示用于指示所述ue更新amf密钥。相应的,例如ue获取第一amf密钥kamf_new可以是在所述第一密钥更新指示的触发下执行。
例如,第二消息和第一消息可为同一消息,也可以是不同消息。例如第二消息和第一消息可为非接入层安全模式控制(nassecuritymodecommand)消息或其他消息。
在一些可能的实施方式中,所述注册请求消息可携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。例如密钥输入参数t1例如由ue提供,ue通过注册请求消息将密钥输入参数t1传递给网络侧,以便于网络侧据此生成所述kamf_new。
在一些可能的实施方式中,所述注册请求消息携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥。相应的,例如网络侧相关设备获取第一amf密钥kamf_new可以是在所述第二密钥更新指示的触发下执行。
第二方面,一种通信方法,可以包括:在ue从一个源切片转到另一个与之互斥的目标切片的情况下,服务所述目标切片的目标amf接收来自所述ue的注册请求消息,其中,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息nssai;所述目标amf获取第一amf密钥kamf_new,所述第一amf密钥kamf_new不同于第二amf密钥kamf_old,所述kamf_new为所述目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥。
在一些可能的实施方式中,所述注册请求消息还携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥;或者,所述目标amf获取所述kamf_new是在确定本地预设的密钥更新条件满足的情况下执行。
在一些可能的实施方式中,注册请求消息携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。当然生成所述kamf_new还可能使用到其它密钥输入参数。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向认证服务器功能ausf发送密钥更新服务请求,所述密钥更新服务请求中携带密钥输入参数t1和/或密钥输入参数t2;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带seaf密钥kseaf_new,生成所述kseaf_new使用到所述密钥输入参数t1和/或密钥输入参数t2;所述kseaf_new用于生成所述kamf_new。进一步的,所述目标amf可向所述ue发送携带生成所述kseaf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等等)的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向ausf发送密钥更新服务请求;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,生成所述kseaf_new使用到所述密钥输入参数t3;所述kseaf_new用于生成所述kamf_new;所述目标amf向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法可还包括:
所述目标amf向ausf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带密钥输入参数t2和/或密钥输入参数t1;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,其中,生成所述kseaf_new使用到所述密钥输入参数t3和携带于所述密钥更新服务请求的密钥输入参数;其中,所述kseaf_new用于生成所述kamf_new,所述目标amf向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向安全锚点功能seaf发送密钥更新服务请求,所述密钥更新服务调用请求中携带密钥输入参数t2和/或所述密钥输入参数t1;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new,其中,生成所述kamf_new使用到密钥输入参数t2和/或所述密钥输入参数t1。进一步的,所述目标amf可向所述ue发送携带生成所述kamf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向seaf发送密钥更新服务请求;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4;所述目标amf向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向发送seaf的密钥更新服务请求,其中,所述密钥更新服务请求中携带有密钥输入参数t2和/或所述密钥输入参数t1;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,生成所述kamf_new使用到所述密钥输入参数t4和携带于所述密钥更新服务的密钥输入参数;所述目标amf向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向切片认证和授权服务器aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5,生成所述kamf_new使用到所述密钥输入参数t5;
或者,
所述目标amf向aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5;其中,生成所述kamf_new使用到所述密钥输入参数t5,生成所述kamf_new还使用到密钥输入参数t1和/或密钥输入参数t2。
第三方面,一种通信方法,包括:
在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的密钥更新服务请求后,所述ausf生成kseaf_new,所述kseaf_new用于生成kamf_new;所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
所述ausf向所述目标amf返回对所述密钥更新服务请求的响应,其在,所述响应携带所述kseaf_new,所述kseaf_new用于生成所述kamf_new;
其中,生成kseaf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t3中的一种或多种;
其中,当生成kseaf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述密钥更新服务请求中;
其中,当生成kseaf_new使用到密钥输入参数t3,所述密钥更新服务请求的响应中携带所述密钥输入参数t3。
第四方面,一种通信方法,包括:
在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的seaf的密钥更新服务请求后,所述seaf生成kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
所述seaf向所述目标amf返回对所述密钥更新服务的响应,其中,所述响应携带所述kamf_new;
其中,生成所述kamf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t4中的一种或多种;
其中,当生成kamf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述密钥更新服务请求中;
其中,当生成kseaf_new使用到密钥输入参数t4,所述密钥更新服务请求的响应中携带所述密钥输入参数t4。
第五方面,一种用户设备ue,包括:
收发单元,用于在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,发送注册请求消息,其中,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息nssai;
处理单元,用于获取第一amf密钥kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥。
在一些可能的实施方式中,所述收发单元,还用于获取所述第一amf密钥kamf_new之前,接收所述目标amf发送的携带密钥输入参数的第一消息,生成所述kamf_new使用到所述密钥输入参数。
在一些可能的实施方式中,所述收发单元,还用于获取第一amf密钥kamf_new之前,接收所述目标amf发送的携带有第一密钥更新指示的第二消息,所述第一密钥更新指示用于指示所述ue更新amf密钥。
在一些可能的实施方式中,所述注册请求消息携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。
在一些可能的实施方式中,所述注册请求消息携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥。
第六方面,一种目标amf,包括:
收发单元,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,接收来自所述ue的注册请求消息,其中,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息nssai;
处理单元,用于获取第一amf密钥kamf_new,所述第一amf密钥kamf_new不同于第二amf密钥kamf_old,所述kamf_new为所述目标amf的密钥,其中,所述目标amf为服务所述目标切片的amf,所述kamf_old为服务所述源切片的源amf的密钥。
在一些可能的实施方式中,所述注册请求消息还携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥;或者,所述目标amf获取所述kamf_new是在确定本地预设的密钥更新条件满足的情况下执行。
在一些可能的实施方式中,所述注册请求消息携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,
向认证服务器功能ausf发送密钥更新服务请求,所述密钥更新服务请求中携带密钥输入参数t1和/或密钥输入参数t2;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带seaf密钥kseaf_new,生成所述kseaf_new使用到所述密钥输入参数t1和/或密钥输入参数t2;所述kseaf_new用于生成所述kamf_new。
进一步的,所述收发单元还可用于向所述ue发送携带生成所述kseaf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,
向ausf发送密钥更新服务请求;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,其中,生成所述kseaf_new使用到所述密钥输入参数t3;所述kseaf_new用于生成所述kamf_new;向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,向ausf发送密钥更新服务请求,所述密钥更新服务请求中携带密钥输入参数t2和/或密钥输入参数t1;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,生成所述kseaf_new使用到所述密钥输入参数t3和携带于所述密钥更新服务请求的密钥输入参数;所述kseaf_new用于生成所述kamf_new,向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,向安全锚点功能seaf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带密钥输入参数t2和/或所述密钥输入参数t1;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new,其中,生成所述kamf_new使用到密钥输入参数t2和/或所述密钥输入参数t1。进一步的,所述收发单元还可用于向所述ue发送携带生成所述kamf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,向seaf发送密钥更新服务请求;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4;向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能的实施方式之中,所述收发单元,还用于在接收来自所述ue的注册请求消息之后,向seaf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带有密钥输入参数t2和/或所述密钥输入参数t1;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4和携带于所述密钥更新服务请求的密钥输入参数;向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能实施方式中,收发单元,还用于在接收来自所述ue的注册请求消息后,向切片认证和授权服务器(aaa-s)发送携带密钥参数指示的消息;密钥参数指示用于指示aaa-s生成密钥输入参数t5;接收所述aaa-s发送的密钥生成参数t5,生成所述kamf_new可使用到所述密钥输入参数t5;
或者,所述目标amf向aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5;生成所述kamf_new使用到所述密钥输入参数t5,生成所述kamf_new还使用到密钥输入参数t1和/或密钥输入参数t2。
第七方面,一种认证服务器功能ausf,包括:
处理单元,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的密钥更新服务请求后,所述ausf生成kseaf_new,所述kseaf_new用于生成kamf_new;所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
收发单元,用于向所述目标amf返回对所述密钥更新服务请求的响应,其在,所述响应携带所述kseaf_new,所述kseaf_new用于生成所述kamf_new;
其中,生成kseaf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t3中的一种或多种;
其中,当生成kseaf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述ausf的密钥更新服务请求中;
其中,当生成kseaf_new使用到密钥输入参数t3,所述密钥更新服务请求的响应中携带所述密钥输入参数t3。
第八方面,一种安全锚点功能seaf,可包括:
处理单元,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的密钥更新服务请求后,所述seaf生成kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
收发单元,用于向所述目标amf返回对所述密钥更新服务请求的响应,其中,所述响应携带所述kamf_new;
其中,生成所述kamf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t4中的一种或多种;
其中,当生成kamf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述seaf的密钥更新服务请求中;
其中,当生成kseaf_new使用到密钥输入参数t4,所述密钥更新服务请求的响应中携带所述密钥输入参数t4。
上述一些举例中提到了密钥输入参数t1、密钥输入参数t2、密钥输入参数t3、密钥输入参数t4和密钥输入参数t5。密钥输入参数t1例如可由ue提供;密钥输入参数t2例如可由目标amf提供;密钥输入参数t3例如可由ausf提供;密钥输入参数t4例如可由seaf提供;密钥输入参数t5例如可由aaa-s提供。
第九方面,一种用户设备,包括:相互耦合的处理器和存储器;其中,所述处理器用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由ue执行的部分或全部步骤。
第十方面,一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,以完成执行本申请实施例提供的任意一种方法中由ue执行的部分或全部步骤。
第十一方面,一种目标amf,包括:相互耦合的处理器和存储器;其中,所述处理器用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由目标amf执行的部分或全部步骤。
第十二方面,一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,以完成本申请实施例提供的任意一种方法中由目标amf执行的部分或全部步骤。
第十三方面,一种ausf,包括:相互耦合的处理器和存储器;其中,所述处理器用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由ausf执行的部分或全部步骤。
第十四方面,一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,以完成本申请实施例提供的任意一种方法中由ausf执行的部分或全部步骤。
第十五方面,一种seaf,包括:相互耦合的处理器和存储器;其中,所述处理器用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由seaf执行的部分或全部步骤。
第十六方面,一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,以完成本申请实施例提供的任意一种方法中由seaf执行的部分或全部步骤。
第十七方面,一种通信方法,包括:
在ue从一个源切片转到另一个与之互斥的目标切片的情况下,切片认证和授权服务器aaa-s接收来自目标amf的携带密钥参数指示的消息,所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;
生成密钥输入参数t5;向所述目标amf发送密钥生成参数t5,其中,生成第一amf密钥kamf_new可使用到所述密钥输入参数t5;其中,所述第一amf密钥kamf_new不同于第二amf密钥kamf_old,所述kamf_new为所述目标amf的密钥,其中,所述目标amf为服务所述目标切片的amf,所述kamf_old为服务所述源切片的源amf的密钥。
第十八方面,一种切片认证和授权服务器aaa-s,包括:
收发单元,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,接收来自目标amf的携带密钥参数指示的消息,密钥参数指示用于指示aaa-s生成密钥输入参数t5;
处理单元,用于生成密钥输入参数t5;
收发单元还用于,向所述目标amf发送密钥生成参数t5,其中,生成第一amf密钥kamf_new可使用到所述密钥输入参数t5;其中,所述第一amf密钥kamf_new不同于第二amf密钥kamf_old,所述kamf_new为所述目标amf的密钥,其中,所述目标amf为服务所述目标切片的amf,所述kamf_old为服务所述源切片的源amf的密钥。
第十九方面,一种切片认证和授权服务器aaa-s包括:相互耦合的处理器和存储器;所述处理器用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由aaa-s执行的部分或全部步骤。
第二十方面,一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,以完成本申请实施例提供的任意一种方法中由aaa-s执行的部分或全部步骤。
第二十一方面,本申请实施例提供了一种包括指令的计算机程序产品,当所述计算机程序产品计算机设备上运行时,使得计算机设备可执行以本申请实施例提供的任意设备执行的任意一种方法的部分或全部步骤。
附图说明
下面将对本申请实施例涉及的一些附图进行说明。
图1-a是本申请实施例提供的一种通信系统的结构示意图。
图1-b是本申请实施例提供的一种通信方法的流程示意图
图2是本申请实施例提供的另一种通信方法的流程示意图。
图3是本申请实施例提供的另一种通信方法的流程示意图。
图4是本申请实施例提供的另一种通信方法的流程示意图。
图5是本申请实施例提供的另一种通信方法的流程示意图。
图6是本申请实施例提供的另一种通信方法的流程示意图。
图7是本申请实施例提供的另一种通信方法的流程示意图。
图8是本申请实施例提供的另一种通信方法的流程示意图。
图9是本申请实施例提供的另一种通信方法的流程示意图。
图10是本申请实施例提供的另一种通信方法的流程示意图。
图11是本申请实施例提供的一种用户设备的结构示意图。
图12是本申请实施例提供的一种目标amf的结构示意图。
图13是本申请实施例提供的一种ausf的结构示意图。
图14是本申请实施例提供的一种seaf的结构示意图。
图15是本申请实施例提供的另一种用户设备的结构示意图。
图16是本申请实施例提供的另一种目标amf的结构示意图。
图17是本申请实施例提供的另一种ausf的结构示意图。
图18是本申请实施例提供的另一种seaf的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
参见图1-a,图1-a是本申请实施例举例的一种5g网络架构的示意图。其中,5g网络对4g网络的某些功能网元(例如移动性管理实体(mme,mobilitymanagemententity)等等)进行了一定拆分,并定义了基于服务化架构的架构。在图1-a所示网络架构中,类似4g网络中的mme的功能,被拆分成了接入与移动性管理功能(amf,accessandmobilitymanagementfunction)和会话管理功能(smf,sessionmanagementfunction)等等。
下面对其他一些相关网元/实体进行介绍。
用户终端(ue,userequipment)通过接入运营商网络来访问数据网络(dn,datanetwork)等等,使用dn上的由运营商或第三方提供的业务。
接入与移动性管理功能(amf)是3gpp网络中的一种控制面网元,主要负责ue接入运营商网络的接入控制和移动性管理。其中,安全锚点功能(seaf,securityanchorfunction)可以部署于amf之中,或seaf也可能部署于不同于amf的另一设备中,图1-a中以seaf被部署于amf中为例。当seaf被部署于amf中时,seaf和amf和合称amf。
会话管理功能(smf)是3gpp网络中的一种控制面网元,其中,smf主要用于负责管理ue的数据包(pdu,packetdataunit)会话。pdu会话是一个用于传输pdu的通道,ue可以通过pdu会话与dn互相发送pdu。smf负责pdu会话的建立、维护和删除等管理工作。
数据网络(dn,datanetwork)也称为分组数据网络(pdn,packetdatanetwork),是位于3gpp网络之外的网络。其中,3gpp网络可接入多个dn,dn上可部署运营商或第三方提供的多种业务。例如,某个dn是一个智能工厂的私有网络,安装在智能工厂车间的传感器扮演ue的角色,dn中部署了传感器的控制服务器。ue与控制服务器通信,ue在获取控制服务器的指令之后,可根据这个指令将采集的数据传递给控制服务器。又例如,dn是一个公司的内部办公网络,该公司员工所使用的终端则可扮演ue的角色,这个ue可以访问公司内部的信息和其他资源。
其中,统一数据管理网元(udm,unifieddatamanagement)也是3gpp网络中的一种控制面网元,udm主要负责存储3gpp网络中签约用户(ue)的签约数据、信任状(credential)和持久身份标识(supi,subscriberpermanentidentifier)等。这些数据可以被用于ue接入运营商3gpp网络的认证和授权。
认证服务器功能(ausf,authenticationserverfunction)也是3gpp网络中的一种控制面网元,ausf主要用于第一级认证(即3gpp网络对其签约用户的认证)。
其中,网络开放功能(nef,networkexposurefunction)也是3gpp网络之中的一种控制面网元。nef主要负责以安全的方式对第三方开放3gpp网络的对外接口。其中,在smf等网元需要与第三方网元通信时,可以以nef为通信的中继。其中,中继时,nef可以进行内外部标识的翻译。比如,将ue的supi从3gpp网络发送到第三方时,nef可以将supi翻译成其对应的外部身份标识(id,identity)。反之,nef可以将外部身份id在发送到3gpp网络时,将其翻译成对应的supi。
其中,网络存储功能(nrf,networkrepositoryfunction)也是3gpp网络中的一种控制面网元,主要负责存储可被访问的网络功能(nf)的配置额服务资料(profile),为其他网元提供网络功能的发现服务。
用户面功能(upf,userplanefunction)是3gpp网络与dn通信的网关。
策略控制功能(pcf,policycontrolfunction)是3gpp网络中的一种控制面功能,用于向smf提供pdu会话的策略。策略可包括计费、服务质量(qos,qualityofservice)、授权相关策略等。
接入网(an,accessnetwork)是3gpp网络的一个子网络,ue要接入3gpp网络,首先需要经过an。在无线接入场景下an也称无线接入网(ran,radioaccessnetwork),因此ran和an这两个术语经常不做区分的混用。
3gpp网络是指符合3gpp标准的网络。其中,图1-a中除了ue和dn以外的部分可看作是3gpp网络。3gpp网络不只局限于3gpp定义的5g网络,还可包括2g、3g、4g网络。通常3gpp网络由运营商来运营。此外,在图1-a所示架构中的n1、n2、n3、n4、n6等分别代表相关网元/网络功能之间的参照点(referencepoint)。nausf、namf...等,分别代表相关网络功能的服务化接口。本申请实施例的技术方案可以基于图1-a举例所示架构的通信系统或其形变架构来具体实施。
本申请实施例提供一些在amf重新分配情况下实现安全通信的方案,例如实现前向安全性的方案。
其中,前向安全性:服务slice1(网络切片1)的amf,即sourceamf(源amf),不能获取ue和targetamf(目标amf)之间的amf密钥kamf。后向安全性:服务slice2(网络切片2)的amf,即targetamf,不能获取ue和sourceamf之间的amf密钥kamf。例如网络切片1与网络切片2为互斥的两个网络切片。
为简化描述,本申请一些实施例有时候也将网络切片简称为“切片”,即切片和网络切片有时候是混用的。
下面通过具体一些实施例进行举例说明。
参见图1-b,图1-b为本申请实施例提供的一种通信方法的流程示意图。一种通信方法可包括:
101.在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,所述ue向目标amf发送注册请求消息,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息(nssai)。
相应的,服务所述目标切片的目标amf接收来自所述ue的注册请求消息。
102.所述ue获取第一amf密钥kamf_new。
103.所述目标amf获取第一amf密钥kamf_new。
其中,kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的targetamf的密钥,所述kamf_old为服务所述源切片的sourceamf的密钥。
其中,步骤102和步骤103的没有必然的执行先后顺序。
在一些可能的实施方式中,所述ue获取所述第一amf密钥kamf_new之前,所述方法还可以包括:所述ue接收所述目标amf发送的携带密钥输入参数的第一消息,生成所述kamf_new使用到第一消息携带的密钥输入参数。
其中,第一消息携带的密钥输入参数例如包括如下密钥输入参数中的一种或多种:密钥输入参数t2、密钥输入参数t3或密钥输入参数t4。密钥输入参数t2例如由目标amf提供;密钥输入参数t3例如由ausf提供;密钥输入参数t4例如由seaf提供;密钥输入参数t5例如由aaa-s提供。
在一些可能的实施方式中,ue获取第一amf密钥kamf_new之前,方法还可包括:接收所述目标amf发送的携带有第一密钥更新指示的第二消息,所述第一密钥更新指示用于指示所述ue更新amf密钥。相应的,例如ue获取第一amf密钥kamf_new可以是在所述第一密钥更新指示的触发下执行。
例如,第二消息和第一消息可为同一消息,也可以是不同消息。例如第二消息和第一消息可为非接入层安全模式控制(nassecuritymodecommand)消息或其他消息。
在一些可能的实施方式中,所述注册请求消息可携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。例如密钥输入参数t1例如由ue提供,ue通过注册请求消息将密钥输入参数t1传递给网络侧,以便于网络侧据此生成所述kamf_new。
在一些可能的实施方式中,所述注册请求消息还携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥。相应的,例如网络侧相关设备获取第一amf密钥kamf_new可以是在所述第二密钥更新指示的触发下执行。
可见,本实施例上述方案,可实现在切片切换场景下sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向认证服务器功能ausf发送密钥更新服务请求(目标amf通过向认证服务器功能ausf发送密钥更新服务请求,来调用ausf的密钥更新服务),所述密钥更新服务请求中携带密钥输入参数t1和/或密钥输入参数t2;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带seaf密钥kseaf_new,生成所述kseaf_new使用到所述密钥输入参数t1和/或密钥输入参数t2;所述kseaf_new用于生成所述kamf_new。进一步的,所述目标amf可向所述ue发送携带生成所述kseaf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等等)的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向ausf发送密钥更新服务请求;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,生成所述kseaf_new使用到所述密钥输入参数t3;所述kseaf_new用于生成所述kamf_new;所述目标amf向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法可还包括:
所述目标amf向ausf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带密钥输入参数t2和/或密钥输入参数t1;所述目标amf接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,其中,生成所述kseaf_new使用到所述密钥输入参数t3和携带于所述密钥更新服务请求的密钥输入参数;其中,所述kseaf_new用于生成所述kamf_new,所述目标amf向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向安全锚点功能seaf发送密钥更新服务请求,所述密钥更新服务调用请求中携带密钥输入参数t2和/或所述密钥输入参数t1;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new,其中,生成所述kamf_new使用到密钥输入参数t2和/或所述密钥输入参数t1。进一步的,所述目标amf可向所述ue发送携带生成所述kamf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向seaf发送密钥更新服务请求;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4;所述目标amf向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的请求接入所述目标切片的注册请求消息之后,所述方法还可包括:
所述目标amf向发送seaf的密钥更新服务请求,其中,所述密钥更新服务请求中携带有密钥输入参数t2和/或所述密钥输入参数t1;所述目标amf接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,生成所述kamf_new使用到所述密钥输入参数t4和携带于所述密钥更新服务的密钥输入参数;所述目标amf向所述ue发送携带所述密钥输入参数t4的第一消息。此外,第一消息还可携带生成所述kamf_new使用到其它部分或全部密钥输入参数。
在一些可能的实施方式中,所述目标amf在接收来自所述ue的注册请求消息之后,所述方法还可包括:
所述目标amf向切片认证和授权服务器aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5,生成所述kamf_new使用到所述密钥输入参数t5,
或者,
所述目标amf向aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5;其中,生成所述kamf_new使用到所述密钥输入参数t5,生成所述kamf_new还使用到密钥输入参数t1和/或密钥输入参数t2。
可见,本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于通过主认证来更新整个密钥体系,来实现kamf前向安全方案,本申请实施例方案的相关效率明显提高。
参见图2,图2为本申请实施例举例提供的一种通信方法的流程示意图。一种通信方法可以包括:
201.在ue从一个源切片转到另一个与之互斥的目标切片的情况下,所述目标amf向ausf发送密钥更新服务请求。
其中,目标amf可在接收到来自ue的请求接入所述目标切片的注册请求消息后,请求ausf的密钥更新服务。
202.在接收到来自目标amf的密钥更新服务请求后,所述ausf生成kseaf_new,所述kseaf_new用于生成kamf_new。
其中,生成kseaf_new例如使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t3中的一种或多种。
其中,当生成kseaf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述密钥更新服务请求中。
203.ausf向所述目标amf返回对所述密钥更新服务请求的响应,其在,所述响应携带所述kseaf_new。
204.接收对密钥更新服务请求的响应之后,目标amf使用kseaf_new生成kamf_new。所述kamf_new不同于第二amf密钥kamf_old,其中,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥。
其中,当生成kseaf_new使用到密钥输入参数t3,所述密钥更新服务请求的响应中携带所述密钥输入参数t3。
可见,本实施例上述方案,可以实现在切片切换场景下sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。
可见,本实施例方案无需通过主认证来更新整个密钥体系,利用ausf的密钥更新服务来更新kseaf_new和kamf_new,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于通过主认证来更新整个密钥体系,来实现kamf前向安全方案,本申请实施例方案的相关效率明显提高。
例如如果采用主认证流程,seaf向ausf请求进行ue认证,ausf接受到请求之后向udm请求生成认证向量,基于认证向量,ue和服务网络及归属网络进行相互认证,在香港认证成功能之后,才更新服务网络的密钥体系。主认证过程中,整个密钥体系都进行更新,包括更新ausf密钥。本申请实施例一些方案中,主要seaf向ausf请求进行密钥更新。更新的是seaf密钥和amf密钥。ausf密钥没有更新,也不需要udm参与,相关效率明显提高。
参见图3,图3为本申请实施例举例提供的另一种通信方法的流程示意图。另一种通信方法可以包括:
301.在ue从一个源切片转到另一个与之互斥的目标切片的情况下,所述目标amf向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
目标amf可在接收到来自ue的注册请求消息之后,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
302.在接收到来自目标amf的密钥更新服务请求后,所述seaf生成kamf_new。所述kamf_new不同于第二amf密钥kamf_old,其中,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥。
其中,生成所述kamf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t4中的一种或多种;
其中,当生成kamf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述密钥更新服务请求中。
303.seaf向所述目标amf返回对所述密钥更新服务请求的响应,其中,所述响应携带所述kamf_new。
相应的,所述目标amf接收seaf返回的对密钥更新服务请求的响应,所述目标amf从所述响应获取kamf_new。
其中,当生成kseaf_new使用到密钥输入参数t4,所述密钥更新服务请求的响应中携带所述密钥输入参数t4。进而可通过目标amf将密钥输入参数t4传递给ue.
可见,本实施例上述方案,可以实现在切片切换场景下sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。
并且,本实施例方案无需通过主认证来更新整个密钥体系,利用seaf的密钥更新服务来更新kamf_new,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于通过主认证来更新整个密钥体系来实现kamf前向安全的方案,本申请实施例方案的相关效率明显提高。
其中,在本申请一些实施例中,触发更新目标amf密钥的条件可以是:由ue指示目标amf更新目标amf的密钥;或者目标amf通过判断本地预设的密钥更新条件是否满足来判断是否需要更新目标amf的密钥。触发ue更新目标amf的密钥的条件可以是:ue自己通过判断本地预设的密钥更新条件是否满足来判断是否需要更新目标amf的密钥,或者由目标amf指示ue目标amf的密钥。
其中,网络侧生成kamf_new给targetamf使用。网络侧在生成kamf_new时,可以由不同的网元配合完成,例如:ausf生成一个新的kseaf,即kseaf_new。seaf根据kseaf_new生成kamf_new;例如:seaf生成kamf_new;例如:targetamf生成kamf_new。
ue与网络侧采用同样的方式生成kamf_new。
关于生成kamf_new需使用到的密钥输入参数。生成kamf_new时可引入新参数,以保证kamf_new和sourceamf的kamf(或其水平推演生成的kamf’)之间的隔离。
其中,密钥输入参数可能包括但不限于如下参数的一种或多种:随机数、密钥更新counter、nasulcounter、目标切片实例的标识符、目标切片实例的描述信息、目标切片所属的切片组或者切片类的标识符、目标切片所属的切片组或者切片类的描述信息等。
当然,本申请实际上不对生成kamf_new使用的参数做特别限制,只要求使用的这些参数生成的kamf_new和sourceamf的kamf_old(或者其水平生成的kamf’)是隔离的即可。
下面通过一些更具体的应用场景进行举例说明。
参见图4,图4为本申请实施例提供的另一种通信方法的流程示意图。
本实施例中,以seaf和amf一体部署(这种情况下seaf和amf可合称amf)为例。在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,由ausf来生成kseaf_new,将生成的kseaf_new发送给targetamf(内置seaf)。targetamf根据kseaf_new生成kamf_new。生成kseaf_new和kamf_new要使用到的一些参数由ue提供。
如图4举例所示,一种通信方法可包括:
401.ue发送注册请求(registrationrequest)消息。
其中,所述注册请求消息携带ue请求接入的目标切片的nssai(s),所述注册请求消息还携带生成新amf密钥kamf_new需使用到的密钥输入参数t1。
其中,密钥输入参数t1可以包括以下参数的一种或者几种:ue生成的随机数、ue和ausf之间同步维护的用于密钥更新的counter、目标切片的s-nssai、目标切片所属的切片组(或者切片类class)的描述信息、目标切片所属的切片组(或者切片类)的标识符、目标切片实例的描述信息、目标切片实例的标识符等等。密钥输入参数t1的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t1的具体类型做限制,只要满足该目的输入参数都可以。
可选地,所述注册请求消息还可携带密钥输入参数t1的完整性验证信息auth_t1。auth_t1可用于ausf验证密钥输入参数t1的来源是否为是ue,还可用于验证密钥输入参数t1是否被篡改等等。auth_t1的一种样例:auth_t1=hmac(kausf,密钥输入参数t1)。这里不对auth_t1的具体形式做限制,只要可满足:ausf通过auth_t1能够验证密钥输入参数t1的来源和密钥输入参数t1是否被篡改即可。
可选地,注册请求消息还可携带new_kseaf_kamf_indicator。其中,ue使用这个new_kseaf_kamf_indicator来通知targetamf网络侧需要生成kseaf_new和kamf_new。当然ue也可通过其他方式来通知网络侧需要生成kseaf_new和kamf_new。
402.targetamf接收注册请求后,targetamf发起ue上下文传输(uecontexttransfer)流程。其中,targetamf通过uecontexttransfer流程可从sourceamf处获取sourceamf的密钥kamf_old和ue的持久身份标识(supi,subscriberpermanentidentifier)等。
403.targetamf向ausf发送密钥更新服务请求(nausf_keyupdate_meansrequest),以请求调用ausf的密钥更新服务。
若注册请求消息携带有new_kseaf_kamf_indicator(即kseaf_kamf更新指示),那么targetamf可以在注册请求消息携带的new_kseaf_kamf_indicator的指示下,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
此外,如果注册请求消息未携带new_kseaf_kamf_indicator,那么targetamf可以在确定预置的密钥更新条件满足时,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
其中,在向ausf发送的密钥更新服务请求中可以携带来自于注册请求消息的密钥输入参数t1。
其中,在向ausf发送的密钥更新服务请求中还可携带ue的持久身份标识(supi)和服务网络名称(sn-name)等。
如果若注册请求消息携带完整性验证信息auth_t1,则向ausf发送的密钥更新服务请求中还携带完整性验证信息auth_t1。
404.ausf接收来自targetamf的密钥更新服务请求。
其中,若来自targetamf的密钥更新服务请求中携带的密钥输入参数t1包括ue和ausf之间同步维护的用于密钥更新的counter,则ausf可进一步检测密钥输入参数t1包括的counter是否可接受。如果不能接受,则ausf可以返回错误原因给targetamf,并可终止后面的密钥更新流程。
若来自targetamf的密钥更新服务请求中携带auth_t1,则ausf则验证密钥输入参数t1的来源和密钥输入参数t1是否被篡改。如果被篡改,则ausf返回错误原因给targetamf,并可终止后面的密钥更新流程。
ausf生成kseaf_new。其中,生成kseaf_new使用kausf作为输入密钥,密钥输入参数可包括密钥输入参数t1和sn-name等。
405、ausf向targetamf发送密钥更新服务响应(nausf_keyupdate_meansresponse)。
其中,如果密钥更新成功,密钥更新服务响应(即对密钥更新服务请求的响应)中携带成功指示(success)和kseaf_new等等,此外,如果密钥更新失败,密钥更新服务响应中可携带失败原因等。
406、targetamf接收来自ausf的密钥更新服务响应。
其中,如果密钥更新服务响应指示密钥更新成功,则targetamf生成kamf_new(具体由内置于targetamf中的seaf生成kamf_new)。
其中,targetamf生成kamf_new所使用的输入密钥为kseaf_new。其中,kamf_new的密钥输入参数包括supi和abba(anti-biddingdownbetweenarchitectures,不同架构的防降维攻击)等。kamf_new的密钥输入参数还可包括密钥输入参数t1。
例如kamf_new=kdf(kseaf_new,supi,abba,[t1])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
407.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kseaf_kamf_indicator,那么targetamf可在消息m4中携带new_kseaf_kamf_indicator,其中,这个new_kseaf_kamf_indicator可以用于指示ue生成kseaf_new和kamf_new。如果注册请求消息中携带new_kseaf_kamf_indicator,那么targetamf可不在消息m4中携带new_kseaf_kamf_indicator。
其中,消息m4还可携带密钥输入参数t1等。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
408.ue接收到来自targetamf的消息m4。
其中,如果消息m4中携带new_kseaf_kamf_indicator,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。
此外,ue也可自己判断是否需要生成kseaf_new和kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kseaf_new和kamf_new和生成kseaf_new和kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止相关流程等。
ue向targetamf发送消息m5来通知targetamf完成密钥激活。消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
409.执行目标切片的网络切片认证流程。
410.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t1可包括ue和ausf之间维护的密钥更新counter。该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤401-409发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由ue来提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
参见图5,图5为本申请实施例提供的另一种通信方法的流程示意图。
以seaf和amf一体部署(这种情况下seaf和amf可合称amf)为例。在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,由ausf来生成kseaf_new,将生成的kseaf_new发送给targetamf(内置seaf)。targetamf根据kseaf_new生成kamf_new。生成kseaf_new和kamf_new要使用到的一些参数由targetamf提供。
如图5举例所示,一种通信方法可包括:
501.ue发送注册请求消息。
其中,所述注册请求消息携带请求接入的目标切片的nssai(s)。
可选地,注册请求消息还可携带new_kseaf_kamf_indicator。其中,ue使用这个new_kseaf_kamf_indicator来通知targetamf网络侧需要生成kseaf_new和kamf_new。当然ue也可通过其他方式来通知网络侧需要生成kseaf_new和kamf_new。
502.targetamf接收注册请求后,targetamf发起ue上下文传输(uecontexttransfer)流程。其中,targetamf通过uecontexttransfer流程可从sourceamf处获取sourceamf的密钥kamf_old、ue的持久身份标识(supi)、网络切片的实例等。
503.targetamf向ausf发送密钥更新服务请求nausf_keyupdate_meansrequest。
若注册请求消息携带有new_kseaf_kamf_indicator(即kseaf_kamf更新指示),那么targetamf可以在注册请求消息携带的new_kseaf_kamf_indicator的指示下,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
此外,如果注册请求消息未携带new_kseaf_kamf_indicator,那么targetamf可以在确定预置的密钥更新条件满足时,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
其中,在向ausf发送的密钥更新服务请求中携带密钥输入参数t2。其中这个密钥输入参数t2可以是以下参数的一种或者几种:targetamf生成的随机数、targetamf和ausf之间维护的用于密钥更新的counter(可以简称密钥更新counter)、、目标切片所属的切片组(或切片类)的描述信息、目标切片所属的切片组(或切片类)的标识符、nasulcounter目标切片的s-nssai目标切片实例的描述信息、目标切片实例的标识符、targetamf的标识符、targetamf的实例的描述信息、targetamf的实例标识符、targetamf所属的amfset的描述信息、或者targetamf所属的amfset的标识符等等。密钥输入参数t2的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t2的具体类型做限制,只要满足该目的输入参数都可以。
其中,在向ausf发送的密钥更新服务请求中可以携带来自于注册请求消息的密钥输入参数t2。
其中,在向ausf发送的密钥更新服务请求中还可以携带ue的持久身份标识(supi)和服务网络名称(sn-name)等。
504.ausf接收targetamf的密钥更新服务请求nausf_keyupdate_meansrequest。
其中,若来自targetamf的密钥更新服务请求中携带的密钥输入参数t2包括targetamf和ausf之间同步维护的用于密钥更新的counter,则ausf可进一步检测密钥输入参数t2包括的counter是否可接受。如果不能接受,则ausf可以返回错误原因给targetamf,并可终止后面的密钥更新流程。
ausf生成kseaf_new。其中,生成kseaf_new使用kausf作为输入密钥,密钥输入参数可包括密钥输入参数t2和sn-name等。
505、ausf向targetamf发送密钥更新服务响应nausf_keyupdate_meansresponse。
其中,如果密钥更新成功,密钥更新服务响应(即对密钥更新服务请求的响应)中携带成功指示(success)和kseaf_new等等,此外,如果密钥更新失败了,密钥更新服务的响应中可以携带失败原因等。
506、targetamf接收来自ausf的密钥更新服务响应。
如果密钥更新服务响应指示密钥更新成功,则targetamf生成kamf_new(具体由内置于targetamf中的seaf生成kamf_new)。
其中,targetamf生成kamf_new所使用的输入密钥为kseaf_new。其中,kamf_new的密钥输入参数包括supi和abba等。kamf_new的密钥输入参数还可包括密钥输入参数t2。
例如kamf_new=kdf(kseaf_new,supi,abba,[t2])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
507.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kseaf_kamf_indicator,那么targetamf可在消息m4中携带new_kseaf_kamf_indicator,其中,这个new_kseaf_kamf_indicator可以用于指示ue生成kseaf_new和kamf_new。如果注册请求消息中携带new_kseaf_kamf_indicator,那么targetamf可不在消息m4中携带new_kseaf_kamf_indicator。
如果密钥输入参数t2中的一些参数,ue不知道,比如targetamf生成的随机数、targetamf和ausf维护的密钥更新counter等,则targetamf在消息m4中携带这些参数,或者targetamf也可在消息m4中携带密钥输入参数t2包括的所有参数。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
508.ue接收到来自targetamf的消息m4。
如果消息m4中携带new_kseaf_kamf_indicator,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。
此外,ue也可自己判断是否需要生成kseaf_new和kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kseaf_new和kamf_new和生成kseaf_new和kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止相关流程等。
ue进一步向targetamf发送消息m5来通知targetamf完成密钥激活。消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
509.执行目标切片的网络切片认证流程。
510.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t2可以包括targetamf和ausf之间维护的密钥更新counter。其中,该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤501-509发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由targetamf提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而可以实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
参见图6,图6为本申请实施例提供的另一种通信方法的流程示意图。
本实施例中,以seaf和amf一体部署(这种情况下seaf和amf可合称amf)为例。在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,由ausf来生成kseaf_new,将生成的kseaf_new发送给targetamf(内置seaf)。targetamf根据kseaf_new生成kamf_new。生成kseaf_new和kamf_new要使用到的一些参数由ausf提供。
如图6举例所示,另一种通信方法可包括:
601.ue发送注册请求消息。
其中,所述注册请求消息携带请求接入的目标切片的nssai(s)。
可选地,注册请求消息还可携带new_kseaf_kamf_indicator。其中,ue使用这个new_kseaf_kamf_indicator来通知targetamf网络侧需要生成kseaf_new和kamf_new。当然ue也可通过其他方式来通知网络侧需要生成kseaf_new和kamf_new。
602.targetamf接收注册请求后,targetamf发起ue上下文传输(uecontexttransfer)流程。其中,targetamf通过uecontexttransfer流程可从sourceamf处获取sourceamf的密钥kamf_old、ue的持久身份标识(supi)、网络切片的实例等。
603.targetamf向ausf发送密钥更新服务请求nausf_keyupdate_meansrequest。
若注册请求消息携带有new_kseaf_kamf_indicator(即kseaf_kamf更新指示),那么targetamf可以在注册请求消息携带的new_kseaf_kamf_indicator的指示下,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
此外,如果注册请求消息未携带new_kseaf_kamf_indicator,那么targetamf可以在确定预置的密钥更新条件满足时,向ausf发送密钥更新服务请求,以请求调用ausf的密钥更新服务。
在密钥更新服务请求中还可以携带ue的持久身份标识(supi)和服务网络名称(sn-name)等等。
604.ausf接收来自targetamf的密钥更新服务请求nausf_keyupdate_meansrequest。
ausf生成kseaf_new。其中,生成kseaf_new使用kausf作为输入密钥,密钥输入参数包括密钥输入参数t3和sn-name。
其中,密钥输入参数t3可以是以下输入参数中的一种或者几种:targetamf和ausf之间维护的密钥更新counter、ausf生成的随机数等。使用密钥输入参数t3的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t3的具体类型做限制,只要满足该目的输入参数都可以。
605、ausf向targetamf发送密钥更新服务响应nausf_keyupdate_meansresponse。
其中,如果密钥更新成功,密钥更新服务响应即对密钥更新服务请求的响应中携带成功指示(success)、kseaf_new和密钥输入参数t3等,此外,如果密钥更新失败了,密钥更新服务响应中可以携带失败原因等。
606、targetamf接收来自ausf的密钥更新服务响应。
如果密钥更新服务响应指示密钥更新成功,则targetamf生成kamf_new(具体由内置于targetamf中的seaf生成kamf_new)。
其中,targetamf生成kamf_new所使用的输入密钥为kseaf_new。其中,kamf_new的密钥输入参数包括supi和abba等。kamf_new的密钥输入参数还可包括密钥输入参数t3。
例如kamf_new=kdf(kseaf_new,supi,abba,[t3])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
607.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kseaf_kamf_indicator,那么targetamf可在消息m4中携带new_kseaf_kamf_indicator,其中,这个new_kseaf_kamf_indicator可以用于指示ue生成kseaf_new和kamf_new。如果注册请求消息中携带new_kseaf_kamf_indicator,那么targetamf可不在消息m4中携带new_kseaf_kamf_indicator。
其中,消息m4中携带可密钥输入参数t3。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand(nassmc)消息。
608.ue接收到来自targetamf的消息m4。
如果消息m4中携带new_kseaf_kamf_indicator,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。
此外,ue也可自己判断是否需要生成kseaf_new和kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kseaf_new和kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kseaf_new和kamf_new和生成kseaf_new和kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止相关流程等。
ue进一步向targetamf发送消息m5来通知targetamf完成密钥激活。消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
609.执行目标切片的网络切片认证流程。
610.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t3可以包括targetamf和ausf之间维护的密钥更新counter。其中,该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤601-609发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由ausf提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
此外,图4-图6所示实施例中,主要是以ausf生成kseaf_new并给targetamf。targetamf再根据kseaf_new生成kamf_new。这几个实施例中,密钥输入参数分别由ue、targetamf或ausf提供为例进行说明。
然而,另在一些可能的实施方式中,也可能仍由ausf生成kseaf_new并给seaf,targetamf再根据kseaf_new生成kamf_new。并且,生成kseaf_new的密钥输入参数,还可以由ue、ausf和targetamf中的一个或者几个共同提供,例如,ue提供的密钥输入参数t1和ausf提供的密钥输入参数t3共同作为密钥输入参数;又例如targetamf提供的密钥输入参数t2和ausf提供密钥输入参数t3共同作为密钥输入参数。又例如,ue提供的密钥输入参数t1、targetamf提供的密钥输入参数t2和ausf提供的密钥输入参数t3共同作为密钥输入参数。其他情况可以此类推。
参见图7,图7为本申请实施例提供的另一种通信方法的流程示意图。
本实施例中,targetamf和seaf分体部署(即seaf未部署于amf中),由seaf生成kamf_new之后发送给targetamf。其中,生成kamf_new要使用到的密钥输入参数由ue提供。
如图7举例所示,一种通信方法可包括:
701.ue发送注册请求消息。
其中,所述注册请求消息携带请求的目标切片的nssai(s),所述注册请求消息还携带用于生成新密钥的密钥输入参数t1。
其中,密钥输入参数t1可为以下参数的一种或者几种:ue生成的随机数、ue和seaf之间维护的用于密钥更新的counter、目标切片的s-nssai、目标切片所属的切片组(或者切片类)的描述信息、目标切片所属的切片组(或切片类)的标识符、目标切片实例的描述信息、目标切片实例的标识符等等。
其中,使用密钥输入参数t1的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t1的具体类型做限制,只要满足该目的输入参数都可以。
可选的,所述注册请求消息还可携带密钥输入参数t1的完整性验证信息auth_t1。auth_t1可用于ausf验证密钥输入参数t1的来源是否为是ue,还可用于验证密钥输入参数t1是否被篡改等。auth_t1的一种样例:auth_t1=hmac(kausf,密钥输入参数t1)。这里不对auth_t1的具体形式做限制,只要可满足:ausf通过auth_t1能够验证密钥输入参数t1的来源和密钥输入参数t1是否被篡改即可。
可选地,注册请求消息还可携带new_kamf_indicator1。ue使用new_kamf_indicator1来通知targetamf网络侧需要生成kamf_new。当然,ue也可通过其他方式来通知网络侧需要生成kamf_new。
702.targetamf接收注册请求消息后,可以发起ue上下文传输(uecontexttransfer)流程。targetamf通过uecontexttransfer流程可从sourceamf处获取例如sourceamf的密钥kamf、ue的持久身份标识(supi,subscriberpermanentidentifier)、和网络切片的实例等等。
703.targetamf向seaf发送密钥更新服务请求nseaf_keyupdate_meansrequest。
若注册请求消息携带new_kamf_indicator1,那么targetamf可以在注册请求消息携带的new_kamf_indicator1的指示下,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
此外,如果注册请求消息未携带new_kamf_indicator1,那么targetamf可以在确定预置的密钥更新条件满足时,seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
其中,在密钥更新服务请求中可携带密钥输入参数t1和supi等。
704.seaf接收来自targetamf的密钥更新服务请求nseaf_keyupdate_meansrequest。
其中,如果来自target的密钥更新服务请求携带的密钥输入参数t1包括:ue和seaf之间维护的用于密钥更新的counter,则seaf检测该counter是否可接受。如果不能接受,则seaf返回错误原因给targetamf,并终止后面密钥更新流程。
如果来自targetamf的密钥更新服务请求中携带auth_t1,则seaf验证密钥输入参数t1的来源和密钥输入参数t1是否被篡改。如果被篡改,则seaf返回错误原因给targetamf,并可终止后面的密钥更新流程。
seaf生成kamf_new。其中,生成kamf_new使用kseaf作为输入密钥,密钥输入参数包括密钥输入参数t2。其中,kamf_new生成的方式例如可以可有方式a、方式b和方式c。
方式a:直接以kseaf作为输入密钥来生成kamf_new,且直接以密钥输入参数t1作为密钥输入参数的部分来生成kamf_new:
例如kamf_new=kdf(kseaf,supi,abba,t1)。
方式b:直接以kseaf作为输入密钥、间接以密钥输入参数t1作为密钥输入参数来生成kamf_new。例如先使用abba和密钥输入参数t1作为参数,使用某种算法生成abba’。这里对生成abba’的算法不做限制。生成abba’后,以kseaf为输入密钥,supi和abba’为密钥输入参数生成kamf_new:
例如abba’=f(abba,t1);
例如kamf_new=kdf(kseaf,supi,abba’)。
方式c:间接以kseaf作为输入密钥来生成kamf_new,具体例如先以kseaf作为输入密钥来生成kseaf’,再以kseaf’作为输入密钥来生成kamf_new:
例如kseaf’=kdf(kseaf,t1)。
例如kamf_new=kdf(kseaf’,supi,abba,[t1])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
当然,方式b和c中,由于kseaf’基于kseaf得到,因此仍然可将kseaf看作是kamf_new的输入密钥,将t1看做是kamf_new的密钥输入参数。
705、seaf向targetamf发送密钥更新服务响应nseaf_keyupdate_meansresponse。
如果密钥更新成功,密钥更新服务响应中携带成功指示(success)和kamf_new等,此外如果密钥更新失败,密钥更新服务响应中可携带失败原因等。
706、targetamf接收来自seaf的密钥更新服务响应。
如果该密钥更新服务响应指示密钥更新失败,则targetamf可向ue发送例如接入切片失败的通知,该通知可在例如注册拒绝消息中携带。
其中,如果该密钥更新服务响应指示密钥更新成功,则targetamf发送用于激活新密钥的消息m4。
707.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kamf_indicator1,那么targetamf可在消息m4中携带new_kamf_indicator1,其中,这个new_kamf_indicator1可以用于指示ue生成kamf_new。如果注册请求消息中携带有new_kamf_indicator1,那么targetamf可不在消息m4中携带new_kamf_indicator1。
其中,消息m4中也可携带密钥输入参数t1。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
708.ue接收到来自targetamf的消息m4。
其中,如果消息m4中携带了new_kamf_indicator1,则ue采用跟网络侧相同的机制生成kamf_new。
此外,ue也可自己判断是否需要生产kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kamf_new和生成kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止流程等。
ue进一步向targetamf发送消息m5通知targetamf完成密钥激活。
其中,消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
709.执行目标切片的网络切片认证流程。
710.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t1可包括ue和seaf之间维护的密钥更新counter。该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤701-709发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由ue提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
参见图8,图8为本申请实施例提供的林另一种通信方法的流程示意图。
本实施例中,amf和seaf分体部署(即seaf未部署于amf中),由seaf生成kamf_new之后发送给amf。其中,生成kamf_new要使用到的密钥输入参数由targetamf提供。
如图8举例所示,一种通信方法可包括:
801.ue发送注册请求registrationrequest消息。
其中,所述注册请求消息携带请求接入的目标切片的nssai(s)。
可选地,注册请求消息还可携带new_kamf_indicator1。ue使用new_kamf_indicator1来通知targetamf网络侧需要生成kamf_new。当然,ue也可通过其他方式来通知网络侧需要生成kamf_new。
802.targetamf接收注册请求消息后,可以发起ue上下文传输(uecontexttransfer)流程。targetamf通过uecontexttransfer流程可从sourceamf处获取例如sourceamf的密钥kamf、ue的持久身份标识(supi,subscriberpermanentidentifier)、和网络切片的实例等等。
803.targetamf向seaf发送密钥更新服务请求nseaf_keyupdate_meansrequest。
若注册请求消息携带new_kamf_indicator1,那么targetamf可以在注册请求消息携带的new_kamf_indicator1的指示下,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
此外,如果注册请求消息未携带new_kamf_indicator1,那么targetamf可以在确定预置的密钥更新条件满足时,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
其中,在seaf的密钥更新服务请求中,携带密钥输入参数t2和supi等。其中这个密钥输入参数t2可以是以下参数的一种或者几种:targetamf生成的随机数、targetamf和seaf之间维护的用于密钥更新的counter、nasulcounter、目标切片的s-nssai、目标切片所属的切片组(或者切片类)的描述信息、目标切片所属的切片组(或者切片类)的标识符、目标切片实例的描述信息、目标切片实例的标识符、targetamf的标识符、targetamf的实例的描述信息、targetamf的实例标识符、targetamf所属的amfset的描述信息、targetamf所属的amfset的标识符等等。密钥输入参数t2的目的是使生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t2的具体类型做限制,只要满足该目的输入参数都可以。
其中,密钥更新服务请求中携带来自于注册请求消息的密钥输入参数t2。
其中,在seaf的密钥更新服务请求中还可以携带ue的持久身份标识(supi)和服务网络名称(sn-name)等。
804.seaf接收来自targetamf的密钥更新服务请求nseaf_keyupdate_meansrequest。
其中,若来自targetamf的密钥更新服务请求中携带的密钥输入参数t2包括targetamf和seaf之间同步维护的用于密钥更新的counter,则seaf可进一步检测密钥输入参数t2包括的counter是否可接受。如果不能接受,则seaf可以返回错误原因给targetamf,并可终止后面的密钥更新流程。
seaf生成kamf_new。其中,生成kamf_new使用kseaf作为输入密钥,密钥输入参数包括密钥输入参数t2。
其中,kamf_new生成的方式例如可以可有方式a、方式b和方式c等。
方式a:直接以kseaf作为输入密钥来生成kamf_new:
例如kamf_new=kdf(kseaf,supi,abba,t2)。
方式b:直接以kseaf作为输入密钥、间接以密钥输入参数t1作为密钥输入参数来生成kamf_new。例如先使用abba和密钥输入参数t2作为参数,使用某种算法生成abba’。这里对生成abba’的算法不做限制。生成abba’后,以kseaf为输入密钥,supi和abba’为密钥输入参数生成kamf_new:
例如abba’=f(abba,t2);
例如kamf_new=kdf(kseaf,supi,abba’)。
方式c:间接以kseaf作为输入密钥来生成kamf_new,具体例如先以kseaf作为输入密钥来生成kseaf’,再以kseaf’作为输入密钥来生成kamf_new:
例如kseaf’=kdf(kseaf,t2)。
例如kamf_new=kdf(kseaf’,supi,abba,[t2])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
当然,方式b和c中,由于kseaf’基于kseaf得到,因此仍然可将kseaf看作是kamf_new的输入密钥,将t2看做是kamf_new的密钥输入参数。
805、seaf向targetamf发送密钥更新服务响应nseaf_keyupdate_meansresponse。
其中,如果密钥更新成功,密钥更新服务响应中携带成功指示(success)和kamf_new,此外如果密钥更新失败了,密钥更新服务响应中可以携带失败原因等。
806、targetamf接收来自seaf的密钥更新服务的响应。
如果该密钥更新服务响应指示密钥更新失败,则targetamf可向ue发送例如接入切片失败的通知,该通知可在例如注册拒绝消息中携带。
其中,如果该密钥更新服务响应指示密钥更新成功,则targetamf发送用于激活新密钥的消息m4。
807.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kamf_indicator1,那么targetamf可在消息m4中携带new_kamf_indicator1,其中,这个new_kamf_indicator1可以用于指示ue生成kamf_new。如果注册请求消息中携带有new_kamf_indicator1,那么targetamf可不在消息m4中携带new_kamf_indicator1。
如果密钥生产参数t2中的一些参数,ue不知道,比如targetamf生成的随机数、targetamf和seaf维护的密钥更新counter等,则targetamf在消息m4中发送这些参数、或者targetamf也可在消息m4中发送t2包括的所有参数。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
808.ue接收到来自targetamf的消息m4。
其中,如果消息m4中携带new_kamf_indicator1,则ue采用跟网络侧相同的机制生成和kamf_new。
此外,ue也可自己判断是否需要生成kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kamf_new和生成kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止相关流程等。
ue可进一步向targetamf发送消息m5通知targetamf完成密钥激活。消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
809.执行目标切片的网络切片认证流程。
810.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t2可包括targetamf和seaf之间维护的密钥更新counter。其中,该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤801-809发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由targetamf提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而可以实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
参见图9,图9为本申请实施例提供的另一种通信方法的流程示意图。
本实施例中,targetamf和seaf分体部署(即seaf未部署于amf中),由seaf生成kamf_new之后发送给targetamf。其中,生成kamf_new要使用到的密钥输入参数由seaf提供。
如图9举例所示,另一种通信方法可包括:
901.ue发送注册请求消息。
其中,所述注册请求消息携带ue请求的目标切片的nssai(s)。
可选地,注册请求消息还可携带new_kamf_indicator1。ue使用new_kamf_indicator1来通知targetamf网络侧需要生成kamf_new。当然,ue也可通过其他方式来通知网络侧需要生成kamf_new。
902.targetamf接收注册请求消息后,可以发起ue上下文传输(uecontexttransfer)流程。targetamf通过uecontexttransfer流程可从sourceamf处获取例如sourceamf的密钥kamf、ue的持久身份标识(supi,subscriberpermanentidentifier)、和网络切片的实例等等。
903.targetamf向seaf发送密钥更新服务请求nseaf_keyupdate_meansrequest。
若注册请求消息携带new_kamf_indicator1,那么targetamf可以在注册请求消息携带的new_kamf_indicator1的指示下,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
此外,如果注册请求消息未携带new_kamf_indicator1,那么targetamf可以在确定预置的密钥更新条件满足时,向seaf发送密钥更新服务请求,以请求调用seaf的密钥更新服务。
其中,在密钥更新服务请求中携带supi等。
904.seaf接收来自targetamf的密钥更新服务请求nseaf_keyupdate_meansrequest。
seaf生成kamf_new。其中,生成kamf_new使用kseaf作为输入密钥,密钥输入参数包括密钥输入参数t4。其中,该密钥输入参数t4可以是以下几种参数的一种或者几种:seaf生成的随机数、seaf和ue之间共同维护的counter等。密钥输入参数t4的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t4的具体类型做限制,只要满足该目的输入参数都可以。
其中,kamf_new生成的方式例如可以可有方式a、方式b和方式c等。
方式a:直接以kseaf作为输入密钥来生成kamf_new:
例如kamf_new=kdf(kseaf,supi,abba,t4)。
方式b:直接以kseaf作为输入密钥、间接以密钥输入参数t1作为密钥输入参数来生成kamf_new。例如先使用abba和密钥输入参数t4作为参数,使用某种算法生成abba’。这里对生成abba’的算法不做限制。生成abba’后,以kseaf为输入密钥,supi和abba’为密钥输入参数生成kamf_new:
例如abba’=f(abba,t4);
例如kamf_new=kdf(kseaf,supi,abba’)。
方式c:间接以kseaf作为输入密钥来生成kamf_new,具体例如先以kseaf作为输入密钥来生成kseaf’,再以kseaf’作为输入密钥来生成kamf_new:
例如kseaf’=kdf(kseaf,t4)。
例如kamf_new=kdf(kseaf’,supi,abba,[t4])。
其中,本申请各实施例中,[]中的参数表示是可选参数。
当然,方式b和c中,由于kseaf’基于kseaf得到,因此仍然可将kseaf看作是kamf_new的输入密钥,将t4看做是kamf_new的密钥输入参数。
905、seaf向targetamf发送密钥更新服务响应nseaf_keyupdate_meansresponse。
其中,如果密钥更新成功,密钥更新服务响应中携带成功指示(success)、kamf_new和和t4等,此外,如果密钥更新失败,密钥更新服务响应中可携带失败原因等。
906、targetamf接收来自seaf的密钥更新服务的响应。
如果该密钥更新服务响应指示密钥更新失败,则targetamf可向ue发送例如接入切片失败的通知,该通知可在例如注册拒绝消息中携带。
其中,如果该密钥更新服务响应指示密钥更新成功,则targetamf发送用于激活新密钥的消息m4。
907.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kamf_indicator1,那么targetamf可在消息m4中携带new_kamf_indicator1,其中,这个new_kamf_indicator1可以用于指示ue生成kamf_new。如果注册请求消息中携带有new_kamf_indicator1,那么targetamf可不在消息m4中携带new_kamf_indicator1。
其中,消息m4中携带密钥输入参数t4。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
908.ue接收到来自targetamf的消息m4。
其中,如果消息m4中携带new_kamf_indicator1,则ue采用跟网络侧相同的机制生成和kamf_new。
此外,ue也可自己判断是否需要生成kamf_new,如果需要的话,则ue采用跟网络侧相同的机制生成kamf_new。这种情况下,ue可在发送注册请求消息之后且在发送消息m5之前的任何时候,执行判断是否需要生成kamf_new和生成kamf_new的操作。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue生成kamf_new之后,可以根据kamf_new生成的naskeys,并验证消息m4的完整性。其中,如果完整性验证未通过,ue例如可终止流程等。
ue可进一步向targetamf发送消息m5通知targetamf完成密钥激活。消息m5例如为非接入层安全模式完成(nassecuritymodecomplete)消息。
909.执行目标切片的网络切片认证流程。
910.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
其中,本实施例中密钥输入参数t4可包括targetamf和seaf之间同步维护的密钥更新counter。该密钥更新counter的生成、初始值设置、使用后的更新和同步方式,本申请不做具体限定。
本实施例的步骤901-909发生在切片转换发起和转换结束之间。
可见,本实施例方案,可由seaf提供生成kseaf_new和kamf_new的一些参数,可在互斥切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。并且本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
此外,在图7-图9所示实施例中,主要是以seaf生成kamf_new并给targetamf。这几个实施例中,密钥输入参数分别由ue、targetamf或seaf提供为例进行说明。
然而,另在一些可能的实施方式中,也可能仍由seaf生成kamf_new给targetamf。并且,生成kamf_new的密钥输入参数,还可以由ue、seaf和targetamf中的一个或者几个共同提供,例如,ue提供的密钥输入参数t1和seaf提供的密钥输入参数t4共同作为密钥输入参数;又例如targetamf提供的密钥输入参数t2和seaf提供密钥输入参数t4共同作为密钥输入参数。又例如,ue提供的密钥输入参数t1、targetamf提供的密钥输入参数t2和seaf提供的密钥输入参数t4共同作为密钥输入参数。其他情况以此类推。
参见图10,图10为本申请实施例提供的另一种通信方法的流程示意图。
本实施例中,amf和seaf合体部署(即seaf部署于amf中),其中,由targetamf生成kamf_new。其中,生成kamf_new的一些密钥输入参数由aaa-s提供。
如图10举例所示,另一种通信方法可包括:
1001.ue发送注册请求消息。
其中,所述注册请求消息携带请求的目标切片的nssai(s)。
其中,所述注册请求消息还可携带密钥更新指示new_kamf_indicator2。密钥更新指示new_kamf_indicator2用于指示targetamf网络侧需要生成kamf_new。当然,ue也可通过其他方式来通知网络侧需要生成kamf_new。
1002.targetamf接收注册请求消息后,可以发起ue上下文传输(uecontexttransfer)流程。targetamf通过uecontexttransfer流程可从sourceamf处获取例如sourceamf的密钥kamf、ue的持久身份标识(supi,subscriberpermanentidentifier)、和网络切片的实例等等。
1003.targetamf决定发起切片认证流程。targetamf发起eapid获取流程。targetamf向ue发送eapid请求。
1004.ue在接收到eapid请求后,发送携带对应的eapid的eapid响应给targetamf。
1005.targetamf向aaa-f发送认证请求(authenticationrequest)。
若注册请求消息携带new_kamf_indicator2,那么targetamf可以在注册请求消息携带的new_kamf_indicator2的指示下,在认证请求消息中携带参数请求指示parareqindicator。
如果注册请求消息中没有携带new_kamf_indicator2,那么targetamf可以在确定预置的密钥更新条件满足时,在认证请求消息中携带参数请求指示parareqindicator。
其中,参数请求指示parareqindicator用于指示aaa-s生产密钥输入参数t5。该密钥输入参数t5用于生成kamf_new。
1006.aaa-f向aaa-s转发上述认证请求authenticationrequest。
1007.aaa-s接收到aaa-f转发的认证请求authenticationrequest。
如果该认证请求中,携带有参数请求指示parareqindicator,则aaa-s在该参数请求指示parareqindicator的指示下,生成密钥输入参数t5。
如果该认证请求中,没有携带参数请求指示parareqindicator,则aaa-s可在确定预设的密钥参数生成条件满足的情况下,生成密钥输入参数t5。
其中。该密钥输入参数t5的生成可以使用ue和aaa-s之间的共享秘密,例如切片认证产生的extendedmastersessionkey(emsk)。该本申请不对该密钥输入参数t5的生成算法和使用的输入做限制。只要生成的密钥输入参数t5能满足:只有ue和aaa-s才能生成密钥输入参数t5即可。
1008.aaa-s发送认证响应(authenticationresponse)给aaa-f。
其中,上述认证响应中携带密钥输入参数t5。
1009.aaa-f在接收到来自aaa-s的authenticationresponse之后,向targetamf转发这个authenticationresponse。
1010.targetamf接收aaa-f的认证响应authenticationresponse。
1011.targetamf生成kamf_new。生成kamf_new使用的输入密钥是targetamf从sourceamf获取的kamf,生成kamf_new使用的密钥输入参数包括密钥输入参数t5。
例如:kamf_new=kdf(kamf_old,t5)。
1012.targetamf向ue发送用于激活新密钥的消息m4。
其中,如果注册请求消息中未携带new_kamf_indicator2,那么targetamf可在消息m4中携带new_kamf_indicator2,其中,这个new_kamf_indicator2可以用于指示ue生成kamf_new。如果注册请求消息中携带有new_kamf_indicator1,那么targetamf可不在消息m4中携带new_kamf_indicator1。
其中,消息m4例如可使用由kamf_new生成的naskeys做完整性保护。
举例来说,消息m4可以为nassecuritymodecommand消息。
1013.ue接收到来自targetamf的消息m4。
如果消息m4中携带new_kamf_indicator2,则ue根据该指示,采用跟aaa-s相同的机制生成密钥输入参数t5,采用跟targetamf相同的机制生成kamf_new。
如果消息m4中未携带new_kamf_indicator2,ue也可在确定预设的密钥更新条件满足的情况下,采用跟aaa-s相同的机制生成密钥输入参数t5,采用跟targetamf相同的机制生成kamf_new。这种情况下,ue可在发送注册请求消息后,在发送m5消息之前的任何时候,进行判断以及生成密钥输入参数t5和kamf_new。
此外,如果消息m4使用由kamf_new生成的naskeys做完整性保护,那么ue可先验证消息m4的完整性,在完整性验证通过之后,执行生成kseaf_new和kamf_new的步骤。如果完整性验证未通过,ue例如可终止流程等。
1014.ue向targetamf发送消息m4。
其中,消息m4例如为nassecuritymodecomplete消息。
1015.在目标切片的网络切片认证通过后,targetamf向ue发送用于通知目标切片注册成功的注册接受(registrationaccept)消息。
此外,图10所示实施例中,targetamf还可在任何一条认证请求中发送parareqindicator给aaa-s。
此外,图10所示实施例中,aaa-s可在生成密钥输入参数t5之后,在切片认证的任何一条认证响应消息中发送密钥输入参数t5给网络。
可见,本实施例上述方案,可以实现在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,进而实现kamf前向安全。并且,本实施例方案无需通过主认证来更新整个密钥体系,便可在切片切换场景下实现sourceamf和targetamf之间的密钥隔离,相比于一些通过主认证来更新整个密钥体系,来实现kamf前向安全的可能方案,本申请实施例方案的相关效率明显提高。
此外,图10所示实施例中,主要是以targetamf生成kamf_new。该实施例中,密钥输入参数,由aaa-s提供为例进行说明。然而,另在一些可能的实施方式中,也可能仍由targetamf生成kamf_new。
并且,生成kamf_new的密钥输入参数,还可:
由aaa-s和ue提供,即ue提供的密钥输入参数t1和aaa-s提供密钥输入参数t5共同作为密钥输入参数;或者,
由aaa-s和targetamf提供,即targetamf提供的密钥输入参数t2和aaa-s提供密钥输入参数t5共同作为密钥输入参数;或者,
由aaa-s、ue和targetamf提供,即,ue提供的密钥输入参数t1、aaa-s提供密钥输入参数t5、targetamf提供的密钥输入参数t2共同作为密钥输入参数。
前面图4-10对应实施例的举例方案中,都是基于当ue从一个源切片切换到下一个互斥的目标切片,由ue向网络侧发起注册请求消息。实际上,当ue从一个源切片切换到下一个互斥的目标切片,也可以是由网络侧触发的,如服务源切片的源amf根据目标切片获取可服务目标切片的目标amf,并通知目标amf,将ue接入目标切片。在这种场景中,kamf的前向安全仍可采用上述举例方案的类似机制实现,
其中,生成新密钥kamf_new/kseaf_new的网元可以是如下网元中的一个:ausf、seaf和targetamf。
主要不同之处在于,提供生成新的密钥(kamf_new/kseaf_new)使用到的秘钥输入参数的网元可以是如下网元中的一个:targetamf、ausf、seaf(在seaf和amf分体部署场景下)和aaa-s等等。
其中,由targetamf提供密钥输入参数t2。密钥输入参数t2可以是以下参数中的一种或几种:targetamf生成的随机数、用于密钥更新的counter、nasulcounter、目标切片的s-nssai、目标切片所属的切片组(或切片类)的描述信息、目标切片所属的切片组(或切片类)的标识符、目标切片实例的描述信息、目标切片实例的标识符、targetamf的标识符、targetamf的实例、targetamf的实例标识符、targetamf所属的amfset的描述信息、targetamf所属的amfset的标识符等等。其中,提供密钥输入参数t2的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t2的具体类型做限制,只要满足该目的输入参数都可以。
其中,由ausf提供生成密钥输入参数t3。其中,密钥输入参数t3可以是以下参数中的一种或者几种:ausf生成的随机数、用于密钥更新的counter等等。其中,密钥输入参数t3的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t3的具体类型做限制,只要满足该目的输入参数都可以。
其中,由seaf提供密钥输入提供生成密钥输入参数t4。密钥输入t4可以是以下参数中的一种或者几种:seaf生成的随机数、用于密钥更新的counter等等。密钥输入参数t4的目的是使最终生成的kamf_new跟kamf_old隔离。本申请实施例不对密钥输入参数t4的具体类型做限制,只要满足该目的输入参数都可以。
由切片认证和授权的功能aaa-s提供密钥输入参数t5。密钥输入参数t5的生成例如使用ue和aaa-s之间的共享秘密例如ue和aaa-s之间建立的extendedmastersessionkey等。该发明不对密钥输入参数t5生成使用的方法做限制,只要满足只有ue和aaa-s才能生成密钥输入参数t5即可。
主要不同之处还在于:触发网络侧生成kamf_new的条件可以是:由sourceamf指示targetamf;或者targetamf自己判断是否需要生成kamf_new。触发ue侧生成kamf_new的条件可以是:由targetamf指示ue生成kamf_new。
其中,由网络侧触发的ue从一个源切片切换到下一个互斥的目标切片的场景,相似实施方式可以参考上述实施例的相关描述,此处不再赘述。
下面还提供本申请实施例方案涉及的一些产品。
参见图11,一种用户设备ue1100,可以包括:收发单元1110和处理单元1120。
收发单元1110用于在ue从一个源切片切换到另一个与之互斥的目标切片的情况下,发送注册请求消息,其中,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息nssai。
处理单元1120,用于获取第一amf密钥kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥。
在一些可能的实施方式中,所述收发单元1110,还用于获取所述第一amf密钥kamf_new之前,接收所述目标amf发送的携带密钥输入参数的第一消息,生成所述kamf_new使用到所述密钥输入参数。
在一些可能的实施方式中,所述收发单元1110,还用于获取第一amf密钥kamf_new之前,接收所述目标amf发送的携带有第一密钥更新指示的第二消息,所述第一密钥更新指示用于指示所述ue更新amf密钥。
在一些可能的实施方式中,所述注册请求消息携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。
在一些可能的实施方式中,所述注册请求消息携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥。
其中,本实施例中用户设备1100的各个功能模块,可以配合完成上述方法实施例中由ue执行的任意方法的部分或全部步骤。
参见图12,一种目标amf,可以包括:收发单元1210和处理单元1220。
收发单元1210,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,接收来自所述ue的注册请求消息,其中,所述注册请求消息携带有所述ue请求的所述目标切片的网络切片选择辅助信息nssai;
处理单元1220,用于获取第一amf密钥kamf_new,所述第一amf密钥kamf_new不同于第二amf密钥kamf_old,所述kamf_new为所述目标amf的密钥,其中,所述目标amf为服务所述目标切片的amf,所述kamf_old为服务所述源切片的源amf的密钥。
在一些可能的实施方式中,所述注册请求消息还携带第二密钥更新指示,所述第二密钥更新指示用于指示网络侧更新amf密钥;或者,所述目标amf获取所述kamf_new是在确定本地预设的密钥更新条件满足的情况下执行。
在一些可能的实施方式中,所述注册请求消息携带密钥输入参数t1,生成所述kamf_new使用到所述密钥输入参数t1。
在一些可能的实施方式中,所述收发单元1210,还用于在接收来自所述ue的注册请求消息之后,
向认证服务器功能ausf发送密钥更新服务请求,所述密钥更新服务请求中携带密钥输入参数t1和/或密钥输入参数t2;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带seaf密钥kseaf_new,生成所述kseaf_new使用到所述密钥输入参数t1和/或密钥输入参数t2;所述kseaf_new用于生成所述kamf_new。
进一步的,所述收发单元还可用于向所述ue发送携带生成所述kseaf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式之中,所述收发单元1210,还用于在接收来自所述ue的注册请求消息之后,向ausf发送密钥更新服务请求;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,其中,生成所述kseaf_new使用到所述密钥输入参数t3;所述kseaf_new用于生成所述kamf_new;向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述收发单元1210,还用于在接收来自所述ue的注册请求消息之后,向ausf发送密钥更新服务请求,所述密钥更新服务请求中携带密钥输入参数t2和/或密钥输入参数t1;接收所述ausf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kseaf_new和密钥输入参数t3,生成所述kseaf_new使用到所述密钥输入参数t3和携带于所述密钥更新服务请求的密钥输入参数;所述kseaf_new用于生成所述kamf_new,向所述ue发送携带所述密钥输入参数t3的第一消息。
在一些可能的实施方式中,所述收发单元1210,还用于在接收来自所述ue的注册请求消息之后,向安全锚点功能seaf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带密钥输入参数t2和/或所述密钥输入参数t1;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new,其中,生成所述kamf_new使用到密钥输入参数t2和/或所述密钥输入参数t1。进一步的,所述收发单元还可用于向所述ue发送携带生成所述kamf_new使用到的部分或全部密钥输入参数(例如密钥输入参数t2等)的第一消息。
在一些可能的实施方式之中,所述收发单元1210,还用于在接收来自所述ue的注册请求消息之后,向seaf发送密钥更新服务请求;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4;向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能的实施方式之中,收发单元1210,还用于在接收来自所述ue的注册请求消息之后,向seaf发送密钥更新服务请求,其中,所述密钥更新服务请求中携带有密钥输入参数t2和/或所述密钥输入参数t1;接收所述seaf返回的对所述密钥更新服务请求的响应,所述响应中携带所述kamf_new和密钥输入参数t4,其中,生成所述kamf_new使用到所述密钥输入参数t4和携带于所述密钥更新服务请求的密钥输入参数;向所述ue发送携带所述密钥输入参数t4的第一消息。
在一些可能实施方式中,收发单元1210还用于在接收来自所述ue的请求接入所述目标切片的注册请求消息后,向切片认证和授权服务器(aaa-s)发送携带密钥参数指示的消息;密钥参数指示用于指示aaa-s生成密钥输入参数t5;接收所述aaa-s发送的密钥生成参数t5,生成所述kamf_new可使用到所述密钥输入参数t5;
或者,所述目标amf向aaa-s发送携带密钥参数指示的消息;所述密钥参数指示用于指示aaa-s生成密钥输入参数t5;所述目标amf接收所述aaa-s发送的密钥生成参数t5;生成所述kamf_new使用到所述密钥输入参数t5,生成所述kamf_new还使用到密钥输入参数t1和/或密钥输入参数t2。
其中,本实施例中目标amf1200的各个功能模块,可以配合完成上述方法实施例中由目标amf执行的任意方法的部分或全部步骤。
参见图13,一种认证服务器功能ausf1300,包括:
处理单元1320,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的密钥更新服务请求后,所述ausf生成kseaf_new,所述kseaf_new用于生成kamf_new;所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
收发单元1310,用于向所述目标amf返回对所述密钥更新服务请求的响应,其在,所述响应携带所述kseaf_new,所述kseaf_new用于生成所述kamf_new。
其中,生成kseaf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t3中的一种或多种;
其中,当生成kseaf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述ausf的密钥更新服务请求中。
其中,当生成kseaf_new使用到密钥输入参数t3,所述密钥更新服务请求的响应中携带所述密钥输入参数t3。
其中,本实施例中ausf1300的各个功能模块,可以配合完成上述方法实施例中由ausf执行的任意方法的部分或全部步骤。
参见图14,一种安全锚点功能seaf1400,可包括:
处理单元1420,用于在ue从一个源切片转到另一个与之互斥的目标切片的情况下,在接收到来自目标amf的密钥更新服务请求后,所述seaf生成kamf_new,其中,所述kamf_new不同于第二amf密钥kamf_old,所述kamf_new为服务所述目标切片的目标amf的密钥,所述kamf_old为服务所述源切片的源amf的密钥;
收发单元1410,用于向所述目标amf返回对所述密钥更新服务请求的响应,其中,所述响应携带所述kamf_new;
其中,生成所述kamf_new使用到密钥输入参数t1、密钥输入参数t2和密钥输入参数t4中的一种或多种;
其中,当生成kamf_new使用到密钥输入参数t1和/或密钥输入参数t2,所述密钥输入参数t1和/或密钥输入参数t2携带于所述seaf的密钥更新服务请求中。
其中,当生成kseaf_new使用到密钥输入参数t4,所述密钥更新服务请求的响应中携带所述密钥输入参数t4。
其中,本实施例中seaf1400的各个功能模块,可以配合完成上述方法实施例中由seaf执行的任意方法的部分或全部步骤。
参见图15,一种用户设备1500,包括:相互耦合的处理器1510和存储器1520;所述处理器1510用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由ue执行的部分或全部步骤。
参见图16,一种目标amf1600,包括:相互耦合的处理器1610和存储器1620;所述处理器1610用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由目标amf执行的部分或全部步骤。
参见图17,一种ausf1700,包括:相互耦合的处理器1710和存储器1720;所述处理器1710用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由ausf执行的部分或全部步骤。
参见图18,一种seaf1800,包括:相互耦合的处理器1810和存储器1820;所述处理器1810用于调用所述存储器中存储的计算机程序,以执行本申请实施例提供的任意一种方法中由seaf执行的部分或全部步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被硬件(例如处理器等)执行,以本申请实施例中由任意一个网元执行的任意一种方法的部分或全部步骤。
本申请实施例还提供了一种包括指令的计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行以上各方面的任意一个网元执行的任意一种方法的部分或全部步骤。
在上述实施例中,可全部或部分地通过软件、硬件、固件、或其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,也可以通过其它的方式实现。例如以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可结合或者可以集成到另一个系统,或一些特征可以忽略或不执行。另一点,所显示或讨论的相互之间的间接耦合或者直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的方案的目的。
另外,在本申请各实施例中的各功能单元可集成在一个处理单元中,也可以是各单元单独物理存在,也可两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,或者也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品(即计算机程序)的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、用户设备、移动通信网元、服务器或固网网元等)执行本申请各个实施例所述方法的全部或部分步骤。而前述存储介质例如可包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或光盘等各种可存储程序代码的介质。