服务授权方法及通信装置
文献发布时间:2023-06-19 11:52:33
技术领域
本申请涉及通信技术领域,尤其涉及一种服务授权方法及通信装置。
背景技术
在采用服务化架构(service-based architecture,SBA)部署的网络,如第五代(5th generation,5G)移动通信系统的核心网(core network,CN)中,不同的网络功能通常基于客户端(client)/服务器(server)的通信模式进行通信。请求方为客户端,响应方为服务器。为了避免任意客户端访问服务器,给移动通信系统带来安全风险,同时也为了支持第三方客户端的资源受限访问,服务化架构还支持服务授权功能。具体地,服务器可包括授权服务器(authority server)和功能服务器(function server)。客户端向授权服务器申请客户端访问功能服务器的授权信息,如访问令牌(access token),然后客户端根据申请到的授权信息访问功能服务器,功能服务器根据授权信息执行对客户端的访问授权。
然而,在上述场景中,只考虑了如何授权客户端访问功能服务器,其中功能服务器是由客户端发现的。在功能服务器A访问功能服务器B,且功能服务器B是由客户端发现的场景下,并没有考虑如何授权功能服务器A访问功能服务器B。也就是说,功能服务器A是在没有授权的情况下访问功能服务器B的,存在较高的网络安全风险。
发明内容
本申请的实施例提供一种服务授权方法及通信装置,能够解决第二服务器由客户端发现的场景下,第一服务器访问第二服务器未获服务授权的问题。
为达到上述目的,本申请的实施例提供如下技术方案:
第一方面,提供一种服务授权方法,包括:客户端向第一服务器发送第一服务请求消息。其中,第一服务请求消息携带服务授权信息;该服务授权信息为第一服务器访问第二服务器时使用。
本申请实施例提供的服务授权方法,在客户端向第一服务器发送的第一服务请求消息中携带第一服务器访问第二服务器的服务授权信息,以便第一服务器根据上述服务授权信息访问第二服务器,可以解决第二服务器由客户端发现的场景下,第一服务器访问第二服务器未获服务授权的问题,以降低服务化网络的安全风险。
示例性地,可以通过如下两种方式获得第一服务器访问第二服务器的服务授权。
服务授权方式一
具体地,可由客户端代为申请上述服务授权,并通知第一服务器。例如,客户端代为申请第一服务器访问第二服务器的访问令牌,并将访问令牌发送给第一服务器。
服务授权方式二
具体地,可由客户端将第二服务器的相关信息发送给第一服务器,然后由第一服务器自行申请上述服务授权。例如,客户端可将第二服务器的实例标识或资源标识发送给第一服务器,然后由第一服务器根据第二服务器的实例标识或资源标识自行申请访问第二服务器的访问令牌。
需要说明的是,上述服务授权信息可以是访问令牌,如JSON Web令牌,也可以是其他形式的服务访问授权信息,本申请对此不做限定。
下面就以访问令牌为例,分别描述服务授权方式一和服务授权方式二的技术方案。
服务授权方式一
在一种可能的设计方法中,上述服务授权信息包括访问令牌。可以理解,在客户端向第一服务器发送第一服务请求消息之前,上述服务授权方法还可以包括:客户端向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带客户端的实例标识和第一服务器的实例标识。然后,客户端接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带上述访问令牌。
相应地,客户端向第一服务器发送第一服务请求消息,可以包括:客户端向第一服务器发送第一服务请求消息;其中,第一服务请求消息包括上述访问令牌。其中,客户端为第二服务器的访问令牌请求方,第一服务器为第二服务器的服务请求方。因此,上述访问令牌需要包括第一服务器的实例标识。
可以理解,若客户端不需要访问第二服务器,即客户端不是第二服务器的服务请求方,客户端只需要为第一服务器申请访问令牌,而不需要为自己申请访问令牌。在此情况下,上述访问令牌可以不包括客户端的实例标识。
可选地,若客户端需要访问第二服务器,也就是说:客户端既是第二服务器的访问令牌请求方,也是第二服务器的服务请求方,则客户端需要为自己和第一服务器都申请访问第二服务器的访问令牌。在此情况下,上述访问令牌可以包括客户端的实例标识和第一服务器的实例标识。
可选地,上述访问令牌请求消息还可以携带客户端的网络功能类型和第一服务器的网络功能类型,以便授权服务器根据客户端的网络功能类型和第一服务器的网络功能类型确定是否授权第一服务器访问第二服务器。
相应地,上述访问令牌还可以包括上述客户端和/或第一服务器可访问的服务器的服务器实例列表和服务名称列表。
可选地,若上述服务器实例列表包括第二服务器的实例标识,且上述服务名称列表包括第二服务器的服务名称,则上述服务授权信息可以包括上述访问令牌。
可选地,上述访问令牌还可以包括授权服务器的实例标识。
为了进一步提高访问第二服务器的安全性,还可以为上述访问令牌设定有效期。有鉴于此,上述访问令牌还可以包括访问令牌过期时间。相应地,上述服务授权方法还可以包括:若客户端通过访问令牌过期时间确定访问令牌已过期,则客户端向授权服务器申请新的访问令牌,并将新的访问令牌通知第一服务器。
服务授权方式二
在本申请中,鉴于第二服务器是由客户端发现的,在另一种可能的设计方法中,也可以由客户端为第一服务器提供第二服务器的信息,如第二服务器的实例标识,或者第二服务器的资源标识,以便第一服务器根据第二服务器的上述信息自行向授权服务器申请服务访问权限,如申请访问令牌。
为了进一步提高申请访问令牌的准确性,除上述第二服务器的实例标识或资源标识外,上述服务授权信息还可以包括第一服务器需要访问的服务名称。因此,可选地,当上述服务授权信息包括第二服务器的实例标识,或者上述服务授权信息包括第二服务器的资源标识时,上述服务授权信息还可以包括第二服务器的服务名称。其中,第二服务器的服务名称为第一服务器需要访问的服务名称。
需要说明的是,对于服务授权方式二,访问令牌是由第一服务器自行申请的,其技术方案细节可以参考下述第二方面中的相关描述,此处不再赘述。
第二方面,还提供一种服务授权方法,包括:第一服务器接收客户端发送的第一服务请求消息。其中,第一服务请求消息携带服务授权信息。然后,第一服务器根据服务授权信息获取访问令牌。其中,访问令牌为第一服务器访问第二服务器时使用。之后,第一服务器向第二服务器发送第二服务请求消息。其中,第二服务请求消息携带访问令牌。
本申请实施例提供的服务授权方法,在第一服务器根据客户端发送的第一服务请求消息中携带的服务授权信息,自行申请其访问第二服务器的服务授权,并根据申请的服务授权访问第二服务器,可以解决第二服务器由客户端发现的场景下,第一服务器访问第二服务器未获服务授权的问题,以降低服务化网络的安全风险。
需要说明的是,第二方面提供的服务授权方法,对应于上述服务授权方式二。
在一种可能的设计方法中,上述服务授权信息包括第二服务器的实例标识。因此,上述第一服务器根据服务授权信息获取访问令牌,可以包括:第一服务器向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。然后,第一服务器接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在另一种可能的设计方法中,上述服务授权信息包括第二服务器的资源标识。因此,上述第一服务器根据服务授权信息获取访问令牌,可以包括如下两个阶段:网络功能发现阶段和访问令牌请求阶段。
其中,网络功能发现阶段可以包括:第一服务器向授权服务器发送网络功能发现请求消息。其中,网络功能发现请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。然后,第一服务器接收授权服务器发送的网络功能发现响应消息。其中,网络功能发现响应消息携带第二服务器的实例标识。
上述访问令牌请求阶段可以包括:第一服务器向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。然后,第一服务器接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在又一种可能的设计方法中,上述服务授权信息包括第二服务器的资源标识。因此,上述第一服务器根据服务授权信息获取访问令牌,包括:第一服务器向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。然后,第一服务器接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的主机名生成。
可选地,第一服务器自行申请的访问令牌包括第二服务器的实例标识。
具体地,第一服务器为自己申请的访问令牌可以包括:授权服务器的实例标识、第一服务器的实例标识、第二服务器的实例标识和服务名称列表,访问令牌过期时间;或者,
第一服务器为自己申请的访问令牌可以包括:包括:授权服务器的实例标识、第一服务器的实例标识、已授权服务器的实例标识列表和服务名称列表,访问令牌过期时间。其中,已授权服务器的实例标识列表包括第二服务器的实例标识,已授权服务器的服务名称列表包括第二服务器的服务名称。
需要说明的是,对于服务授权方式二,第一服务器只需要为自己申请访问第二服务器的访问令牌。因此,第一服务器为自己申请的访问令牌可以不包括客户端的实例标识。
其中,需要指出的是,在本发明提供的另一个实施例中,第一服务器接收客户端发送的第一服务请求消息;其中,所述第一服务请求消息携带访问令牌;
所述第一服务器向所述第二服务器发送第二服务请求消息;其中,所述第二服务请求消息携带所述访问令牌。
第三方面,提供一种通信装置,包括:发送模块。其中,发送模块,用于向第一服务器发送第一服务请求消息。其中,第一服务请求消息携带服务授权信息;服务授权信息为第一服务器访问第二服务器时使用。
在一种可能的设计中,上述服务授权信息包括访问令牌,第二方面所述的通信装置还包括:接收模块。
其中,上述发送模块,还用于在发送模块向第一服务器发送第一服务请求消息之前,向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带通信装置的实例标识和第一服务器的实例标识。接收模块,用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。发送模块,还用于向第一服务器发送第一服务请求消息。其中,第一服务请求消息包括访问令牌。其中,访问令牌包括第一服务器的实例标识。或者,访问令牌包括通信装置的实例标识和第一服务器的实例标识。
可选地,访问令牌请求消息还携带通信装置的网络功能类型和/或第一服务器的网络功能类型。
可选地,上述访问令牌还可以包括访问令牌过期时间,第三方面所述的通信装置还可以包括:处理模块。其中,处理模块,用于若通过访问令牌过期时间确定访问令牌已过期,则控制发送模块和接收模块向授权服务器申请新的访问令牌,并控制发送模块将新的访问令牌通知第一服务器。
可选地,当服务授权信息包括第二服务器的实例标识,或者服务授权信息包括第二服务器的资源标识时,服务授权信息还包括第二服务器的服务名称;第二服务器的服务名称为第一服务器需要访问的服务名称。
需要说明的是,第三方面所述的通信装置可以是上述客户端,也可以是设置于上述客户端中的芯片系统,本申请对此不做限定。
第四方面,还提供一种通信装置,包括:接收模块、发送模块和获取模块。其中,接收模块,用于接收客户端发送的第一服务请求消息。其中,第一服务请求消息携带服务授权信息。获取模块,用于根据服务授权信息获取访问令牌。其中,访问令牌为通信装置访问第二服务器时使用。发送模块,用于向第二服务器发送第二服务请求消息。其中,第二服务请求消息携带访问令牌。
在一种可能的设计中,上述服务授权信息包括第二服务器的实例标识。相应地,发送模块,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。接收模块,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在另一种可能的设计中,上述服务授权信息包括第二服务器的资源标识。相应地,发送模块,还用于向授权服务器发送网络功能发现请求消息。其中,网络功能发现请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。接收模块,还用于接收授权服务器发送的网络功能发现响应消息。其中,网络功能发现响应消息携带第二服务器的实例标识。发送模块,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。接收模块,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在又一种可能的设计中,上述服务授权信息包括第二服务器的资源标识。相应地,发送模块,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。接收模块,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的主机名生成。
可选地,第一服务器自行申请的访问令牌包括第二服务器的实例标识。
需要说明的是,第四方面所述的通信装置可以是上述第一服务器,也可以是设置于上述第一服务器中的芯片系统,本申请对此不做限定。
第五方面,提供一种通信装置,包括:处理器和收发器。其中,处理器与存储器耦合;处理器用于执行存储器中存储的计算机程序,以使得该通信装置执行如第一方面及其各种可选的实现方式中任意之一所述的服务授权方法,或者执行如第二方面及其各种可选的实现方式中任意之一所述的服务授权方法。
需要说明的是,第五方面所述的通信装置可以是上述客户端或上述第一服务器,也可以是设置于上述客户端或第一服务器中的芯片系统,本申请对此不做限定。
第六方面,提供一种通信系统。该通信系统包括上述客户端和第一服务器,以及上述授权服务器和第二服务器。
第七方面,提供一种计算机可读存储介质,存储有程序或指令,当程序或指令在计算机上运行时,使得计算机执行如第一方面及其各种可选的实现方式中任意之一所述的服务授权方法,或者执行如第二方面及其各种可选的实现方式中任意之一所述的服务授权方法。
第八方面,提供一种计算机程序产品,包括:计算机程序代码;当计算机程序代码在计算机上运行时,使得计算机执行如第一方面及其各种可选的实现方式中任意之一所述的服务授权方法,或者执行如第二方面及其各种可选的实现方式中任意之一所述的服务授权方法。
附图说明
图1为本申请实施例提供的服务授权方法所适用的通信系统的结构示意图;
图2为基于客户端/服务器模型的通信方法的流程示意图;
图3为基于客户端/服务器模型的通信方式一的通信方法的流程示意图;
图4A为基于客户端/服务器模型的通信方式二的通信方法的流程示意图一;
图4B为基于客户端/服务器模型的通信方式二的通信方法的流程示意图二;
图5为本申请实施例提供的基于服务授权方式一的服务授权方法的流程示意图一;
图6为本申请实施例提供的基于服务授权方式一的服务授权方法的流程示意图二;
图7为本申请实施例提供的基于服务授权方式一的服务授权方法的流程示意图三;
图8为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图一;
图9为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图二;
图10为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图三;
图11为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图四;
图12为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图五;
图13为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图六;
图14为本申请实施例提供的基于服务授权方式二的服务授权方法的流程示意图七;
图15为本申请实施例提供的一种通信装置的结构示意图一;
图16为本申请实施例提供的一种通信设备的结构示意图二;
图17为本申请实施例提供的一种通信装置的结构示意图三;
图18为本申请实施例提供的另一种通信设备的结构示意图;
图19为本申请实施例提供的又一种通信装置的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如第五代(5thgeneration,5G)移动通信系统,及未来的通信系统,如6G系统等。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“信息(information)”,“信号(signal)”,“消息(message)”,“信道(channel)”、“信令(singalling)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例中,有时候下标如W
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例中部分场景以5G系统中的场景为例进行说明。应当指出的是,本申请实施例中的方案还可以应用于其他移动通信系统中,相应的名称也可以用其他移动通信系统中的对应功能的名称进行替代。
为便于理解本申请实施例,首先以图1中示出的通信系统为例详细说明适用于本申请实施例的通信系统。
如图1所示,该通信系统包括用户设备(user equipment,UE)、无线接入网(radioaccess network,RAN),以及核心网(core network,CN)。用户设备可以通过基站等接入网设备接入无线接入网,并通过核心网与外部的数据网络(data network,DN)建立通信连接。核心网主要用于用户设备注册、安全认证、移动性管理、位置管理、会话管理,以及转发用户设备和外部的数据网络之间的数据包等。
上述无线接入网可以为下一代接入网(next generation access network,NG-AN)。上述核心网包括下述网络功能:会话管理功能(session management function,SMF)、接入和移动性管理功能(access and mobility management function,AMF)、用户面功能(user plane function,UPF)、统一数据管理(unified data management,UDM)、策略控制功能(policy control function,PCF)、鉴权服务功能(authentication serverfunction,AUSF)、网络切片选择功能(network slice selection function,NSSF)、网络公开功能(network exposure function,NEF)、网络仓库功能(network repositoryfunction,NRF)和应用功能(application function,AF)等。
需要说明的是,上述核心网可以包括一台或多台核心网设备。其中,核心网设备可以是用于执行上述单一网络功能的网元,也可以是用于执行上述多个网络功能的网元。在一台核心网设备用于执行上述多个网络功能的情况下,该核心网设备可以包括一个或多个用于执行上述多个网络功能的功能模块,该功能模块可以是软件模块,也可以是软硬件模块,本申请实施例不做限定。
为便于描述,上述网络功能,以及用于执行上述网络功能的网元、设备、功能模块,以及设置于上述网元、设备内部的芯片系统等,下文中统一称之为网络功能。
需要说明的是,上述通信系统的核心网可以采用服务化架构(service-basedarchitecture,SBA)。也就是说,上述不同的网络功能之间可以基于客户端(client)-服务器(server)模式进行通信。其中,服务消费方称为客户端,服务提供方称为服务器。具体地,上述接入和移动性管理功能、会话管理功能、策略控制功能和统一数据管理功能等控制面网络功能可以采用服务化接口进行交互。例如,如图1所示,接入和移动性管理功能提供的服务化接口可以为Namf,会话管理功能提供的服务化接口可以为Nsmf,策略控制功能提供的服务化接口可以为Npcf,统一数据管理功能提供的服务化接口可以为Nudm等。
上述接入网设备为位于上述通信系统网络侧,且具有无线收发功能的设备或可设置于该设备的芯片。该接入网设备包括但不限于:演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(basestation controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(baseband unit,BBU),无线保真(wireless fidelity,WIFI)系统中的接入点(access point,AP)、无线中继节点、无线回传节点、传输点(transmission and reception point,TRP或者transmission point,TP)等,还可以为5G,如,新空口(new radio,NR)系统中的gNB,或,传输点(TRP或TP),5G系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(distributed unit,DU)等。
上述用户设备为接入上述通信系统,且具有无线收发功能的终端设备或可设置于该终端设备的芯片。该用户设备也可以称为用户装置、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smart home)中的无线终端等。
应理解,图1仅为便于理解而示例的简化示意图,该通信系统中还可以包括其他网络设备或者还可以包括其他终端设备,图1中未予以画出。
为了降低上述通信系统的安全风险,上述网络仓库功能除了提供网络功能的注册功能和发现功能外,还集成了OAuth2.0授权服务器的功能。
图2示出了基于上述OAuth2.0授权服务机制的通信方法的流程示意图。如图2所示,基于上述OAuth2.0授权服务机制的通信方法通常可以包括S201-S204:
S201、客户端向授权服务器申请访问服务器的访问令牌。
S202、授权服务器对客户端进行鉴权,对于鉴权通过的客户端,分配访问令牌。
S203、客户端向服务器发送服务请求,以便访问服务器提供的资源。
其中,服务请求中携带S202中获得的访问令牌。
S204、服务器确定访问令牌的有效性,如果有效则允许客户端访问自身的资源,回复服务响应消息。
具体地,在应用了OAuth2.0授权服务机制的5G通信系统,如图1所示的通信系统中,可以存在如下两种通信方式的通信方法,下面分别说明。
通信方式一
图3示出了基于OAuth2.0授权服务机制的通信方式一的通信方法的流程示意图。如图3所示,该通信方法包括S301-S306:
S301、第一客户端发送网络功能发现请求消息给网络仓库功能,所述网络功能发现请求消息中携带目标网络功能类型、服务名称列表和第一客户端的网络功能类型等信息。
S302、网络仓库功能根据网络功能发现请求消息,将符合请求条件的服务器列表返回给第一客户端。其中,所述服务器列表包含一个或者多个服务器的信息,所述服务器信息包含服务器的实例标识和网络功能类型等。第一客户端可以在服务器列表中选择一个目标服务器,如第二服务器访问。例如,可以基于负荷均衡、优先级等原则选择目标服务器。
S303、第一客户端访问第一服务器提供的资源,发送第一服务请求消息给第一服务器。其中,第一服务请求消息中携带第二服务器的资源标识。其中,所述第二服务器的资源标识可以为第二服务器的统一资源标识符(uniform resource identifier,URI),所述第二服务器的资源标识可以由第一客户端根据步骤2获得的第二服务器信息生成。
S304、第一服务器回复第一服务请求响应消息。其中,第一服务请求响应消息携带第一客户端请求的资源。
S305、第一服务器同时作为第二客户端,根据第二服务器的资源标识向第二服务器发送第二服务请求消息。其中,第二服务请求消息用于请求访问第二服务器提供的资源;
S306、第二服务器返回第二服务响应消息。其中,第二服务请求响应消息携带第一服务器请求的资源。
通信方式二
图4A示出了基于OAuth2.0授权服务机制的通信方式二的一种通信方法的流程示意图。图4A所示的通信方式二为5G系统中的订阅/通知(subscribe/notify)模式,客户端作为服务消费者,服务器作为服务提供者,服务消费者订阅服务提供者上发生的网络事件,当该网络事件触发时,服务提供者发送事件通知消息给服务消费者。
如图4A所示,该通信方法包括S401-S404:
S401、第一客户端发送订阅请求消息给第一服务器。其中,订阅请求消息中携带订阅事件和第二服务器的资源标识,所述第二服务器的资源标识为第二服务器的统一资源标识符。
S402、第一服务器回复订阅响应。
S403、当上述订阅事件被触发,第一服务器同时作为第二客户端,根据第二服务器的资源标识,向第二服务器发送事件通知。
S404、第二服务器,回复事件通知响应。
在上述通信方式中,第一客户端同时作为第二服务器。
图4B示出了基于OAuth2.0授权服务机制的通信方式二的另一种通信方法的流程示意图。图4B与图4A的区别在于:图4B中第二服务器为另一个网络功能,并不是第一客户端。
上述两种通信方式的共同之处在于:第二客户端作为第一服务器,通过第一客户端提供的第二服务器的资源标识,访问第二服务器提供的资源。然而,第二客户端在访问第二服务器的过程中,并没有获得第二服务器的服务授权。也就是说,第二客户端是在未获服务授权的情况下访问第二服务器的,存在较高的网络安全风险。因此,如何在第二服务器由第一客户端发现的场景下,实现第一服务器作为第二客户端访问第二服务器的服务授权,成为一个亟待解决的问题。
为方便描述,下文中将“第一客户端”称为“客户端”,将“第一服务器”和“第二客户端”统称为“第一服务器”。
在本申请中,鉴于第二服务器是由客户端发现的,可以通过如下两种服务授权方式之一获得第一服务器访问第二服务器的服务授权。
服务授权方式一
具体地,可由客户端代为申请第一服务器访问第二访问的访问权限,并通知第一服务器。例如,客户端可以代为申请第一服务器访问第二服务器的访问令牌,并将访问令牌发送给第一服务器。
服务授权方式二
具体地,可由客户端将第二服务器的相关信息发送给第一服务器,然后由第一服务器自行申请访问第二服务器的访问权限。例如,客户端可将第二服务器的实例标识或资源标识发送给第一服务器,然后由第一服务器根据第二服务器的实例标识或资源标识自行申请访问第二服务器的访问令牌。
需要说明的是,上述第一服务器访问第二服务器的访问权限可以是访问令牌,如JSON Web令牌,也可以是其他形式的访问权限,本申请对此不做限定。
下面结合附图,分别描述服务授权方式一和服务授权方式二的技术方案。
服务授权方式一
图5示出了本申请实施例提供的一种基于服务授权方式一的服务授权方法的流程示意图,以适用于图1所示的通信系统中不同网络功能之间的通信。如图5所示,该服务授权方法包括S501-S504:
S501、客户端向第一服务器发送第一服务请求消息。
S502、客户端接收第一服务器发送的第一服务响应消息。
其中,第一服务请求消息携带服务授权信息。该服务授权信息为第一服务器访问第二服务器时使用。
上述服务授权信息可以包括访问令牌。其中,访问令牌可以是客户端事先代为申请的,也可以是除客户端和第一服务器之外的其他网络功能申请后发送给客户端,再由客户端转发给第一服务器的,本申请对此不做限定。
在一种可能的方法中,假定访问令牌是由客户端代为申请的,则如图6所示,在执行S501客户端向第一服务器发送第一服务请求消息之前,上述基于服务授权方式一的服务授权方法还可以包括S601-S602:
S601、客户端向授权服务器发送访问令牌请求消息。
其中,访问令牌请求消息携带客户端的实例标识和第一服务器的实例标识。
S602、客户端接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。
在S601-S602中,客户端为该访问令牌的申请者,因此,上述访问令牌请求消息需要携带客户端的实例标识,以便授权服务器将生成的访问令牌发送给访问令牌申请者,并由访问令牌申请者通知访问令牌使用者。
相应地,鉴于该访问令牌是为第一服务器申请的。因此,上述访问令牌请求消息还需要包括第一服务器的实例标识。
可以理解,若客户端不需要访问第二服务器,即客户端不是第二服务器的服务消费者,则客户端只需要为第一服务器申请访问令牌,而不需要为自己申请访问令牌。在此情况下,客户端在访问令牌请求消息中将客户端的实例标识指示为访问令牌请求者的实例标识,将第一服务器的实例标识指示为服务消费者的实例标识。授权服务器分配访问令牌,上述访问令牌可以不包括客户端的实例标识。
可选地,若客户端也需要访问第二服务器,也就是说,客户端既是第二服务器的访问令牌请求者,也是第二服务器的服务消费者,则客户端就需要为自己和第一服务器都申请访问第二服务器的访问令牌。在此情况下,客户端在访问令牌请求消息中将客户端的实例标识和第一服务器的实例标识指示为服务消费者的实例标识。授权服务器分配访问令牌,上述访问令牌需要包括客户端的实例标识和第一服务器的实例标识。
实施方式一,上述访问令牌请求消息还可以携带客户端的网络功能类型和/或第一服务器的网络功能类型,第二服务器的网络功能类型和期望的服务名称列表,以便授权服务器根据客户端的网络功能类型和/或第一服务器的网络功能类型,第二服务器的网络功能类型和期望的服务名称列表,确定授权客户端和/或第一服务器访问所述网络功能类型的第二服务器,并生成访问令牌。所述访问令牌还包括第二服务器的网络功能类型和期望的服务名称列表。
实施方式二,上述访问令牌请求消息还可以携带第二服务器的实例标识和期望的服务名称列表。例如,期望的服务器的服务名称列表可以包括一个或者多个第二服务器的服务名称。以便授权服务器根据第二服务器的实例标识和期望的服务名称列表,确定授权客户端和/或第一服务器访问所述第二服务器的实例标识对应的第二服务器。因此,可选地,上述访问令牌还可以包括第二服务器的实例标识和服务名称列表。
可选地,上述两种实施方式中,访问令牌还可以包括授权服务器的实例标识,用于指示访问令牌的授权者的身份信息。
可选地,上述两种实施方式中,访问令牌还可以包括访问令牌过期时间,以便过期刷新访问令牌,增强网络的安全性。
与S601-S602相对应,S501客户端向第一服务器发送第一服务请求消息,可以具体实现为如下步骤:
客户端向第一服务器发送第一服务请求消息;其中,第一服务请求消息包括上述访问令牌。
为了进一步降低访问第二服务器的安全风险,授权服务器还可以为上述访问令牌设定有效期。有鉴于此,上述访问令牌还可以包括访问令牌过期时间。相应地,上述服务授权方法还可以包括如下步骤:
若客户端通过访问令牌过期时间确定访问令牌已过期,则客户端向授权服务器申请新的访问令牌,并将新的访问令牌通知第一服务器。
S503、第一服务器向第二服务器发送第二服务请求消息,所述消息中携带访问令牌。
S504、第一服务器接收第二服务器发送的第二服务响应消息。
具体地,第一服务器将获得的访问令牌发送给第二服务器,第二服务器通过校验访问令牌的有效性,确定允许第一服务器访问其上的资源。
下面通过5G系统中的能力开放流程来具体说明图6所示的服务授权方法。其中,统一数据管理功能为客户端,接入和移动性管理功能为第一服务器,网络开放功能为第二服务器,网络仓库功能为授权服务器。
如图7所示,上述基于服务授权方式一的另一种服务授权方法包括S701-S712:
S701、应用功能向网络开放功能发送事件订阅请求消息。其中,事件订阅请求消息用于订阅一个或者多个网络事件,所述事件订阅请求消息中携带订阅事件和应用功能的资源标识等信息。
S702、网络开放功能向统一数据管理功能发送事件订阅请求消息。其中,事件订阅请求消息中携带网络开放功能的资源标识。
此外,事件订阅请求消息还可以携带网络功能类型。其中,网络功能类型为网络开放功能。
S703、统一数据管理功能向网络仓库功能发送访问令牌请求消息。
其中,访问令牌请求消息中携带统一数据管理功能的实例标识和网络功能类型、接入和移动性管理功能的实例标识和网络功能类型、期望的网络功能类型和期望的服务名称列表。其中,期望的网络功能类型为网络开放功能(从S702获得),期望的服务名称列表可以为通配符或者订阅/通知指示。
S704、网络仓库功能根据访问令牌请求消息中携带的信息,确定授权访问网络开放功能的资源,生成访问令牌,并向统一数据管理功能发送。
具体地,确定授权访问网络开放功能的资源,生成访问令牌,可以采用如下两种令牌生成方式之一完成:
令牌生成方式一
若访问令牌请求消息中携带统一数据管理功能的实例标识和网络功能类型为访问令牌请求者的实例标识和网络功能类型,且接入和移动性管理功能的实例标识和网络功能类型为服务消费者的实例标识和网络功能类型,则网络仓库功能确定允许统一数据管理功能请求访问令牌,并且允许接入和移动性管理功能访问网络开放功能的资源。
网络仓库功能生成访问令牌。其中,访问令牌包含网络仓库功能的实例标识,接入和移动性管理功能的实例标识,授权的网络功能类型和服务名称列表,访问令牌过期时间。其中授权的网络功能类型为网络开放功能。
令牌生成方式二
若访问令牌请求消息中统一数据管理功能的实例标识和网络功能类型、接入和移动性管理功能的实例标识和网络功能类型均为服务消费者的实例标识和网络功能类型,则网络仓库功能确定允许统一数据管理功能和接入和移动性管理功能访问网络开放功能提供的资源。
网络仓库功能生成访问令牌。其中,访问令牌包含网络仓库功能的实例标识,统一数据管理功能的实例标识,接入和移动性管理功能的实例标识,授权的网络功能类型和服务名称列表,访问令牌过期时间。其中授权的网络功能类型为网络开放功能。
需要说明的是,访问令牌可以为JSON Web令牌,如采用JSON Web签名(JSON websignature,JWS)的访问令牌。其中,JSON Web签名可以是数字签名或者消息认证代码(message suthentication codes,MACs)。
上述网络开放功能的资源标识可以为统一资源标识符。上述统一数据管理功能的实例标识、接入和移动性管理功能的实例标识、网络仓库功能的实例标识可以为采用通用唯一识别码(universally unique identifier,UUID)格式的网络功能的实例标识。
S705、若统一数据管理功能确定S704中返回的访问令牌中的服务名称列表为通配符或者订阅/通知指示,则统一数据管理功能向接入和移动性管理功能发送事件订阅请求消息。其中,事件订阅请求消息中携带网络开放功能的资源标识和访问令牌。
S706、接入和移动性管理功能向统一数据管理功能回复事件订阅响应。
S707、统一数据管理功能向网络开放功能回复事件订阅响应。
S708、网络开放功能向应用功能回复事件订阅响应。
S709、若接入和移动性管理功能确定访问令牌中的服务名称列表为通配符或者订阅/通知指示,且接入和移动性管理功能检测到上述订阅事件被触发,则接入和移动性管理功能向网络开放功能的资源标识对应的网络开放功能发送事件通知。其中,上述事件通知中携带访问令牌。
S710、网络开放功能校验访问令牌的有效性,如用授权服务器公钥校验签名或用共享密钥校验MACs值。若校验通过,则表示允许接入和移动性管理功能访问资源,则网络开放功能向应用功能发送事件通知。
S711、应用功能向网络开放功能回复事件通知响应。
S712、网络开放功能向接入和移动性管理功能回复事件通知响应。
本申请实施例提供的服务授权方法,在客户端向第一服务器发送的第一服务请求消息中携带第一服务器访问第二服务器的服务授权信息,以便第一服务器根据上述服务授权信息访问第二服务器,可以解决第二服务器由客户端发现的场景下,第一服务器访问第二服务器未获服务授权的问题,以降低服务化网络的安全风险。
服务授权方式二
在本申请中,鉴于第二服务器是由客户端发现的也可以由客户端为第一服务器提供第二服务器的信息,如第二服务器的实例标识,或者第二服务器的资源标识等,以便第一服务器根据第二服务器的上述信息自行向授权服务器申请第二服务器的访问权限,如申请访问令牌。
图8示出了本申请实施例提供的基于服务授权方式二的一种服务授权方法的流程示意图。如图8所示,该服务授权方法包括S801-S805:
S801、客户端向第一服务器发送第一服务请求消息。
S802、客户端接收第一服务器发送的第一服务响应消息。
其中,第一服务请求消息携带服务授权信息。
在一种可能的设计方法中,上述服务授权信息包括第二服务器的实例标识。
在另一种可能的设计方法中,上述服务授权信息包括第二服务器的资源标识,如第二服务器的URI。其中,URI可以采用如下格式的数据结构:
{apiRoot}/{apiName}/{apiVersion}/{apiSpecificResourceUriPart}。
其中,URI可以包含第二服务器主机名。第二服务器的主机名为URI中的apiRoot字段,或者apiRoot字段中的authority/host域。
S803、第一服务器根据服务授权信息获取访问令牌。
其中,访问令牌为第一服务器访问第二服务器时使用。
在一种可能的设计方法中,上述服务授权信息包括第二服务器的实例标识。如图9所示,S803第一服务器根据服务授权信息获取访问令牌,可以包括S901-S902:
S901、第一服务器向授权服务器发送访问令牌请求消息。
其中,访问令牌请求消息携带第二服务器的实例标识,以便授权服务器根据第二服务器的实例标识确定第一服务器有权限访问第二服务器,并为其生成访问令牌。
此外,访问令牌请求消息还可以携带第一服务器的实例标识,以及期望的服务名称列表。其中,期望的服务名称列表可以包括一个或者多个第二服务器的服务名称。
然后,在授权服务器接收到第一服务器发送的访问令牌请求消息之后,授权服务器根据访问令牌请求消息中携带的信息,确定第一服务器可授权访问第二服务器的资源,生成访问令牌,并执行下述S902。
其中,授权服务器根据访问令牌请求消息中携带的信息,确定第一服务器可授权访问第二服务器的资源,可以包括如下步骤:
授权服务器确定允许第一服务器访问第二服务器,以及期望的服务名称列表。
示例性地,生成的访问令牌可以包含授权服务器的实例标识,第一服务器的实例标识,第二服务器的实例标识和服务名称列表,访问令牌过期时间。
需要说明的是,所述访问令牌为JSON Web令牌,如采用JSON Web签名(JSON websignature,JWS)的访问令牌。其中,JSON Web签名可以为数字签名或者消息认证代码(message suthentication vodes,MACs)。
上述第二服务器的资源标识可以为统一资源标识符。上述授权服务器的实例标识、第一服务器的实例标识和第二服务器的实例标识可以为全球唯一标识(universallyunique identifier,UUID)格式的网络功能的实例标识。
S902、第一服务器接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。其中,访问令牌由授权服务器根据第二服务器的实例标识生成。
下面以5G系统中的分组数据单元(packet data unit,PDU)会话建立流程来具体说明图9所示的服务授权方法。其中,接入和移动性管理功能为客户端,拜访地会话管理功能为第一服务器,归属地会话管理功能为第二服务器,网络仓库功能为授权服务器。
如图10所示,图9所示的服务授权方法可以具体实现为S1001-S1012:
S1001、用户设备通过基站,向接入和移动性功能发送PDU会话建立请求。
S1002、接入和移动性管理功能选择拜访地会话管理功能和归属地会话管理功能,如可以通过网元仓库功能选择合适的会话管理功能。
S1003A、接入和移动性管理功能向拜访地会话管理功能发送建立会话管理上下文请求。其中,建立会话管理上下文请求中携带归属地会话管理功能的资源标识和归属地会话管理功能的实例标识。
S1003B、拜访地会话管理功能向接入和移动性管理功能发送建立会话管理上下文响应。
S1004A、拜访地会话管理功能选择拜访地用户面功能,并向拜访地用户面功能发送N4会话建立请求消息。
S1004B、拜访地用户面功能向拜访地会话管理功能发送N4会话建立响应消息。
S1005A、拜访地会话管理功能向网络仓库功能发送访问令牌请求消息。
其中,访问令牌请求消息中携带拜访地会话管理功能的实例标识,归属地会话管理功能的实例标识和期望的服务名称列表。其中,归属地会话管理功能的实例标识为从S1003A中获得,期望的服务名称列表包括下述S1006中需要调用的服务的服务名称。
S1005B、网络仓库功能根据访问令牌请求消息中携带的信息,确定授权访问归属地会话管理功能的资源,生成访问令牌,并向拜访地会话管理功能发送访问令牌响应消息。
若网络仓库功能确定允许拜访地会话管理功能访问归属地会话管理功能,以及归属地会话管理功能对应的期望的服务名称列表,则网络仓库功能生成访问令牌。其中,访问令牌包含网络仓库功能的实例标识,拜访地会话管理功能的实例标识,归属地会话管理功能的实例标识和服务名称列表,访问令牌过期时间。
需要说明的是,访问令牌为JSON Web令牌,如采用JSON Web签名(JSON websignature,JWS)的访问令牌。其中,JSON Web签名可以是数字签名或者消息认证代码(message authentication codes,MACs)。
上述归属地会话管理功能的资源标识可以为统一资源标识符,网络仓库功能的实例标识、拜访地会话管理功能的实例标识和归属地会话管理功能的实例标识可以为UUID格式的网络功能的实例标识。
S1006、若拜访地会话管理功能确定需要调用的归属地会话管理功能的服务名称包含在S1005B中接收到的归属地会话管理功能的服务名称列表中,则拜访地会话管理功能向归属地会话管理功能的资源标识代表的归属地会话管理功能发送建立会话请求消息。其中,建立会话请求消息中携带访问令牌。
S1007、归属地会话管理功能向统一数据管理功能获取当前PDU会话和用户设备对应的会话管理签约数据。
S1008、归属地会话管理功能向归属地策略控制功能获取当前PDU会话相关的策略数据。
S1009A、归属地会话管理功能向归属地用户面功能发送N4会话建立请求消息。
S1009B,归属地用户面功能向归属地会话管理功能回复N4会话建立响应消息。
S1010、归属地会话管理功能校验访问令牌的有效性,如使用网络仓库功能公钥校验签名或用共享密钥校验MAC值进行校验。如果校验通过,则表示允许拜访地会话管理功能访问资源,归属地会话管理功能向拜访地会话管理功能发送建立会话响应消息。
S1011、拜访地会话管理功能发送N1N2消息转发给接入和移动性管理功能,所述消息用于向基站和用户设备发送PDU会话相关的信息。
S1012、接入和移动性管理功能向基站发送PDU会话建立请求消息,将拜访地用户面功能的数据包转发信息等发送给基站。
S1013、基站和用户设备之间进行RRC(Radio Resource Control)连接重配置,建立用户设备和基站间的无线承载。
S1014、基站向接入和移动性管理功能回复PDU会话建立响应,所述消息中携带基站的数据包转发信息等。
S1015、接入和移动性管理功能向拜访地会话管理功能发送PDU会话更新请求消息,所述消息中携带从基站获得的信息。
S1016、拜访地会话管理功能通知拜访地用户面功能建立和基站的业务数据包转发通道。
S1017、拜访地会话管理功能向接入和移动性管理功能回复PDU会话更新响应。在另一种可能的设计方法中,上述服务授权信息包括第二服务器的资源标识。因此,如图11所示,S803第一服务器根据服务授权信息获取访问令牌,可以包括S1101-S1104,共分为如下两个阶段:网络功能发现阶段和访问令牌请求阶段,下面分别说明。
上述网络功能发现阶段可以包括S1101-S1102:
S1101、第一服务器向授权服务器发送网络功能发现请求消息。
其中,网络功能发现请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。
其中,第二服务器的资源标识为如下格式:
{apiRoot}/{apiName}/{apiVersion}/{apiSpecificResourceUriPart}。
其中,第二服务器的主机名可以为apiRoot字段,或者apiRoot字段中的authority/host域。
在授权服务器接收到上述网络功能发现请求消息之后,授权服务器可以根据第二服务器主机名确定第二服务器的实例标识,然后向第一服务器发送网络功能发现响应消息。其中,网络功能发现响应消息携带第二服务器的实例标识。
具体的,第二服务器向授权服务器注册时,会携带第二服务器主机名和第二服务器的实例标识等信息。授权服务器接收并存储第二服务器主机名和第二服务器的实例标识。在授权服务器接收到网络功能发现请求消息后,可以根据网络功能发现请求消息携带的第二服务器主机名确定第二服务器的实例标识。
S1102、第一服务器接收授权服务器发送的网络功能发现响应消息。
其中,网络功能发现响应消息携带第二服务器的实例标识。
上述访问令牌请求阶段可以包括S1103-S1104:
S1103、第一服务器向授权服务器发送访问令牌请求消息。
其中,访问令牌请求消息携带第二服务器的实例标识。
此外,访问令牌请求消息还可以携带第二服务器的实例标识和期望的服务名称列表。
在授权服务器接收到上述访问令牌请求消息之后,授权服务器确定允许第一服务器访问第二服务器的资源,及对应的期望的服务名称列表,生成访问令牌,并向第一服务器发送访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。
S1104、第一服务器接收授权服务器发送的访问令牌响应消息。
其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
上述访问令牌还可以包括授权服务器的实例标识,第一服务器的实例标识,第二服务器的实例标识和服务名称列表,访问令牌过期时间。
下面以5G系统中的PDU会话建立流程来具体说明图11所示的服务授权方法。其中,接入和移动性管理功能为客户端,拜访地会话管理功能为第一服务器,归属地会话管理功能为第二服务器,网络仓库功能为授权服务器。
如图12所示,图12所示的服务授权方法可以具体实现为S1201-S1220:
S1201、用户设备通过基站,向接入和移动性管理功能发送PDU会话建立请求消息。
S1202、接入和移动性管理功能选择拜访地会话管理功能和归属地会话管理功能。
具体地,接入和移动性管理功能可以通过网络仓库功能选择合适的会话管理功能。
S1203A、接入和移动性管理功能向拜访地会话管理功能发送建立会话管理上下文请求消息。
其中,建立会话管理上下文请求消息中携带归属地会话管理功能的资源标识。
S1203B、拜访地会话管理功能向接入和移动性管理功能回复建立会话管理上下文响应消息。
其中,建立会话管理上下文请求消息中携带归属地会话管理功能的实例标识。
S1204、拜访地会话管理功能选择用户面功能,并向用户面功能发送N4会话建立请求消息。
拜访地会话管理功能需要访问建立会话管理上下文请求消息中携带的归属地会话管理功能的资源标识对应的归属地会话管理的资源。
然后,拜访地会话管理功能可以通过网络仓库功能获取访问归属地会话管理功能的访问令牌。这里有采用上述访问令牌生成方式一生成访问令牌:
访问令牌生成方式一:
S1205A:拜访地会话管理功能通过建立会话管理上下文请求消息中携带归属地会话管理功能的资源标识获得归属地会话管理功能的主机名,向网络仓库功能发送网络功能发现请求消息。其中,归属地会话管理功能的主机名为归属地会话管理功能的资源标识的一部分。归属地会话管理功能的资源标识见下格式,归属地会话管理功能的主机名可以为apiRoot,或者apiRoot中的authority/host。
{apiRoot}/{apiName}/{apiVersion}/{apiSpecificResourceUriPart}。
网络功能发现请求消息中携带归属地会话管理功能的主机名。
S1206A、网络仓库功能根据归属地会话管理功能的主机名确定归属地会话管理功能的实例标识,并向拜访地会话管理功能回复网络功能发现响应消息。其中,网络功能发现响应消息中携带归属地会话管理功能的实例标识。
具体的,归属地会话管理功能向网络仓库功能注册时,携带归属地会话管理功能信息,归属地会话管理功能信息包含归属地会话管理功能的主机名和归属地会话管理功能的实例标识等信息。网络仓库功能接收并存储归属地会话管理功能的上述信息,并根据网络功能发现请求消息中携带的归属地会话管理功能的主机名确定归属地会话管理功能信息中的归属地会话管理功能的实例标识。
S1207A、拜访地会话管理功能向网络仓库功能发送访问令牌请求消息。
其中,访问令牌请求消息中携带拜访地会话管理功能的实例标识,归属地会话管理功能的实例标识和期望的服务名称列表。
S1208A、网络仓库功能根据访问令牌请求消息中携带的信息,确定授权访问归属地会话管理功能的资源,生成访问令牌,并向拜访地会话管理功能发送访问令牌响应消息。
具体地,网络仓库功能根据访问令牌请求消息中携带的信息,确定授权访问归属地会话管理功能的资源,生成访问令牌,包括:
若网络仓库功能确定允许拜访地会话管理功能访问归属地会话管理功能,以及期望的服务名称列表,则网络仓库功能生成访问令牌。
其中,访问令牌包含网络仓库功能的实例标识,拜访地会话管理功能的实例标识,归属地会话管理功能的实例标识和服务名称列表,访问令牌过期时间。
S1209、若拜访地会话管理功能确定需要调用的归属地会话管理功能的服务名称包含在上述访问令牌中的归属地会话管理功能的服务名称列表中,则拜访地会话管理功能向归属地会话管理功能的资源标识对应的归属地会话管理功能发送建立会话请求消息。其中,建立会话请求消息中携带访问令牌。
S1210、归属地会话管理功能向统一数据管理功能获取当前PDU会话/用户设备对应的会话管理签约数据。
S1211、归属地会话管理功能向归属地策略控制功能获取当前PDU会话相关的策略数据。
S1212A、归属地会话管理功能选择归属地用户面功能,并向归属地用户面功能发送N4会话建立请求消息。
S1212B、归属地用户面功能向归属地会话管理功能发送N4会话建立响应消息。
S1213、归属地会话管理功能校验访问令牌的有效性,如使用网络仓库功能公钥校验签名或用共享密钥校验MAC值。如果校验通过,表示允许拜访地会话管理功能访问此服务,则归属地会话管理功能向拜访地会话管理功能发送建立会话响应消息。
S1214、拜访地会话管理功能发送N1N2消息转发给接入和移动性管理功能,所述消息用于向基站和用户设备发送PDU会话相关的信息。
S1215、接入和移动性管理功能向基站发送PDU会话建立请求消息,将拜访地用户面功能的数据包转发信息等发送给基站。
S1216、基站和用户设备之间进行RRC(Radio Resource Control)连接重配置,建立用户设备和基站间的无线承载。
S1217、基站向接入和移动性管理功能回复PDU会话建立响应,所述消息中携带基站的数据包转发信息等。
S1218、接入和移动性管理功能向拜访地会话管理功能发送PDU会话更新请求消息,所述消息中携带从基站获得的信息。
S1219、拜访地会话管理功能通知拜访地用户面功能建立和基站的业务数据包转发通道。
S1220、拜访地会话管理功能向接入和移动性管理功能回复PDU会话更新响应。
在又一种可能的设计方法中,上述服务授权信息包括第二服务器的资源标识。其中,第二服务器的资源标识包括第二服务器的主机名。与图11所示的服务授权方法不同,为了减少第一服务和授权服务器之间的交互次数,提高申请访问令牌的速度,也可以直接将第二服务器的主机名发送给授权服务器,并由授权服务器获取到第二服务器的实例标识后,直接生成访问令牌。也就是说,也可以采用上述令牌生成方式二生成访问令牌。因此,如图13所示,S803第一服务器根据服务授权信息获取访问令牌,也可以包括S1301-S1302:
S1301、第一服务器向授权服务器发送访问令牌请求消息。
其中,访问令牌请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。
此外,访问令牌请求消息还可以携带第一服务器的实例标识,以及期望的服务名称列表。
在授权服务器接收到访问令牌请求消息后,可以根据访问令牌请求消息中携带的第二服务器的主机名获取第二服务器的实例标识,并根据第二服务器的实例标识生成访问令牌。
然后,授权服务器可以向第一服务器发送访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。
S1302、第一服务器接收授权服务器发送的访问令牌响应消息。
其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的主机名生成。
上述访问令牌包括授权服务器的实例标识,第一服务器的实例标识,第二服务器的实例标识和服务名称列表,访问令牌过期时间。
下面以5G系统中的PDU会话建立流程来具体说明图13所示的服务授权方法。其中,接入和移动性管理功能为客户端,拜访地会话管理功能为第一服务器,归属地会话管理功能为第二服务器,网络仓库功能为授权服务器。
如图14所示,图13所示的服务授权方法可以具体实现为:S1401-S1404B,以及S1407B-S1420。
其中,S1401-S1404B可以参考S1201-S1204B的相关描述,S1409-S1420可以参考S1209-S1220的相关描述,此处不再赘述。
鉴于与图12所示的服务授权方法相比,图14所示的服务授权方法不包括网络功能发现阶段,只包括访问令牌请求阶段,即S1407B和S1408B:
S1407B、拜访地会话管理功能向网络仓库功能发送访问令牌请求消息。
其中,访问令牌请求消息中携带拜访地会话管理功能的实例标识和网络功能类型,归属地会话管理功能的主机名和期望的服务名称列表。
S1408B、网络仓库功能根据S1407B中访问令牌请求消息中携带的信息,确定授权访问归属地会话管理功能的资源,生成访问令牌,并向拜访地会话管理功能发送访问令牌响应消息。
具体地,网络仓库功能根据归属地会话管理功能的主机名确定归属地会话管理功能的实例标识(确定方法可以参考访问令牌生成方式一),确定授权访问归属地会话管理功能的实例标识对应的归属地会话管理功能的资源。
需要说明的是,访问令牌为JSON Web令牌,如采用JSON Web签名(JSON websignature,JWS)的访问令牌。其中,JSON Web签名可以为数字签名或者消息认证代码(message authentication codes,MACs)。
上述归属地会话管理功能的资源标识为统一资源标识符,拜访地会话管理功能的实例标识和归属地会话管理功能的实例标识可以为UUID格式的网络功能的实例标识。
S804、第一服务器向第二服务器发送第二服务请求消息。
S805、第一服务器接收第二服务器发送的第二服务响应消息。
其中,第二服务请求消息携带访问令牌。
需要说明的是,对于服务授权方式二,第一服务器只需要为自己申请第二服务器的访问令牌即可。因此,第一服务器为自己申请的访问令牌可以不包括客户端的实例标识。
此外,对于上述服务授权方式二,为了进一步提高申请访问令牌的准确性,除上述第二服务器的实例标识或资源标识外,上述服务授权信息还可以包括第一服务器需要访问的服务名称。因此,可选地,当上述服务授权信息包括第二服务器的实例标识,或者上述服务授权信息包括第二服务器的资源标识时,上述服务授权信息还可以包括第二服务器的服务名称。其中,第二服务器的服务名称为第一服务器需要访问的服务名称。所述第二服务器的服务名称用于所述第一服务器确定期望的服务名称列表,以便所述第一服务器在向所述授权服务器发送访问令牌请求时携带所述期望的服务名称列表。
本申请实施例提供的服务授权方法,在第一服务器根据客户端发送的第一服务请求消息中携带的服务授权信息,自行申请其访问第二服务器的服务授权,并根据申请的服务授权访问第二服务器,可以解决第二服务器由客户端发现的场景下,第一服务器访问第二服务器未获服务授权的问题,以降低服务化网络的安全风险。
以上结合图5-图14详细说明了本申请实施例提供的服务授权方法。以下结合图15至图19详细说明本申请实施例提供的通信装置。
图15是本申请实施例提供的一种通信装置的结构示意图。该通信装置可适用于图1所示出的系统中,执行上述方法实施例中客户端的功能。为了便于说明,图15仅示出了该通信装置的主要部件。如图15所示,通信装置1500包括:发送模块1501。
其中,发送模块1501,用于向第一服务器发送第一服务请求消息。其中,第一服务请求消息携带服务授权信息;服务授权信息为第一服务器访问第二服务器时使用。
在一种可能的设计中,上述服务授权信息包括访问令牌。结合图15,如图16所示,通信装置1500还包括:接收模块1502。
其中,上述发送模块1501,还用于在发送模块1501向第一服务器发送第一服务请求消息之前,向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带通信装置的实例标识和第一服务器的实例标识。
上述接收模块1502,用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌。
上述发送模块1501,还用于向第一服务器发送第一服务请求消息。其中,第一服务请求消息包括访问令牌。其中,访问令牌包括第一服务器的实例标识。或者,访问令牌包括通信装置的实例标识和第一服务器的实例标识。
可选地,访问令牌请求消息还携带通信装置的网络功能类型和/或第一服务器的网络功能类型。
可选地,上述访问令牌还可以包括访问令牌过期时间,结合图16,如图17所示,通信装置1500还可以包括:处理模块1503。
其中,处理模块1503,用于若通过访问令牌过期时间确定访问令牌已过期,则控制发送模块1501和接收模块1502向授权服务器申请新的访问令牌,并控制发送模块1501将新的访问令牌通知第一服务器。
可选地,当服务授权信息包括第二服务器的实例标识,或者服务授权信息包括第二服务器的资源标识时,上述服务授权信息还可以包括第二服务器的服务名称;第二服务器的服务名称为第一服务器需要访问的服务名称。
此外,通信装置1500还可以包括:存储模块,用于存储通信装置1500的指令和数据。
需要说明的是,通信装置1500可以是上述客户端,也可以是设置于上述客户端中的芯片系统,本申请对此不做限定。
图18是本申请实施例提供的另一种通信装置的结构示意图。该通信装置可适用于图1所示出的通信系统中,执行上述方法实施例中第一服务器的功能。为了便于说明,图18仅示出了该通信装置的主要部件。如图18所示,通信装置1800包括:接收模块1801、发送模块1802和获取模块1803。
其中,接收模块1801,用于接收客户端发送的第一服务请求消息。其中,第一服务请求消息携带服务授权信息。
获取模块1803,用于根据服务授权信息获取访问令牌。其中,访问令牌为通信装置1800访问第二服务器时使用。
发送模块1802,用于向第二服务器发送第二服务请求消息。其中,第二服务请求消息携带访问令牌。
在一种可能的设计中,上述服务授权信息包括第二服务器的实例标识。
相应地,发送模块1802,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。
接收模块1801,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在另一种可能的设计中,上述服务授权信息包括第二服务器的资源标识。
相应地,发送模块1802,还用于向授权服务器发送网络功能发现请求消息。其中,网络功能发现请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。
接收模块1801,还用于接收授权服务器发送的网络功能发现响应消息。其中,网络功能发现响应消息携带第二服务器的实例标识。
发送模块1802,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的实例标识。
接收模块1801,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的实例标识生成。
在又一种可能的设计中,上述服务授权信息包括第二服务器的资源标识。
相应地,发送模块1802,还用于向授权服务器发送访问令牌请求消息。其中,访问令牌请求消息携带第二服务器的主机名;第二服务器的主机名为第二服务器的资源标识的一部分。
接收模块1801,还用于接收授权服务器发送的访问令牌响应消息。其中,访问令牌响应消息携带访问令牌,访问令牌由授权服务器根据第二服务器的主机名生成。
可选地,第一服务器自行申请的访问令牌包括第二服务器的实例标识。
此外,通信装置1800还可以包括:存储模块,用于存储通信装置1500的指令和数据。
需要说明的是,通信装置1800可以是上述第一服务器,也可以是设置于上述第一服务器中的芯片系统,本申请对此不做限定。
图19是本申请实施例提供的又一种通信装置的结构示意图。该通信装置可适用于图1所示出的通信系统中,执行上述方法实施例中客户端的功能,或者执行上述方法实施例中第一服务器的功能。为了便于说明,图19仅示出了该通信装置的主要部件。
如图19所示,通信装置1900,包括:处理器1901和收发器1902。其中,处理器1901与存储器1903耦合,如处理器1901通过总线1904与存储器1903连接;处理器1901用于执行存储器1903中存储的计算机程序,以使得该通信装置1900执行如上述方法实施例中客户端的功能,或者执行如上述方法实施例中第一服务器的功能。
需要说明的是,通信装置1900可以是上述客户端或上述第一服务器,也可以是设置于上述客户端或第一服务器中的芯片系统,本申请对此不做限定。
本申请实施例提供一种通信系统。该通信系统包括上述客户端和第一服务器,以及上述授权服务器和第二服务器。
本申请实施例提供一种计算机可读存储介质,存储有程序或指令,当程序或指令在计算机上运行时,使得计算机执行如上述方法实施例所述的服务授权方法。
本申请实施例提供一种计算机程序产品,包括:计算机程序代码;当计算机程序代码在计算机上运行时,使得计算机执行如上述方法实施例所述的服务授权方法。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 基于业务的服务质量约束在授权或非授权频谱上进行业务通信的系统和方法
- 用于使用授权位置服务器来识别位置服务器并且授权与位置服务有关的访问的方法、装置和制品