Access token verification
Access token verification in 5G core networks is optimized through identification computation, addressing inefficiencies in OAuth 2.0 and enhancing response times in 6G systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2026-04-02
AI Technical Summary
The existing OAuth 2.0 authorization framework for 5G core network (5GC) Service Based Architecture (SBA) is inefficient due to time-consuming access token verification procedures, particularly in certificate and signature verifications, which hinder faster processing and response times, especially in emerging 6G systems.
Implementing access token verification based on identification computation, such as hashing algorithms (e.g., SHA-1, SHA-256, SHA-512), to compare access token identifications with verified tokens, reducing the need for repeated verification and enhancing efficiency.
This approach improves verification efficacy and reduces response times by comparing token identifications, optimizing access token verification processes and supporting faster service responses in 6G systems.
Smart Images

Figure CN2024121582_02042026_PF_FP_ABST
Abstract
Description
ACCESS TOKEN VERIFICATIONFIELD
[0001] Various example embodiments of the present disclosure generally relate to the field of telecommunication, and in particular, to apparatuses, methods and computer readable storage media for access token verification.BACKGROUND
[0002] In the 3rd Generation Partnership Project (3GPP) Release 16 (Rel-16) , the 5G core network (5GC) Service Based Architecture (SBA) has been extended from direct communication to indirect communication between two network functions (NFs) . Currently, the OAuth 2.0 authorization framework is used for authorization of NF service access.SUMMARY
[0003] In a first aspect of the present disclosure, there is provided a first apparatus. The first apparatus comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the first apparatus at least to: receive, at a first network function, a first service request from a second network function; determine a first identification of a first access token of the second network function; obtain a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; and transmit, to the second network function, a first service response to the first service request based on the verification result.
[0004] In a second aspect of the present disclosure, there is provided a second apparatus. The second apparatus comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the second apparatus at least to: transmit, at a second network function, a first service request to a first network function; and receive, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0005] In a third aspect of the present disclosure, there is provided a third apparatus. The third apparatus comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the third apparatus at least to: receive, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; and receive a discovery request for a service producer from a second network function; and transmit, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0006] In a fourth aspect of the present disclosure, there is provided a method. The method comprises: receiving, at a first network function, a first service request from a second network function; determining a first identification of a first access token of the second network function; obtaining a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; and transmitting, to the second network function, a first service response to the first service request based on the verification result.
[0007] In a fifth aspect of the present disclosure, there is provided a method. The method comprises: transmitting, at a second network function, a first service request to a first network function; and receiving, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0008] In a sixth aspect of the present disclosure, there is provided a method. The method comprises: receiving, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; and receiving a discovery request for a service producer from a second network function; and transmitting, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0009] In a seventh aspect of the present disclosure, there is provided a first apparatus. The first apparatus comprises means for receiving, at a first network function, a first service request from a second network function; means for determining a first identification of a first access token of the second network function; means for obtaining a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; and means for transmitting, to the second network function, a first service response to the first service request based on the verification result.
[0010] In an eighth aspect of the present disclosure, there is provided a second apparatus. The second apparatus comprises means for transmitting, at a second network function, a first service request to a first network function; and means for receiving, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0011] In a ninth aspect of the present disclosure, there is provided a third apparatus. The third apparatus comprises means for receiving, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; and means for receiving a discovery request for a service producer from a second network function; and means for transmitting, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0012] In a tenth aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the fourth aspect.
[0013] In an eleventh aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the fifth aspect.
[0014] In a twelfth aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the sixth aspect.
[0015] It is to be understood that the Summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Some example embodiments will now be described with reference to the accompanying drawings, where:
[0017] FIG. 1 illustrates an example communication environment in which example embodiments of the present disclosure can be implemented;
[0018] FIG. 2 illustrates a signaling chart of a process for verifying an access token according to some example embodiments of the present disclosure;
[0019] FIG. 3 illustrates a signaling chart of a process for verifying an access token according to some other example embodiments of the present disclosure;
[0020] FIG. 4 illustrates a signaling chart of a process for verifying an access token according to some other example embodiments of the present disclosure;
[0021] FIG. 5 illustrates a signaling chart of a process for verifying an access token according to some other example embodiments of the present disclosure;
[0022] FIG. 6 illustrates a signaling chart of a process for verifying an access token according to some other example embodiments of the present disclosure;
[0023] FIG. 7 illustrates a flowchart of an example method according to some example embodiments of the present disclosure;
[0024] FIG. 8 illustrates a flowchart of an example method according to some other example embodiments of the present disclosure;
[0025] FIG. 9 illustrates a flowchart of an example method according to some other example embodiments of the present disclosure;
[0026] FIG. 10 illustrates a simplified block diagram of a device that is suitable for implementing example embodiments of the present disclosure; and
[0027] FIG. 11 illustrates a block diagram of an example computer readable medium in accordance with some example embodiments of the present disclosure.
[0028] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION
[0029] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. Embodiments described herein can be implemented in various manners other than the ones described below.
[0030] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0031] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0032] It shall be understood that although the terms “first, ” “second, ” …, etc. in front of noun (s) and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another and they do not limit the order of the noun (s) . For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0033] As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0034] As used herein, unless stated explicitly, performing a step “in response to A” does not indicate that the step is performed immediately after “A” occurs and one or more intervening steps may be included.
[0035] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.
[0036] As used in this application, the term “circuitry” may refer to one or more or all of the following:
[0037] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and
[0038] (b) combinations of hardware circuits and software, such as (as applicable) :
[0039] (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and
[0040] (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and
[0041] (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.
[0042] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0043] As used herein, the term “communication network” refers to a network following any suitable communication standards, such as New Radio (NR) , Long Term Evolution (LTE) , LTE-Advanced (LTE-A) , Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , Narrow Band Internet of Things (NB-IoT) and so on. Furthermore, the communications between a terminal device and a network device in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the first generation (1G) , the second generation (2G) , 2.5G, 2.75G, the third generation (3G) , the fourth generation (4G) , 4.5G, the fifth generation (5G) , 5.5G, the sixth generation (6G) communication protocols, and / or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.
[0044] As used herein, the term “network device” refers to a node in a communication network via which a terminal device accesses the network and receives services therefrom. The network device may refer to a base station (BS) or an access point (AP) , for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , an NR NB (also referred to as a gNB) , a Remote Radio Unit (RRU) , a radio header (RH) , a remote radio head (RRH) , a relay, an Integrated Access and Backhaul (IAB) node, a low power node such as a femto, a pico, a non-terrestrial network (NTN) or non-ground network device such as a satellite network device, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, an aircraft network device, and so forth, depending on the applied terminology and technology. In some example embodiments, radio access network (RAN) split architecture comprises a Centralized Unit (CU) and a Distributed Unit (DU) at an IAB donor node. An IAB node comprises a Mobile Terminal (IAB-MT) part that behaves like a UE toward the parent node, and a DU part of an IAB node behaves like a base station toward the next-hop IAB node.
[0045] The term “terminal device” refers to any end device that may be capable of wireless communication. By way of example rather than limitation, a terminal device may also be referred to as a communication device, user equipment (UE) , a Subscriber Station (SS) , a Portable Subscriber Station, a Mobile Station (MS) , or an Access Terminal (AT) . The terminal device may include, but not limited to, a mobile phone, a cellular phone, a smart phone, voice over IP (VoIP) phones, wireless local loop phones, a tablet, a wearable terminal device, a personal digital assistant (PDA) , portable computers, desktop computer, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, vehicle-mounted wireless terminal devices, wireless endpoints, mobile stations, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , USB dongles, smart devices, wireless customer-premises equipment (CPE) , an Internet of Things (IoT) device, a watch or other wearable, a head-mounted display (HMD) , a vehicle, a drone, a medical device and applications (e.g., remote surgery) , an industrial device and applications (e.g., a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts) , a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like. The terminal device may also correspond to a Mobile Termination (MT) part of an IAB node (e.g., a relay node) . In the following description, the terms “terminal device” , “communication device” , “terminal” , “user equipment” and “UE” may be used interchangeably.
[0046] As used herein, the term “resource, ” “transmission resource, ” “resource block, ” “physical resource block” (PRB) , “uplink resource, ” or “downlink resource” may refer to any resource for performing a communication, for example, a communication between a terminal device and a network device, such as a resource in time domain, a resource in frequency domain, a resource in space domain, a resource in code domain, or any other combination of the time, frequency, space and / or code domain resource enabling a communication, and the like. In the following, unless explicitly stated, a resource in both frequency domain and time domain will be used as an example of a transmission resource for describing some example embodiments of the present disclosure. It is noted that example embodiments of the present disclosure are equally applicable to other resources in other domains.
[0047] FIG. 1 illustrates an example communication environment 100 in which example embodiments of the present disclosure can be implemented. As illustrated in FIG. 1, the communication environment 100 includes network functions (NF) 110 and 120, a service communication proxy (SCP) 130 connected to both the NFs 110 and 120, and a network repository function (NRF) 150 connected to the SCP 130. In the example communication environment 100, the NFs 110 and 120 communicate with each other via the SCP 130.
[0048] In some example embodiments, the NF 110 may act as a NF service consumer (hereinafter referred to as NFc) , which may request a service from the NF 120 acting as a NF service producer (hereinafter referred to as NFp) . Only for the purpose of illustration, in the following, the NF 110 may be also referred to as “NFc 110” , and the NF 120 may be also referred to as “NFp 120” .
[0049] The NRF 150 is a network function which maintains NF profiles and available NF instances. The NRF 150 may also provide service registration and discovery functionalities such that NFs can discover each other. As a pre-requisite, the NFc 110 may be registered with the NRF 150 so as to obtain an access token from the NRF 150.
[0050] It is to be understood that the NFs 110 and 120 may be implemented in a same physical device or different physical devices. In some example embodiments, the NFs 110 and 120, the SCP 130, and the NRF 150 as well as other elements may be implemented at the same node.
[0051] Communications in the communication environment 100 may be implemented according to any proper communication protocol (s) , comprising, but not limited to, cellular communication protocols of the first generation (1G) , the second generation (2G) , the third generation (3G) , the fourth generation (4G) , the fifth generation (5G) , 5.5G, the sixth generation (6G) , and the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.
[0052] It is also to be understood that the example environment 100 is shown only for purpose of illustration, without suggesting any limitation to the scope of the present disclosure. Embodiments of the present disclosure may also be applied to an environment with a different structure.
[0053] As briefly mentioned above, the OAuth 2.0 authorization framework is used for authorization of NF service access. In SBA, the NRF may act as the OAuth 2.0 authorization server, the NFc may act as the OAuth 2.0 client and the NFp may act as the OAuth 2.0 resource server. As such, the NRF authenticates the OAuth 2.0 client (NFc) and provides the NFc with an access token that authorizes the NFc to obtain the desired service from a NFp which plays the role of OAuth 2.0 resource server.
[0054] The most time-consuming part of OAuth 2.0 is the access token verification procedure performed at the NFp, majorly due to the certificate and signature verifications of the authorization server (i.e., NRF) . Furthermore, this verification is performed even for the subsequent requests coming from the same NFc using a cached access token.
[0055] There are also discussions to enable SBA across domain, i.e. for the services between the RAN and core network in 6G. Therefore, optimizations to OAuth 2.0 to enable faster processing and verification of access tokens become paramount.
[0056] In accordance with some example embodiments of the present disclosure, there is provided a solution for verifying an access token. The NFp receives the service request from the NFc, and determines an identification of the access token of the NFc. Then, the NFp obtains a verification result of the access token based on comparison of the identification to respective identifications of one or more verified access tokens, and transmits, to the NFc, the service response to the first service request based on the verification result.
[0057] Since the verification result is based on comparison of the identification of the received access token to respective identifications of one or more verified access tokens, the verification efficacy can be improved. Further, by improving the verification efficacy, a faster response time to the NFc can be enabled.
[0058] Moreover, the faster response time to the NFc may also be important for 6G where more and more SBA based services are being envisioned, the overall performance of the 6G system being envisioned can be improved.
[0059] Example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0060] FIG. 2 illustrates a signaling chart of a process 200 for verifying an access token according to some example embodiments of the present disclosure. As illustrated in FIG. 2, the process 200 involves the first NF 210, the second NF 220 and the third NF 230. In some example embodiments, the first NF 210 may be a NFp. The second NF 220 may be a NFc. The third NF 230 may be an NRF.
[0061] In some example embodiments, the first NF 210 may transmit (212) registration information as the service producer (i.e., NFp) to the third NF 230. The registration information may indicate a support in access token verification based on identification computation. For example, when the first NF 210 registers to the third NF 230, it may indicate in its profile that it supports access token verification based on identification computation. The profile of the first NF 210 may also include other information elements (IE) , such as the service description information (e.g., the service name, the service type, etc. ) , the performance indicator information (e.g., the response time, the throughput, the availability of the service, etc. ) , and other information, which is not limited in the present disclosure.
[0062] As used herein, the access token verification based on identification computation may means that an access token is verified by computing an identification of the access token and comparing the computed identification with identifications of one or more verified access tokens. In the following, the access token verification based on identification computation may be referred to as optimized authorization. In some example embodiments, an identification of a verified access token may be generated by the first NF 210, for example, an NFp. Alternatively, or in addition, in some example embodiments, an identification of a verified access token may be generated by the third NF 230, for example, an NFR. Alternatively, or in addition, in some example embodiments, an identification of a verified access token may be generated by an NFp in the same set with the first NF 210.
[0063] In some example embodiments, the identification of the access token may include the hash of the access token. The identification computation may include any algorithm for generating the hash, such as secure Hash algorithm 1 (SHA-1) , SHA-256, SHA-512, which is not limited in the present disclosure.
[0064] In some example embodiments, the second NF 220 may transmit (214) a discovery request for the service producer (i.e., NFp) to the third NF 230. The discovery request may include the indication for a response time to the service request. The indication may indicate a requirement for a faster response time. For example, when the second NF 220 transmits the discovery request to the third NF 230, it may indicate its preference for “faster response time” via the IE in the discovery request. The IE of the second NF 220 may also include other indications or information, such as the service type, the quality of service (QoS, e.g., the bandwidth indication, latency indication, packet loss rate indication) , which is not limited in the present disclosure.
[0065] In response to receiving the discovery request, the third NF 230 may search for NFps satisfying the requirements in the discovery request in its registration information database. Then, the third NF 230 can transmit (216) information about one or more service producers (i.e., NFp) supporting access token verification based on identification computation to the second NF 220. The one or more NFps may include the first NF 210. For example, based on the discovery request, the third NF 230 can provide a list of NFps that support access token verification based on identification computation.
[0066] It is not necessary that only when the second NF 220 requires the faster response time in the discovery request, the third NF 230 will provide the NFps that support access token verification based on identification computation. In the case where the second NF 220 does not specify the faster response time in the discovery request, for example, due to backward compatibility, the third NF 230 may still provide the NFps that support access token verification based on identification computation.
[0067] If the second NF 220 finds that the one or more NFps provided by the third NF 230 include the target NFp (for example, the NFp meeting the requirement of the second NF 220) , the second NF 220 may transmit an access token request to the third NF 230, to ask for the third NF 230 to provide the access token to access the target NFp. In some example embodiments, the access token request may include the identity information of the second NF 220. The third NF 230 may authenticate the second NF 220 based on preconfigured rules, ensuring that only legitimate and authorized second NF 220 can acquire the access token. For example, the third NF 230 may authenticate the second NF 220 by verifying the digital certificate, the username, and the password combination of the second NF 220.
[0068] After the identity information of the second NF 220 is authorized, the third NF 230 may generate the corresponding access token according to the specific request of the second NF 220. The access token may specify the expiry time, the resource scope that is allowed to be accessed, the permission that can be performed, etc. Then, the third NF 230 may feed back the access token to the second NF 220.
[0069] Continuing the process 200, the second NF 220 may transmit (218) a first service request to the first NF 210. The first service request may include the received access token from the third NF 230. In some example embodiments, the first service request may also include an indication for a response time, for example may indicate the requirement for the response time (such as a faster response time) via its IE.
[0070] In response to receiving the first service request from the second NF 220, the first NF 210 may determine (222) a first identification of a first access token of the second NF 220. For example, a hash value of the access token of the second NF 220 may be computed. Then, the first NF 210 may obtain (224) a verification result of the first access token based on comparison of the first identification to respective identifications of one or more verified access tokens. Based on the verification result, the first NF 210 can generate a first service response to the first service request, and transmit (226) the first service response to the second NF 220. As an example, the first identification of the first access token may be the hash of the first access token.
[0071] In some example embodiments, the first NF 210 may compare the first identification to the respective identifications of one or more verified access tokens. In an example, after the first NF 210 receives the first service request and the first access token, it may verify the first access token by comparing the first identification of the first access token with respective identifications of one or more verified access tokens. In response to that the first identification matches an identification of a verified access token, the first NF 210 may further verify one or more parameters in the first service request based on one or more parameters corresponding to the matching identification. In response to successful verification of the one or more parameters in the first service request, the first NF 210 may transmit a positive service response to the second NF 220.
[0072] In some example embodiments, in response to that the first identification does not match the respective identifications of one or more verified access tokens, the first NF 210 may verify the first access token. In response to successful verification of the first access token, the first NF 210 can store the first identification of the first access token in an entry of mapping information as an identification of a verified access token.
[0073] In some example embodiments, the mapping information may be a mapping table. For example, when the first NF 210 determines that the first identification does not match the respective identifications of one or more verified access tokens, it may generate the hash of the first access token and create the mapping table. Then, the first NF 210 may store the generated the first identification (for example, the hash) of the first access token in the entry of the mapping table. In the subsequent verification, the generated the first identification can be used as the identification of the verified access token.
[0074] In some example embodiments, the entry of the mapping table may further include at least one of: information about a service consumer having the verified access token, additional scope information, an algorithm for generating the identification of the verified access token, an expiry time for the verified access token, or information about the first network function. The information about the service consumer having the verified access token may include, for example, the NFc instance ID, the NFc type, the NFc slice ID, NFc public land mobile network (PLMN) , etc., which is not limited in the present disclosure. The information about the first network function may include, for example, the NFp details which creates the entry of the mapping table. The NFp details may include the NFp instance ID, the NFp set ID, NFp type, etc., which is not limited in the present disclosure.
[0075] In some example embodiments, the identifications of one or more verified access tokens may be generated by the first NF 210, details of which will be described below with reference to FIG. 3. Alternatively, the identifications of one or more verified access tokens may be received by the first NF 210 from the third NF 230, details of which will be described below with reference to FIG. 4 and FIG. 5.
[0076] In some example embodiments, the first NF 210 may request the third NF 230 to verify an access token, details of which will be described below with reference to FIG. 6. In an example, if the first identification does not match the respective identifications of the one or more verified access tokens, the first NF 210 may transmit a token verification request including the first identification to the third NF 230. Then, the first NF 210 may receive, from the third NF 230, the verification result of the first access token.
[0077] In some example embodiments, if the verification result indicates that the first access token is valid, the first NF 210 may store the first identification as an identification of a verified access token. In some example embodiments, the first service request from the second NF 220 may include the first identification of the access token of the second NF 220 rather than the access token. In such example embodiments, the first NF 230 may receive the first access token along with the verification result from the third NF 210. In other words, the third NF 230 may provide the access token of the second NF 220 to the first NF 210.
[0078] In the present disclosure, by comparing the received identification (such as the hash) of the access token with the identifications of one or more verified access tokens, instead of verifying the access token again, the verification efficiency can be improved, and the response time to the NFc can be reduced.
[0079] FIG. 3 illustrates a signaling chart of a process 300 for verifying an access token according to some example embodiments of the present disclosure. As illustrated in FIG. 3, the process 300 involves the NFc 310, the NRF 320 and NFp 330. In some example embodiments, the NFc 310 may be an example of the second NF 210 in FIG. 2, the NRF 320 may be an example of the third NF 230 in FIG. 2, and NFp 230 may be an example of the first NF 210 in FIG. 2. The process 300 may be considered as an example of the process 200.
[0080] As illustrated in FIG. 3, the NFp 330 transmits (312) registration information to the NRF 320. The registration information may indicate that the NFp 330 supports access token verification based on identification computation, i.e., optimized authorization.
[0081] The NFc 320 may transmit (314) a discovery request for the service producer to the NRF 320. The discovery request may include the indication for the response time (such as a faster response time) to the service request. After the NRF 320 receives the discovery request from the NFc 310, it may search for NFps satisfying the requirement for the response time in its registration information database. Then, the NRF 320 may provide (316) a list of NFps that support the optimized authorization.
[0082] If the NFc 310 finds that the list of NFps include the target NFp which meets its requirement for the response time, a procedure of access token request and response may be performed (318) . In the procedure of access token request and response, the NFc 310 may transmit an access token request to the NRF 320, to request the NRF 320 to provide an access token to access the target NFp. After the NRF 320 authenticates the identity information of the NFc 310, it may generate the corresponding access token, and provide the access token to the NFc 310. Although not shown, it is to be understood that the procedure of access token request and response may involve an SCP between the NFc 310 and the NRF 320.
[0083] Continuing with the process 300, the NFc 310 may transmit (322) a service request 350 (for example, which may be referred to as a second service request in some example embodiments) to the NFp 330. The service request 350 may include the access token of the NFc 310. In some example embodiments, the service request 350 may also include a requirement for a response time, for example may indicate the requirement for the response time (such as a faster response time) to the service request 350 via its IE.
[0084] In response to receiving the service request 350 from the NFc 310, the NFp 330 may verify (324) the access token. If the access token passes the verification, the NFp 330 may generate (326) an identification (for example, the hash) of the access token. Then, the NFp 330 may store the generated identification in an entry of mapping information as an identification of a verified access token. For example, the NFp 330 may generate the hash of the access token, and store the generated hash in an entry of the mapping table. Then, the NFp 330 may transmit (328) a service response 370 (for example, which may be referred to as a second service response in some example embodiments) to the NFc 310.
[0085] In some example embodiments, the service response 370 may include an indication that at least one of the NFp 330 or a service producer set including the NFp 330 verifies the access token of the NFc 310. For example, the service response 370 may include an additional IE indicating the NFp instance and NFp set information which has already verified the access token and created the hash of it. In the case of subsequent service requests, the NFc 310 may request the same NFp instance or any NFp belonging to that NFp set to enable a faster and optimized response.
[0086] Continuing with the process 300, the NFc 310 may receive the service response 370 from the NFp 330. Then, the NFc 310 may process (332) the service response 370, and store (334) the access token for example in its cache. In some example embodiments, if the NFc 310 needs a service from the NFp 330, the NFc 310 may transmit (336) a service request 360 to the NFp 330. The NFc 310 may also transmit the cached access token along with the service request 360.
[0087] As described above, the service response 370 received by the NFc 310 may include an additional IE indicating NFp instance and NFp set information which has already verified the access token and created the hash of it, the NFc 310 may prioritize the same NFp instance or any NFp belonging to that NFp set in requesting service.
[0088] In response to receiving the service request 360, the NFp 330 may generate (338) the identification (for example, the hash) of the received access token. Then, the NFp 330 may determine whether the generated identification matches the identifications of veried access tokens. In an example, the NFp 330 may determine whether the generated hash matches the hash of a verified access token. For example, the NFp 330 may determine whether the generated hash is in the mapping table stored locally.
[0089] If the NFp 330 determines that the generated identification is in its mapping table, it may verify (340) one or more parameters in the service request 360 based on one or more parameters corresponding to the matching identification. In response to successful verification of the one or more parameters in the service request 360, the NFp 330 may transmit (342) , to the NFc 310, a positive service response 380 to the service request 360.
[0090] As briefly mentioned above with reference to FIG. 2, in some example embodiments, an identification of a verified access token may be provided by the third network function, for example an NRF. In some example embodiments, the identification provided by the third network function may be generated by itself. Reference is now made to FIG. 4 to illustrate such example embodiments.
[0091] FIG. 4 illustrates a signaling chart of a process 400 for verifying an access token according to some example embodiments of the present disclosure. As illustrated in FIG. 4, the process 400 involves the NFc 410, the NRF 420 and NFp 430. In some example embodiments, the NFc 410 may be an example of the second NF 210 in FIG. 2, the NRF 420 may be an example of the third NF 230 in FIG. 2, and NFp 430 may be an example of the first NF 210 in FIG. 2. The process 400 may be considered as an example of the process 200.
[0092] As illustrated in FIG. 4, the NFp 430 transmits (412) registration information to the NRF 420. The registration information may indicate that NFp 430 supports access token verification based on identification computation, i.e., the optimized authorization.
[0093] The NFc 420 may transmit (414) a discovery request for the service producer to the NRF 420. The discovery request may include the indication for the response time (such as a faster response time) to the service request. After the NRF 420 receives the discovery request from the NFc 410, it may search for NFps satisfying the requirement for the response time in its registration information database. Then, the NRF 420 may provide (416) a list of NFps that support optimized authorization.
[0094] If the NFc 410 finds that the list of NFps include the target NFp which meets its requirement for the response time, a procedure of access token request and response may be performed (418) . In the procedure of access token request and response, the NFc 410 may transmit an access token request to the NRF 420, to request the NRF 420 to provide the access token to access the target NFp. After the NRF 420 authenticates the identity information of the NFc 410, it may generate the corresponding access token, and provide the access token to the NFc 410. Although not shown, it is to be understood that the procedure of access token request and response may involve an SCP between the NFc 410 and the NRF 420.
[0095] Continuing with the process 400, in response to that the corresponding access token is granted to the NFc 410, the NRF 420 may generate an identification (for example, the hash) of the access token of NFc 410. Then, the NRF 420 may transmit, to the NFp 430, identification information comprising the generated identification. For example, as shown in FIG. 4, after the NRF 420 generates the corresponding access token, it may generate the hash of the corresponding access token, and transmit (422) the generated hash to the NFp 430. In some example embodiments, the identification information may further include at least one of: an algorithm for generating the second identification, an identifier of the NFc for which the second identification is generated, or a service request for which the access token is granted. The identifier of the NFc for which the second identification is generated may include, for example, the NFc instance ID for which the access token and the corresponding hash are generated.
[0096] In some example embodiments, the NFp 430 may receive the identification information including the second identification, and store the second identification in an entry of mapping information as an identification of a verified access token. For example, the NFp 430 may receive the hash, and store (424) the hash in its mapping table.
[0097] Continuing with the process 400, the NFc 410 may transmit (426) a service request 450 to the NFp 430. The service request 450 may include the access token of the NFc 410 which is received from the NRF 420. In some example embodiments, the service request 450 may also include an indication for the response time, for example may indicate the requirement for the response time (such as a faster response time) to the service request 450 via its IE.
[0098] In response to receiving the service request 450 from the NFc 410, the NFp 430 may generate (428) the hash of the access token, and check (432) whether the generated hash in its mapping table. If the NFp 430 determines that the generated hash is in its mapping table, it may verify (444) one or more parameters in the service request 450 based on one or more parameters corresponding to the matching hash. In response to successful verification of the one or more parameters in the service request 450, the NFp 430 may transmit (446) , to the NFc 410, a positive service response 480 to the service request.
[0099] If the NFp 430 determines that the generated hash is not in its mapping table, the NFp 430 may verify the access token. In response to the access token being verified, the NFp 430 may generate (428) the hash of the verified access token. Then, the NFp 430 may store (432) the generated hash in an entry of the mapping table, for further request optimization. Then, the NFp 430 may transmit (434) a service response 470 to the NFc 410. In some example embodiments, the service response 470 may include an indication that at least one of the NFp 430 or a service producer set including the NFp 430 verifies the access token of the NFc 410. For example, the service response 470 may include an additional IE indicating the NFp instance and NFp set information which has already verified the access token and created the hash of it. In the case of subsequent service requests, the NFc 410 may request the same NFp instance or any NFp belonging to that NFp set to enable a faster and optimized response.
[0100] Continuing with the process 400, the NFc 410 may receive the service response 470 from the NFp 430. Then, the NFc 410 may process (436) the service response 470, and store (438) the access token in its cache. In some example embodiments, if the NFc 410 needs a service from the NFp 430, the NFc 410 may transmit (440) a service request 460 to the NFp 430. The NFc 410 may also transmit the cached access token along with the service request 460.
[0101] As described above, the service response 470 received by the NFc 410 may include the additional IE indicating NFp instance and NFp set information which has already verified the access token and created the hash of it, the NFc 410 may prioritize the same NFp instance or any NFp belonging to that NFp set in requesting service.
[0102] In response to receiving the service request 460, the NFp 430 may generate (442) the hash of the access token received. Then, the NFp 430 may determine whether generated hash matches the hash of a verified access token. For example, the NFp 430 may determine whether the generated hash is in its mapping table.
[0103] If the NFp 430 determines that the generated hash is in its mapping table, it may verify (444) one or more parameters in the service request 460 based on one or more parameters corresponding to the matching hash. In response to successful verification of the one or more parameters in the service request 460, the NFp 430 may transmit (446) , to the NFc 410, a positive service response 480 to the service request 460.
[0104] As briefly mentioned above with reference to FIG. 2, in some example embodiments, an identification of a verified access token may be provided by the third network function, for example an NRF. In some example embodiments, if a network function as a service producer generates an identification of a verified access token, the network function may provide the identification of the verified access token to the NRF, and the NRF may further provide the identification to other service producers in the same service producer set. Reference is now made to FIG. 5 to illustrate such example embodiments.
[0105] FIG. 5 illustrates a signaling chart of a process 500 for verifying an access token according to some other example embodiments of the present disclosure. As illustrated in FIG. 5, the process 300 involves the NFc 510, the NRF 520, NFp 530 and NFp 540. In some example embodiments, the NFc 510 may be an example of the second NF 210 in FIG. 2, the NRF 520 may be an example of the third NF 230 in FIG. 2, and NFp 530 and NFp 540 may be examples of the first NF 210 in FIG. 2. The process 500 may be considered as an example of the process 200.
[0106] As illustrated in FIG. 5, the NFp 530 may transmit (512) registration information to the NRF 520. The registration information may indicate that NFp 530 supports access token verification based on identification computation, i.e., the optimized authorization.
[0107] The NFc 520 may transmit (514) a discovery request for the service producer to the NRF 520. The discovery request may include the indication for the response time (such as a faster response time) to the service request. After the NRF 520 receives the discovery request from the NFc 510, it may search for NFps satisfying the requirement for the response time in its registration information database. Then, the NRF 520 may provide (516) a list of NFps that support optimized authorization.
[0108] If the NFc 510 finds that the list of NFps include the target NFp which meets its requirement for the response time, a procedure of access token request and response may be performed (518) . In the procedure of access token request and response, the NFc 410 may transmit an access token request to the NRF 520, to request the NRF 520 to provide the access token to access the target NFp. After the NRF 520 authenticates the identity information of the NFc 510, it may generate the corresponding access token, and provide the access token to the NFc 510. Although not shown, it is to be understood that the procedure of access token request and response may involve an SCP between the NFc 510 and the NRF 520.
[0109] Continuing with the process 500, the NFc 510 may transmit (522) a service request 560 to the NFp 530. The service request 560 may include the access token of the NFc 510. In some example embodiments, the service request 560 may also include a indication of the response time, for example, mya indicate the requirement for the response time (such as a faster response time) to the service request 560 via its IE.
[0110] In response to receiving the service request 560 from the NFc 510, the NFp 530 may verify (524) the access token. In response to the access token being verified, the NFp 530 may generate (526) the hash of the verified access token. Then, the NFp 530 may create a mapping table, and store the generated hash in an entry of the mapping table. In some example embodiments, the entry of the mapping table may further include at least one of: information about a service consumer having the verified access token, additional scope information, an algorithm for generating the identification of the verified access token, an expiry time for the verified access token, or information about the first network function.
[0111] Continuing with the process 500, the NFp 530 may transmit (528) , to the NRF 520, the entry of the mapping table for distribution to a service producer set including the NFp 530. For example, after the NFp 530 verifies the access token and creates the mapping table, the NFp 530 may transmit the mapping table to the NRF 520 to be broadcasted to all the other NFps in the NFp set including the NFp 530. In some example embodiments, the NFp 530 may also transmit its CCA and its set ID.
[0112] The NRF 520 may receive the entry of the mapping table including the hash of the verified access token of the NFc 510, and verify (532) whether the NFp 530 is included in the specified NFp set. In response to determining that the NFp 530 is included in the specified NFp set, the NRF 520 may transmit the entry of the mapping information to the at least one further network function included in the specified NFp set. For example, as shown in FIG. 5, if the NRF 520 determines that the NFp 530 is included in the specified NFp set, the NRF 520 may transmit (534) the updated mapping table to the NFp 540 belonging to the specified NFp set.
[0113] As described above, in response to receiving the service request 560 from the NFc 510, the NFp 530 may generate (526) the hash of the access token. Then, the NFp 530 may transmit (536) a service response 580 to the NFc 510. In some example embodiments, the service response 580 may include an indication that at least one of the NFp 530 or a service producer set including the NFp 530 verifies the access token of the NFc 510. For example, the service response 580 may include additional IE indicating the NFp instance and NFp set information which has already verified the access token and created the hash of it. In the case of subsequent service requests, the NFc 510 can request the same NFp instance or any NFp belonging to that NFp set to enable faster and optimized response.
[0114] Continuing with the process 500, after the NFc 510 receives the service response 580 from the NFp 530. The NFc 510 may process (538) the service response 580, and store (542) the access token in its cache. In some example embodiments, if the NFc 510 needs a service from the NFp 540, the NFc 510 may transmit (544) a service request 570 to the NFp 540. The NFc 510 may also transmit the cached access token along with the service request 570.
[0115] In response to receiving the service request 570, the NFp 540 may generate (546) the hash of the access token received. Then, the NFp 540 may determine whether the generated hash matches the hash of a verified access token. For example, the NFp 540 may determine whether the generated hash is in its mapping table.
[0116] If the NFp 540 determines that the generated hash is in its mapping table, it may verify (548) one or more parameters in the service request 570 based on one or more parameters corresponding to the matching hash. In response to successful verification of the one or more parameters in the service request 570, the NFp 540 may transmit (550) , to the NFc 510, a positive service response 590 to the service request 570.
[0117] As briefly mentioned above, in some example embodiments, the first NF 210 may request the third NF 230 to verify an access token, for example, an NFp may request an NRF to verify the access token. Reference is now made to FIG. 6 to illustrate such example embodiments.
[0118] FIG. 6 illustrates a signaling chart of a process 600 for verifying an access token according to some other example embodiments of the present disclosure. As illustrated in FIG. 6, the process 600 involves the NFc 610, the NRF 620 and NFp 630. In some example embodiments, the NFc 610 may be an example of the second NF 210 in FIG. 2, the NRF 620 may be an example of the third NF 260 in FIG. 2, and NFp 630 may be an example of the first NF 210 in FIG. 2. The process 600 may be considered as an example of the process 200.
[0119] In some example embodiments, as illustrated in FIG. 6, the NFc 610 transmit (612) an access token request to the NRF 620. After the access token request is received, the NRF 620 verifies the access token request. If the access token request is valid, the NRF 620 generates (614) the access token. The NRF 620 may also generate the hash of the access token. Then, the NRF 620 may store (616) the generated access token and the hash of the access token.
[0120] In some example embodiments, the NRF 620 may return (618) the access token to the NFc 610. After the NFc 610 receives the access token, it may transmit (622) a service request 650 to the NFp 630. The service request 650 may include the access token received from the NRF 620.
[0121] In response to receiving the service request 650 from the NFc 610, the NFp 630 may generate (624) the hash of the access token, and check (626) whether the generated hash is in its cache.
[0122] If the NFp 630 determines that the generated hash is not in its cache, it may transmit (628) a token verification request to the NRF 620, to request the NRF 620 to verify the access token of the NPc 610. The token verification request may include the hash of the access token. In response to receiving the token verification request, the NRF 620 finds the hash in its storage, and returns (632) the verification information about the validity of the access token to the NFp 630. For example, if the NRF 620 finds the hash in its storage, the NRF 620 may determine that the access token is valid.
[0123] In response to receiving the verification information from the NRF 620, the NFp 630 may store (634) the hash and the verification information in its local cache. If the verification information indicates that access token is valid, the NFp 630 may authorize (636) the service request 650 against the provided scopes in the access token. After successful authorization, the NFp 630 may provide (638) a service response 670 to the NFc 610.
[0124] Continuing with the process 600, the NFc 610 may receive the service response 670 from the NFp 630. Then, the NFc 610 may process the service response 670, and store the access token in its cache. In some example embodiments, if the NFc 610 needs a service from the NFp 630, the NFc 610 may transmit (640) a service request 660 (which is also referred to as a subsequent request) to the NFp 630. The NFc 610 may also transmit the cached access token along with the service request 660.
[0125] In response to receiving the service request 660, the NFp 630 may generate (642) the hash of the access token, and check whether the hash is in its local cache. If the NFp 630 determines that the hash is in its local cache, it may authorize (644) the service request 660 against the provided scopes in the access token. After successful authorization, the NFp 630 may provide (646) a service response 680 to the NFc 610.
[0126] It is to be understood that the number of elements (such as the first NF, the second NF, the third NF, the NFc, the NFp, the NRF, etc. ) and their connections shown in FIGs. 1-6 are only for the purpose of illustration without suggesting any limitation. Any suitable number of elements configured to implementing example embodiments of the present disclosure may be included.
[0127] In the present disclosure, by comparing the received identification (such as the hash) of the access token with the identifications of one or more verified access tokens, instead of verifying the access token again, the verification efficiency can be improved, and the response time to the NFc can be reduced. As an example, Table 1 shows a comparison of measured times in microsecond (ms) for token verification and token caching (including time for calculating hashes) , respectively. For comparison, the communication time for sending a http request / response is in the order of 0, 2ms for communication via localhost, but might be significantly higher, if communication is between different machines.
[0128] Table 1
[0129] As shown in Table 1, the performance benefits obtained are noticeable, and these results are for a single request. In the case of multiple requests, the optimization benefits compound over time.
[0130] FIG. 7 illustrates a flowchart of a method 700 implemented at a first apparatus in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 700 will be described from the perspective of the NF 120 in FIG. 1.
[0131] At block 710, the first apparatus receives, at a first network function, a first service request from a second network function.
[0132] At block 720, the first apparatus determines a first identification of a first access token of the second network function.
[0133] At block 730, the first apparatus obtains a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0134] At block 740, the first apparatus transmits, to the second network function, a first service response to the first service request based on the verification result.
[0135] In some example embodiments, the method 700 further comprises: in response to that the first identification matches an identification of a verified access token, verifying one or more parameters in the first service request based on one or more parameters corresponding to the matching identification; and in response to successful verification of the one or more parameters in the first service request, transmitting a positive service response to the second network function.
[0136] In some example embodiments, the method 700 further comprises: in response to that the first identification does not match the respective identifications of one or more verified access tokens, verifying the first access token; and in response to successful verification of the first access token, storing the first identification in an entry of mapping information as an identification of a verified access token.
[0137] In some example embodiments, the method 700 further comprises: transmitting, to a third network function, the entry of the mapping information for distribution to a service producer set comprising the first network function.
[0138] In some example embodiments, the method 700 further comprises: transmitting, to a third network function, registration information as a service producer, the registration information indicating a support in access token verification based on identification computation.
[0139] In some example embodiments, an identification of a verified access token is comprised in an entry of mapping information, and the entry further comprises at least one of: information about a service consumer having the verified access token, additional scope information, an algorithm for generating the identification of the verified access token, an expiry time for the verified access token, or information about the first network function.
[0140] In some example embodiments, the method 700 further comprises: receiving, from the second network function, a second service request comprising the first access token of the second network function; in response to the first access token being verified, generating an identification of the first access token; storing the generated identification in an entry of mapping information as an identification of a verified access token; and transmitting, to the second network function, a second service response to the second service request.
[0141] In some example embodiments, the second service request comprises a indication for a response time to the second service request.
[0142] In some example embodiments, the second service response comprises an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.
[0143] In some example embodiments, the method 700 further comprises: receiving, from a third network function, identification information comprising a second identification of the first access token of the second network function, the second identification being generated by the third network function; and storing the second identification as an identification of a verified access token.
[0144] In some example embodiments, the identification information further comprises at least one of: an algorithm for generating the second identification, an identifier of the second network function for which the second identification is generated, or a service request of the second network function for which the first access token is granted.
[0145] In some example embodiments, the method 700 further comprises: in response to that the first identification does not match the respective identifications of the one or more verified access tokens, transmitting to a third network function, a token verification request comprising the first identification; and receiving, from the third network function, the verification result of the first access token.
[0146] In some example embodiments, the method 700 further comprises: storing the first identification as an identification of a verified access token.
[0147] In some example embodiments, the method 700 further comprises: receiving, from the third network function, the first access token along with the verification result.
[0148] FIG. 8 illustrates a flowchart of a method 800 implemented at a second apparatus in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 800 will be described from the perspective of the NF 110 in FIG. 1.
[0149] At block 810, the second apparatus transmits, at a second network function, a first service request to a first network function.
[0150] At block 820, the second apparatus receives, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0151] In some example embodiments, the method 800 further comprises: receiving, from a third network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0152] In some example embodiments, the method 800 further comprises: transmitting, to the third network function, a discovery request for a service producer comprising a indication for a response time to a service request.
[0153] In some example embodiments, the method 800 further comprises: transmitting, to the first network function, a second service request comprising the first access token of the second network function; and receiving, from the first network function, a second service response to the second service request, the second service response comprising an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.
[0154] In some example embodiments, the second service request comprises a indication for a response time to the second service request.
[0155] In some example embodiments, the method 800 further comprises: in response to the second service response comprising the indication that the first network function verifies the first access token of the second network function, prioritizing the first network function in requesting services.
[0156] FIG. 9 illustrates a flowchart of a method 900 implemented at a third apparatus in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 900 will be described from the perspective of the NRF 150 in FIG. 1.
[0157] At block 910, the third apparatus receives, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation. and
[0158] At block 920, the third apparatus receives a discovery request for a service producer from a second network function.
[0159] At block 930, the third apparatus transmits, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0160] In some example embodiments, the discovery request comprises a indication for a response time to a service request.
[0161] In some example embodiments, the method 900 further comprises: in response to that the first access token is granted to the second network function, generating a second identification of the first access token of the second network function; and transmitting, to the first network function, identification information comprising the second identification.
[0162] In some example embodiments, the identification information further comprises at least one of: an algorithm for generating the second identification, an identifier of the second network function for which the second identification is generated, or a service request of the second network function for which the first access token is granted.
[0163] In some example embodiments, the method 900 further comprises: receiving, from the first network function, an entry of mapping information comprising a first identification of a first access token of the second network function; and transmitting, to at least one further network function, the entry of the mapping information comprising the first identification, wherein the at least one further network function and the first network function are comprised in a same service producer set.
[0164] In some example embodiments, the method 900 further comprises: determining whether the first network function is comprised in the specified service producer set; and in response to determining that the first network function is comprised in the specified service producer set, transmitting the entry of the mapping information to the at least one further network function comprised in the specified service producer set.
[0165] In some example embodiments, the method 900 further comprises: receiving, from the second network function, an access token request; storing a first access token of the second network function and an identification of the first access token; and transmitting, to the second network function, an access token response comprising at least one of the first access token or the stored identification of the first access token.
[0166] In some example embodiments, the method 900 further comprises: receiving, from the first network function, a token verification request comprising a first identification; determining a verification result based on a comparison of the first identification to the stored identification; and transmitting the verification result to the first network function.
[0167] In some example embodiments, a first apparatus capable of performing any of the method 700 may comprise means for performing the respective operations of the method 700. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The first apparatus may be implemented as or included in the NF 120 in FIG. 1.
[0168] In some example embodiments, the first apparatus comprises means for receiving, at a first network function, a first service request from a second network function; means for determining a first identification of a first access token of the second network function; means for obtaining a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; and means for transmitting, to the second network function, a first service response to the first service request based on the verification result.
[0169] In some example embodiments, the first apparatus further comprises: means for in response to that the first identification matches an identification of a verified access token, verifying one or more parameters in the first service request based on one or more parameters corresponding to the matching identification; and means for in response to successful verification of the one or more parameters in the first service request, transmitting a positive service response to the second network function.
[0170] In some example embodiments, the first apparatus further comprises: means for in response to that the first identification does not match the respective identifications of one or more verified access tokens, verifying the first access token; and means for in response to successful verification of the first access token, storing the first identification in an entry of mapping information as an identification of a verified access token.
[0171] In some example embodiments, the first apparatus further comprises: means for transmitting, to a third network function, the entry of the mapping information for distribution to a service producer set comprising the first network function.
[0172] In some example embodiments, the first apparatus further comprises: means for transmitting, to a third network function, registration information as a service producer, the registration information indicating a support in access token verification based on identification computation.
[0173] In some example embodiments, an identification of a verified access token is comprised in an entry of mapping information, and the entry further comprises at least one of: information about a service consumer having the verified access token, additional scope information, an algorithm for generating the identification of the verified access token, an expiry time for the verified access token, or information about the first network function.
[0174] In some example embodiments, the first apparatus further comprises: means for receiving, from the second network function, a second service request comprising the first access token of the second network function; means for in response to the first access token being verified, generating an identification of the first access token; means for storing the generated identification in an entry of mapping information as an identification of a verified access token; and means for transmitting, to the second network function, a second service response to the second service request.
[0175] In some example embodiments, the second service request comprises a indication for a response time to the second service request.
[0176] In some example embodiments, the second service response comprises an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.
[0177] In some example embodiments, the first apparatus further comprises: means for receiving, from a third network function, identification information comprising a second identification of the first access token of the second network function, the second identification be generated by the third network function; and means for storing the second identification as an identification of a verified access token.
[0178] In some example embodiments, the identification information further comprises at least one of: an algorithm for generating the second identification, an identifier of the second network function for which the second identification is generated, or a service request of the second network function for which the first access token is granted.
[0179] In some example embodiments, the first apparatus further comprises: means for in response to that the first identification does not match the respective identifications of the one or more verified access tokens, transmitting to a third network function, a token verification request comprising the first identification; and means for receiving, from the third network function, the verification result of the first access token.
[0180] In some example embodiments, the first apparatus further comprises: means for storing the first identification as an identification of a verified access token.
[0181] In some example embodiments, the first apparatus further comprises: means for receiving, from the third network function, the first access token along with the verification result.
[0182] In some example embodiments, a second apparatus capable of performing any of the method 800 may comprise means for performing the respective operations of the method 800. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The second apparatus may be implemented as or included in the NF 110 in FIG. 1.
[0183] In some example embodiments, the second apparatus comprises means for transmitting, at a second network function, a first service request to a first network function; and means for receiving, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.
[0184] In some example embodiments, the second apparatus further comprises: means for receiving, from a third network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0185] In some example embodiments, the second apparatus further comprises: means for transmitting, to the third network function, a discovery request for a service producer comprising an indication for a response time to a service request.
[0186] In some example embodiments, the second apparatus further comprises: means for transmitting, to the first network function, a second service request comprising the first access token of the second network function; and means for receiving, from the first network function, a second service response to the second service request, the second service response comprising an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.
[0187] In some example embodiments, the second service request comprises an indication for a response time to the second service request.
[0188] In some example embodiments, the second apparatus further comprises: means for in response to the second service response comprising the indication that the first network function verifies the first access token of the second network function, prioritizing the first network function in requesting services.
[0189] In some example embodiments, a third apparatus capable of performing any of the method 900 may comprise means for performing the respective operations of the method 900. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The third apparatus may be implemented as or included in the NRF 150 in FIG. 1.
[0190] In some example embodiments, the third apparatus comprises means for receiving, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; and means for receiving a discovery request for a service producer from a second network function; and means for transmitting, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.
[0191] In some example embodiments, the discovery request comprises an indication for a response time to a service request.
[0192] In some example embodiments, the third apparatus further comprises: means for in response to that the first access token is granted to the second network function, generating a second identification of the first access token of the second network function; and means for transmitting, to the first network function, identification information comprising the second identification.
[0193] In some example embodiments, the identification information further comprises at least one of: an algorithm for generating the second identification, an identifier of the second network function for which the second identification is generated, or a service request of the second network function for which the first access token is granted.
[0194] In some example embodiments, the third apparatus further comprises: means for receiving, from the first network function, an entry of mapping information comprising a first identification of a first access token of the second network function; and means for transmitting, to at least one further network function, the entry of the mapping information comprising the first identification, wherein the at least one further network function and the first network function are comprised in a same service producer set.
[0195] In some example embodiments, the third apparatus further comprises: means for determining whether the first network function is comprised in the specified service producer set; and means for in response to determining that the first network function is comprised in the specified service producer set, transmitting the entry of the mapping information to the at least one further network function comprised in the specified service producer set.
[0196] In some example embodiments, the third apparatus further comprises: means for receiving, from the second network function, an access token request; means for storing a first access token of the second network function and an identification of the first access token; and means for transmitting, to the second network function, an access token response comprising at least one of the first access token or the stored identification of the first access token.
[0197] In some example embodiments, the third apparatus further comprises: means for receiving, from the first network function, a token verification request comprising a first identification; means for determining a verification result based on a comparison of the first identification to the stored identification; and means for transmitting the verification result to the first network function.
[0198] FIG. 10 is a simplified block diagram of a device 1000 that is suitable for implementing example embodiments of the present disclosure. The device 1000 may be provided to implement a communication device, for example, the NF 110, the NF 120 or the NF 130 as shown in FIG. 1. As shown, the device 1000 includes one or more processors 1010, one or more memories 1020 coupled to the processor 1010, and one or more communication modules 1040 coupled to the processor 1010.
[0199] The communication module 1040 is for bidirectional communications. The communication module 1040 has one or more communication interfaces to facilitate communication with one or more other modules or devices. The communication interfaces may represent any interface that is necessary for communication with other network elements. In some example embodiments, the communication module 1040 may include at least one antenna.
[0200] The processor 1010 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 1000 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
[0201] The memory 1020 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 1024, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , an optical disk, a laser disk, and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random-access memory (RAM) 1022 and other volatile memories that will not last in the power-down duration.
[0202] A computer program 1030 includes computer executable instructions that are executed by the associated processor 1010. The instructions of the program 1030 may include instructions for performing operations / acts of some example embodiments of the present disclosure. The program 1030 may be stored in the memory, e.g., the ROM 1024. The processor 1010 may perform any suitable actions and processing by loading the program 1030 into the RAM 1022.
[0203] The example embodiments of the present disclosure may be implemented by means of the program 1030 so that the device 1000 may perform any process of the disclosure as discussed with reference to FIG. 2 to FIG. 9. The example embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0204] In some example embodiments, the program 1030 may be tangibly contained in a computer readable medium which may be included in the device 1000 (such as in the memory 1020) or other storage devices that are accessible by the device 1000. The device 1000 may load the program 1030 from the computer readable medium to the RAM 1022 for execution. In some example embodiments, the computer readable medium may include any types of non-transitory storage medium, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .
[0205] FIG. 11 shows an example of the computer readable medium 1100 which may be in form of CD, DVD or other optical storage disk. The computer readable medium 1100 has the program 1030 stored thereon.
[0206] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, and other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. Although various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0207] Some example embodiments of the present disclosure also provide at least one computer program product tangibly stored on a computer readable medium, such as a non-transitory computer readable medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target physical or virtual processor, to carry out any of the methods as described above. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0208] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0209] In the context of the present disclosure, the computer program code or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer readable medium, and the like.
[0210] The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0211] Further, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, although several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Unless explicitly stated, certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, unless explicitly stated, various features that are described in the context of a single embodiment may also be implemented in a plurality of embodiments separately or in any suitable sub-combination.
[0212] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.A first apparatus comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the first apparatus at least to:receive, at a first network function, a first service request from a second network function;determine a first identification of a first access token of the second network function;obtain a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; andtransmit, to the second network function, a first service response to the first service request based on the verification result.2.The first apparatus of claim 1, wherein the first apparatus is caused to:in response to that the first identification matches an identification of a verified access token, verify one or more parameters in the first service request based on one or more parameters corresponding to the matching identification; andin response to successful verification of the one or more parameters in the first service request, transmit a positive service response to the second network function.3.The first apparatus of claim 1, wherein the first apparatus is caused to:in response to that the first identification does not match the respective identifications of one or more verified access tokens, verify the first access token; andin response to successful verification of the first access token, store the first identification in an entry of mapping information as an identification of a verified access token.4.The first apparatus of claim 3, wherein the first apparatus is further caused to:transmit, to a third network function, the entry of the mapping information for distribution to a service producer set comprising the first network function.5.The first apparatus of claim 1, wherein the first apparatus is further caused to:transmit, to a third network function, registration information as a service producer, the registration information indicating a support in access token verification based on identification computation.6.The first apparatus of claim 1, wherein an identification of a verified access token is comprised in an entry of mapping information, and the entry further comprises at least one of:information about a service consumer having the verified access token,additional scope information,an algorithm for generating the identification of the verified access token,an expiry time for the verified access token, orinformation about the first network function.7.The first apparatus of claim 1, wherein the first apparatus is further caused to:receive, from the second network function, a second service request comprising the first access token of the second network function;in response to the first access token being verified, generate an identification of the first access token;store the generated identification in an entry of mapping information as an identification of a verified access token; andtransmit, to the second network function, a second service response to the second service request.8.The first apparatus of claim 7, wherein the second service request comprises a indication for a response time to the second service request.9.The first apparatus of claim 7, wherein the second service response comprises an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.10.The first apparatus of claim 1, wherein the first apparatus is further caused to:receive, from a third network function, identification information comprising a second identification of the first access token of the second network function, the second identification being generated by the third network function; andstore the second identification as an identification of a verified access token.11.The first apparatus of claim 10, wherein the identification information further comprises at least one of:an algorithm for generating the second identification,an identifier of the second network function for which the second identification is generated, ora service request of the second network function for which the first access token is granted.12.The first apparatus of claim 1, wherein the first apparatus is caused to:in response to that the first identification does not match the respective identifications of the one or more verified access tokens, transmit, to a third network function, a token verification request comprising the first identification; andreceive, from the third network function, the verification result of the first access token.13.The first apparatus of claim 12, wherein the first apparatus is further caused to:store the first identification as an identification of a verified access token.14.The first apparatus of claim 12, wherein the first service request comprises the first identification, and the first apparatus is further caused to:receive, from the third network function, the first access token along with the verification result.15.A second apparatus comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the second apparatus at least to:transmit, at a second network function, a first service request to a first network function; andreceive, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.16.The second apparatus of claim 15, wherein the second apparatus is further caused to:receive, from a third network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.17.The second apparatus of claim 16, wherein the second apparatus is further caused to:transmit, to the third network function, a discovery request for a service producer comprising an indication for a response time to a service request.18.The second apparatus of claim 15, wherein the second apparatus is further caused to:transmit, to the first network function, a second service request comprising the first access token of the second network function; andreceive, from the first network function, a second service response to the second service request, the second service response comprising an indication that at least one of the first network function or a service producer set comprising the first network function verifies the first access token of the second network function.19.The second apparatus of claim 18, wherein the second service request comprises an indication for a response time to the second service request.20.The second apparatus of claim 18, wherein the second apparatus is caused to:in response to the second service response comprising the indication that the first network function verifies the first access token of the second network function, prioritize the first network function in requesting services.21.A third apparatus comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the third apparatus at least to:receive, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; andreceive a discovery request for a service producer from a second network function; andtransmit, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.22.The third apparatus of claim 21, wherein the discovery request comprises an indication for a response time to a service request.23.The third apparatus of claim 21, wherein the third apparatus is further caused to:in response to that the first access token is granted to the second network function, generate a second identification of the first access token of the second network function; andtransmit, to the first network function, identification information comprising the second identification.24.The third apparatus of claim 23, wherein the identification information further comprises at least one of:an algorithm for generating the second identification,an identifier of the second network function for which the second identification is generated, ora service request of the second network function for which the first access token is granted.25.The third apparatus of claim 21, wherein the third apparatus is further caused to:receive, from the first network function, an entry of mapping information comprising a first identification of a first access token of the second network function; andtransmit, to at least one further network function, the entry of the mapping information comprising the first identification, wherein the at least one further network function and the first network function are comprised in a same service producer set.26.The third apparatus of claim 25, wherein the entry of the mapping information specified a service producer set, and the third apparatus is further caused to:determine whether the first network function is comprised in the specified service producer set; andin response to determining that the first network function is comprised in the specified service producer set, transmit the entry of the mapping information to the at least one further network function comprised in the specified service producer set.27.The third apparatus of claim 21, wherein the third apparatus is further caused to:receive, from the second network function, an access token request;store a first access token of the second network function and an identification of the first access token; andtransmit, to the second network function, an access token response comprising at least one of the first access token or the stored identification of the first access token.28.The third apparatus of claim 27, wherein the third apparatus is further caused to:receive, from the first network function, a token verification request comprising a first identification;determine a verification result based on a comparison of the first identification to the stored identification; andtransmit the verification result to the first network function.29.A method comprising:receiving, at a first network function, a first service request from a second network function;determining a first identification of a first access token of the second network function;obtaining a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; andtransmitting, to the second network function, a first service response to the first service request based on the verification result.30.A method comprising:transmitting, at a second network function, a first service request to a first network function; andreceiving, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.31.A method comprising:receiving, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; andreceiving a discovery request for a service producer from a second network function; andtransmitting, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.32.A first apparatus comprising:means for receiving, at a first network function, a first service request from a second network function;means for determining a first identification of a first access token of the second network function;means for obtaining a verification result of the first access token that is based on comparison of the first identification to respective identifications of one or more verified access tokens; andmeans for transmitting, to the second network function, a first service response to the first service request based on the verification result.33.A second apparatus comprising:means for transmitting, at a second network function, a first service request to a first network function; andmeans for receiving, from the second network function, a first service response to the first service request, wherein the first service response is based on a verification result of a first access token of the second network function, and the verification result is based on comparison of the first identification to respective identifications of one or more verified access tokens.34.A third apparatus comprising:means for receiving, at a third network function, registration information as a service producer from a first network function, the registration information indicating a support in access token verification based on identification computation; andmeans for receiving a discovery request for a service producer from a second network function; andmeans for transmitting, to the second network function, information about one or more service producers supporting access token verification based on identification computation, the one or more service producers comprising the first network function.35.A computer readable medium comprising instructions stored thereon for causing an apparatus at least to perform the method of claim 29 or the method of claim 30 or the method of claim 31.
Citation Information
Patent Citations
Authentication of access terminal identities in roaming networks
CN103155614A
Device authentication
CN106302381A
Registering and requesting services in service-based architecture
CN114145031A
Authentication of network request
US20220217127A1