Sending and receiving validation information for an access token
The method allows producer network functions to validate access tokens by identifying and querying the issuer NRF, addressing key management challenges across multiple NRFs in PLMNs, ensuring secure and efficient service authorization.
Patent Information
- Application Number
- PCT/EP2025/059453
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-08
- Filing Date
- 2025-04-07
- Publication Date
- 2025-10-16
AI Technical Summary
When multiple Network Repository Functions (NRFs) are deployed in a Public Land Mobile Network (PLMN), the producer network function (NFp) registered NRF may not be the same as the token issuer NRF, leading to challenges in fulfilling service requests due to the lack of access token validation keys, especially in regional deployments where NFp(s) are registered only to local NRFs.
A method for a producer network function to receive validation information for an access token by sending a request to a first network node with an identifier of the issuer network node, and receiving validation information to verify the access token, and a method for the first network node to send validation information based on the identifier, allowing key identification and verification even when the issuer NRF is different from the registered NRF.
This approach simplifies key management and avoids complex operational efforts by enabling access token validation across multiple NRFs, ensuring secure and efficient service authorization without requiring local configuration of token signing certificates or keys.
Smart Images

Figure EP2025059453_16102025_PF_FP_ABST
Abstract
Description
[0001] SENDING AND RECEIVING VALIDATION INFORMATION FOR AN ACCESS TOKEN
[0002] Technical Field
[0003] Examples of this disclosure relate to sending and receiving validation information for an access token, for example where the access token is for a service request to a producer network function.
[0004] Background
[0005] 3GPP TS 33.501 V18.2.0, clause 13.4.1 describes service access authorization both within a Public Land Mobile Network (PLMN) and for roaming. As indicated in JavaScript Object Notation (JSON) Web Signature (JWS) RFC 7515, it is necessary for the recipient of a JWS to be able to determine the key that was employed for digital signature or Message Authentication Code (MAC) operation. The key employed can be identified using the Header Parameter methods as described in Section 4.1 of RFC 7515 or can be identified using methods that are outside the scope of this specification. Specifically, the Header Parameters including "jku", "jwk", "kid", "x5u", "x5c", "x5t", and "x5t#S256" can be used to identify the key used.
[0006] When multiple Network Repository Functions (NRFs) are deployed in one PLMN, one NRF may request a different NRF to fulfil the Network Function (NF) Discovery Request or Access token Request from a NF service consumer. For example, 3GPP TS 29.510 clause 5.4.2.2 describes access token request with intermediate forwarding NRF and intermediate redirecting NRF.
[0007] Summary
[0008] There currently exist certain challenge(s). For example, when multiple NRFs are deployed in one PLMN, the producer network function (NFp) registered NRF may not be the same NRF that issued the access token or hold the keys for Oauth token signing, so that it may not be able to fulfil a new service request according to step 8 of Figure 3, as described below.
[0009] One example could be regional deployment, where NFp(s) and NRFs are deployed in different regions within one PLMN and NFp(s) registers only to the NRF within its own region. While based operator policy, NRF in one region may issue NF type level Oauth token for NFp(s) from different regions, i.e. NFp registration within that NRF is not required to support NF type level Oauth token issuing. When the NFp(s) gets an token issued by NRF in another region, NFp and its registered NRF (within the same region of NFp) will not be able to obtain the key for Oauth token signing.
[0010] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. For example, examples of this disclosure may provide methods to authorize the issuer NRF instance id and fetch public keys when NFp registered NRF is not the token issuer NRF.
[0011] Certain embodiments may provide one or more of the following technical advantage(s). For example, examples of this disclosure may avoid complicated operational effort, compared to solutions of local configuration of token signing certificate or keys in massive / various NFp. This advantage also holds if token-based authorization is used when multiple NRFs are deployed in one PLMN, especially when the NFp registered NRF is not the token issuer NRF.
[0012] A first aspect of this disclosure provides a method performed by a producer network function for receiving validation information for an access token. The method comprises receiving, from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; sending, to a first network node, a request for validation information for the access token; and receiving, from the first network node, validation information for the access token.
[0013] Another aspect of this disclosure provides a method performed by a first network node for sending validation information for an access token. The method comprises receiving, from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; and sending, to the producer network node, first validation information for the access token. The first validation information is obtained based on the identifier of the issuer network node of the access token.
[0014] Another aspect of this disclosure provides a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out a method according to either of the above aspects.
[0015] Another aspect of this disclosure provides apparatus in a producer network function for receiving validation information for an access token. The apparatus comprises a processor and a memory. The memory contains instructions executable by the processor such that the apparatus is operable to receive, from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; send, to a first network node, a request for validation information for the access token; and receive, from the first network node, validation information for the access token.
[0016] Another aspect of this disclosure provides apparatus in a first network node for sending validation information for an access token. The apparatus comprises a processor and a memory. The memory contains instructions executable by the processor such that the apparatus is operable to receive, from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; and send, to the producer network node, first validation information for the access token. The first validation information is obtained based on the identifier of the issuer network node of the access token.
[0017] Another aspect of this disclosure provides apparatus in a producer network function for receiving validation information for an access token. The apparatus is configured to receive, from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; send, to a first network node, a request for validation information for the access token; and receive, from the first network node, validation information for the access token.
[0018] Another aspect of this disclosure provides apparatus in a first network node for sending validation information for an access token. The apparatus is configured to receive, from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; and send, to the producer network node, first validation information for the access token. The first validation information is obtained based on the identifier of the issuer network node of the access token.
[0019] Brief Description of the Drawings
[0020] For a better understanding of the embodiments of the present disclosure, and to show how it may be put into effect, reference will now be made, by way of example only, to the accompanying drawings, in which:
[0021] Figure 1 illustrates Access Token Request with intermediate forwarding NRF, corresponding to Figure 5.4.2.2.2-1 of 3GPP TS 33.501 V18.2.0;
[0022] Figure 2 illustrates Access Token Request with intermediate redirecting NRF, corresponding to Figure 5.4.2.2.3-1 of 3GPP TS 33.501 V18.2.0; Figure 3 illustrates a NRF providing a new service to allow NFp to query key identification information about token signing;
[0023] Figure 4 illustrates NFp verifying a token issuer;
[0024] Figure 5 is a flow chart illustrating a method performed by a network node in accordance with some embodiments;
[0025] Figure 6 is a flow chart illustrating a method performed by a network node in accordance with some embodiments;
[0026] Figure 7 illustrates an example of communications in a method according to embodiments of this disclosure;
[0027] Figure 8 shows an example of a communication system in accordance with some embodiments;
[0028] Figure 9 shows a UE in accordance with some embodiments;
[0029] Figure 10 shows a network node in accordance with some embodiments;
[0030] Figure 11 is a block diagram illustrating a virtualization environment in which functions implemented by some embodiments may be virtualized; and
[0031] Figure 12 shows a network node in accordance with some embodiments.
[0032] Detailed Description
[0033] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0034] 3GPP TS 33.501 V18.2.0 describes service access authorization both within the PLMN and for roaming as follows. Figure 1 of this specification corresponds to Figure 5.4.2.2.2-1 of 3GPP TS 33.501 V18.2.0, and Figure 2 of this specification corresponds to Figure 5.4.2.2.3- 1 of 3GPP TS 33.501 V18.2.0.
[0035] 13.4. 1 OAuth 2.0 based authorization of Network Function service access
[0036] 13.4.1.0 General
[0037] The authorization framework described in clause 13.4.1 allows NF Service Producers to authorize the requests from NF Service requestors. Subscription requests are considered as service requests.
[0038] The authorization framework uses the OAuth 2.0 framework as specified in RFC 6749
[0043] . Grants shall be of the type Client Credentials Grant, as described in clause 4.4 of RFC 6749
[0043] . Access tokens shall be J SON Web Tokens as described in RFC 7519
[0044] and are secured with digital signatures or Message Authentication Codes (MAC) based on JSON Web Signature (JWS) as described in RFC 7515
[0045] .
[0039] NOTE 1a: Securing the access token using Message Authentication Codes (MAC) based on JSON Web Signature (JWS) as described in RFC 7515
[0045] requires a pairwise pre-shared symmetric key between the NRF and the NF Service Producer. The provisioning of such pre-shared symmetric key is outside the scope of this document. x5u and x5c are supported in Client credentials assertion (CCA) TS 33.501 describes the usage of x5u and x5c in Client credentials assertion (CCA) as follows:
[0040] 13.3.8.2 Client credentials assertion
[0041] CCAs shall be JSON Web Tokens as described in RFC 7519
[0044] and are secured with digital signatures based on JSON Web Signature (JWS) as described in RFC 7515
[0045] .
[0042] The CCA shall include: the NF instance ID of the NF Service Consumer (subject);
[0043] A timestamp (iat) and an expiration time (exp), and
[0044] The NF type of the expected audience (audience), i.e. the type "NRF" and / or the NF type of the NF Service Producer.
[0045] The NF Service Consumer shall digitally sign the generated CCA based on its private key as described in RFC 7515
[0045] . The signed CCA shall include one of the following fields: the X.509 URL (x5u) to refer to a resource for the X.509 public key certificate or certificate chain used for signing the client authentication assertion, or the X.509 Certificate Chain (x5c) include the X.509 public key certificate or certificate chain used for signing the client authentication assertion.
[0046] 3GPP TS 29.510 clause 5.3.2.1 describes Network Repository Function (NRF) set as below:
[0047] A NRF may be part of an NRF set, whereby all NRF instances of the NRF Set share the same context data (e.g. registered NF profiles, NF status subscriptions). If so, the NF Service Consumer may be configured with the NRF Set ID or it may discover the same in the NRF Bootstrapping response.
[0048] If the NRF is part of an NRF set, the NF Service Consumer may retrieve the NRF Set Information from the NRF via the Nnrf_NFDiscovery service, which allows to discover the list of NRF instances that are part of the NRF set with, for each NRF instance, its NRF Instance ID and addressing information (i.e. part of NRF profile). NOTE: As part of the discovery of NRF instances belonging to an NRF Set, not all attributes in the NFProfile and NFService data structures (typically used for NF Consumer- NF Producer interaction) are needed for the NF Consumer to interact with the instances of the NRF Set, so the discovery response from NRF can be simplified and omit certain parameters.
[0049] The NF Service Consumer may register with any of the NRF Instance Id within the NRF Set. If the NRF instance where an NF Service Consumer registered is down, the NF Service Consumer need not re-register to any new NRF instance within the NRF Set.
[0050] 3GPP TS 29.510 clause 5.4.2.2 describes access token request with intermediate forwarding NRF and intermediate redirecting NRF as follows:
[0051] 5.4.2.2.2 Access Token request with intermediate forwarding NRF
[0052] When multiple NRFs are deployed in one PLMN, one NRF may request an OAuth2 access token to a different NRF so as to fulfil the Access Token Request from a NF service consumer. The acces token request between these two NRFs is forwarded by a third NRF in this case.
[0053] For this, step 1 in clause 5.4.2.2. 1 is executed (send a POST request to NRF-1 in the Serving PLMN); this request shall include the OAuth 2.0 Access Token Request in the request body.
[0054] Then, steps 1-4 in Figure 5.4.2.2.2-1 hereinafter are executed between NRF-1 in Serving PLMN, NRF-2 in Serving PLMN and NRF-3 in Serving PLMN.
[0055] Finally, step 2 in clause 5.4.2.2. 1 is executed, the Access Token Response containing the requested access token, the token type and additional attributes shall be sent to the NF Service Consumer.
[0056] 1. NRF-1 receives an Access token request but does not have the information to fulfil the request. Then NRF-1 sends the Access token request to a pre-configured NRF-2.
[0057] 2a. Upon reception of the Access token request and based on the information contained in the Acces token request and locally stored information, NRF-2 shall identify the next hop NRF (see clause 5.2.2.2.3), and forward the Access token request to that NRF (i.e. NRFS in this example) by replacing the originator of the service invocation with NRFS, and the recipient of the service invocation with NRFS. The locally stored information in NRFS may: a) be preconfigured; or b) registered by other NRFs (see clause 5.2.2.2.3).
[0058] 2b. if NRF-2 does not have enough information to forward the Access token request, then it responds with 404 Not Found, and the rest of the steps are omitted.
[0059] 3a. Upon success, NRFS shall return a "200 OK" status code, including in the response content the Access token response containing the requested access token, the token type and additional attributes.
[0060] 3b. Upon failure, NRFS shall return "400 Bad Request" status code, including in the response content a JSON object that provides details about the specific error(s) that occurred.
[0061] 4a. NRFS forwards the success response to NRF-1.
[0062] 4b. On failure or redirection:
[0063] - NRFS forwards the error response to NRFS.
[0064] - In the case of redirection, the NRF shall return 3xx status code, which shall contain a Location header with an URI pointing to the endpoint of another NRF service instance.
[0065] NOTE: It is not assumed that there can only be two NRF hierarchies, i.e. the NRFS can go on and forward the Access token request request to another NRF.
[0066] 5.4.2.2S Access Token request with intermediate redirecting NRF
[0067] When multiple NRFs are deployed in one PLMN, one NRF may request an 0Auth2 access token to a different NRF so as to fulfil the Access Token Request from a NF service consumer. The acces token request between these two NRFs is redirected by a third NRF in this case.
[0068] For this, step 1 in clause 5.4.2.2. 1 is executed (send a POST request to NRF-1 in the Serving PLMN); this request shall include the OAuth 2.0 Access Token Request in the request body
[0069] Then, steps 1-4 in Figure 5.4.2.2.3-1 hereinafter are executed between NRF-1 in Serving PLMN, NRF-2 in Serving PLMN and NRF-3 in Serving PLMN. Finally, step 2 in clause 5.4.2.2. 1 is executed, the Access token response containing the requested access token, the token type and additional attributes shall be sent to the NF Service Consumer.
[0070] NRF-1 receives an Access token request but does not have the information to fulfil the request. Then NRF-1 sends the Access token request to a pre-configured NRF-2.
[0071] 2a. Upon reception of the Access token request and based on the information contained in the Access token request and locally stored information, NRF-2 shall identify the next hop NRF (see clause 5.2.2.2.3), and redirect the Access token request by returning HTTP "307 Temporary Redirect" response. The locally stored information in NRF-2 may: a) be preconfigured; or b) registered by other NRFs (see clause 5.2.2.2.3).
[0072] The "307 Temporary Redirect" response shall contain a Location header field, the host part of the URI in the Location header field represents NRFS.
[0073] 2b. if NRFS does not have enough information to forward the Access token request, then it responds with "404 Not Found", and the rest of the steps are omitted.
[0074] 3. Upon reception of "307 Temporary Redirect" response, NRF-1 sends the Acces token request to NRFS by using the URI contained in the Location header field of the "307 Temporary Redirect" response.
[0075] 4a. Upon success, NRFSshall return a "200 OK" status code including in the response content the Access token response containing the requested access token, the token type and additional attributes.
[0076] 4b. On failure or redirection:
[0077] - Upon failure, the NRFS shall return "400 Bad Request" status code, including in the response content a JSON object that provides details about the specific error(s) that occurred.
[0078] - In the case of redirection, the NRF shall return 3xx status code, which shall contain a Location header with an URI pointing to the endpoint of another NRF service instance. Figure 3 illustrates a NRF providing a new service to allow a NFp to query key identification information about token signing. The NFp may be for example be referred to as a provider network function, or a network function (NF) service provider. The NFc may be for example be referred to as a consumer network function, or a network function (NF) service consumer. Figure 3 includes the following steps:
[0079] 0. The NF Service Producer NFp (i.e. OAuth 2.0 resource server) registers with NRF (i.e. OAuth 2.0 authorization server) using NF Service registration procedure, as defined in clause 4.17.1 of TS 23.502.
[0080] 1. NFc sends an access token request to cNRF.
[0081] 2. cNRF forwards the access token request to pNRF.
[0082] 3. pNRF generates an access token and protects the access token with digital signature or MAC. The key used for protection is corresponding the information related to the key identification for Oauth token signing that NRF sent in step 0.
[0083] 4-5. pNRF sends the access token response with the access token to the cNRF which further sends to the NFc.
[0084] 6. NFc sends an service request to NFp.
[0085] 7. The NFp selects keys to be used to validate the access token, if keys for verifying access token is already available.
[0086] 8. If Keys for verifying access token is not available, the NFp sends a request to its registered NRF, to obtain one or more sets of information related to the key identification for Oauth token signing, e.g. the X.509 public key certificate or certificate chain.
[0087] In one variant, step 8 can be token validation request where NFp sends the received access token to NRF thus NRF verify the access token validity (e.g., signature of token) for the NFp.
[0088] 9. The NFp verifies the access token and grants the service request.
[0089] Optional embodiments for both options:
[0090] If NRF deploys multiple keys for token signing, NRF may also link the information related to the key identification for Oauth token signing with an identification e.g. key Identifier. NRF may include the Key identifier along with the issued access token e.g. in JWS Header Parameters “kid”. This information is then conveyed in the access token through step 4-6.
[0091] NRF may include this key identifier in step 8 in the request or response, thus NFp can use this information to select keys among plural of “the information related to the key identification for Oauth token” against the received access token.
[0092] Figure 4 illustrates NFp verifying a token issuer, and includes the following steps:
[0093] 0. The NF Service Producer registers to NRF which is OAuth 2.0 authorization server (NRF). NF Service Producer stores the NRF instance ID where it registers to.
[0094] NF Service Producer may be configured with a list of NRF instances and / or NF sets of NRF, where these NRFs are considered as valid and interchangeable OAuth 2.0 authorization servers for this NFp.
[0095] NF Service Producer may obtain and store the NF Set ID of the NRF to which the NFp has registered or of the locally configured NRFs.
[0096] The method of obtaining NF Set ID can be as described in Notel .
[0097] 1. The NF Service Consumer requests access token to access service of the NF Service Producer from NRF.
[0098] The NRF (aka the issuer NRF, may or may not be the same authorization server NRF as of stepO) authorizes the NFc and issues the token.
[0099] The issuer NRF includes its NF instance ID in the token as the issuer claim. The issuer NRF may also include its NF set ID in the token.
[0100] 2. The NF Service Consumer requests service from the NF Service Producer. The NF Service Consumer shall include the access token.
[0101] 3. The NF Service Producer shall verify the token as follows:
[0102] - If the NRF in the issuer claim of the access token is the NRF to which the NFp has registered in stepl , the NF Service Producer ensures the issuer is valid and continues with the integrity check of the token based on the security material associated with the issuer NRF. - If the NRF in the issuer claim of the access token is not the NRF to which the NFp has registered, then the NF Service Producer continues to check if the issuer NRF is part of locally configured (authorization server) NRF list; o If yes, the NF Service Producer ensures the issuer is valid and continues with the integrity check of the token based on the security material associated with the issuer NRF; o If no, the NF Service Producer fetches NF set info of the issuer and compares it with the NF set info of the NRF to which the NFp has registered or the locally configured NRFs
[0103] ■ The NFp may obtain the NF set info of the issuer from the token or sends a request to an NRF, and in response to the request to the NRF receives the NF Set ID of the NRF in the issuer claim
[0104] ■ If NF Set ID of the issuer NRF is not available or not the same as the NF Set ID of the NRF to which the NFp has registered or not the same as the NF Set ID of one of the locally configured NRFs, the NF Service Producer rejects the service request.
[0105] • If NF Set ID matches, the NF Service Producer ensures the issuer is valid and continues with the integrity check of the token based on the security material associated with the issuer NRF;
[0106] Notel: The NFp may use Nnrf_NFDiscovery service to get NF set info of the issuer NRF from another NRF (e.g., from one of the locally configured NRFs), or use Nnrf_Bootstrapping to get NF set info of the issuer NRF from the issuer NRF itself.
[0107] Note2: How the NFp obtains the security material associated with issuer NRF is not covered in this document. It may be configured manually or provided during NFp registration procedure or obtained by the NFp from the issuer NRF.
[0108] Note3: The integrity check of the token can follow the procedure as specified in clause 13.4.1.1.2 of TS 33.501.
[0109] 4. If the verification of token is successful, the NF Service Producer shall execute the requested service and responds back to the NF Service Consumer. Otherwise, it shall reply based on Oauth 2.0 error response defined in RFC 6749
[0043] ,
[0110] Figure 5 depicts a method 500 in accordance with particular embodiments, such as for example a method performed by a producer network function (e.g. NFp) for receiving validation information for an access token (e.g. an access token for or received in a service request). In some examples, access tokens are secured with digital signatures or Message Authentication Codes (MACs), and the validation information may be If possible, refer to specific, relevant sections here, rather than the whole spec, used by a network function (e.g. NFp) to verify the received access token validity (e.g. signature of token).
[0111] The method 500 may be performed by a network node (e.g. the network node QQ110 or network node QQ300 as described later with reference to Figures 8 and 10 respectively). The method 500 begins at step 502 with receiving, from a consumer network function (e.g. NFc), a service request, wherein the service request includes an access token and an identifier of an issuer network node (e.g. issuer NRF) of the access token. In some examples, the access token was previously issued by an issuer network node, such as its registered NRF (e.g. pNRF) or another NRF different than its registered NRF (e.g. issuer NRF). In some examples, the identifier of the issuer network node may be part of the access token.
[0112] Step 504 of the method 500 comprises sending, to a first network node, a request for validation information for the access token. In some examples, the first network node comprises the issuer network node, whereas in other examples, the first network node is different to the issuer network node, and may be for example a NRF. Including the identifier of the issuer network node in the request for validation information may for example allow the first network node to determine whether the first network node is the issuer (e.g. issuer NRF) of the access token or whether another node is the issuer of the access token.
[0113] Step 506 of the method 500 comprises receiving, from the first network node, validation information for the access token.
[0114] In some examples, the request for validation information includes the identifier of the issuer network node (e.g. ID, ID value, address or information allowing the issuer network node).
[0115] In some examples, the request for validation information includes the access token, e.g. the producer network node receives the access token from the consumer network node. In such examples, the validation information received from the first network node may for example indicate whether the access token is valid and / or whether the access token was issued by the issuer network function.
[0116] In some examples, the request for validation information comprises a request for a key associated with the access token. In some examples, the key associated with the access token may be a key used to create or secure the access token, or alternatively may be a public key of the issuer network function. The public key of the issuer network function is associated with a private key used to create or secure the access token in some examples. The validation information received from the first network node may in some examples comprise the key associated with the access token. The method 500 may in some examples comprise validating the access token using the key associated with the access token. The access token may in some examples include a digital signature, and validating the access token using the key associated with the access token may comprise for example validating the digital signature using the key associated with the access token. The access token may for example include a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token may comprise for example validating the MAC using the key associated with the access token.
[0117] In some examples, sending, to the first network node, the request for validation information for the access token in step 504 of the method 500 is performed in response to the validation information being unavailable at the producer network function.
[0118] The first network node may comprise for example a first Network Repository Function (NRF). The producer network function may in some examples registered with the first NRF. In some examples, the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token. The access token may in some examples comprise an OAuth access token.
[0119] Figure 6 depicts a method 600 in accordance with particular embodiments, such as for example a method performed by a first network node (e.g. a Network Repository Function, NRF) for sending validation information for an access token (e.g. an access token for or received in a service request). The method 600 may be performed by a network node (e.g. the network node QQ110 or network node QQ300 as described later with reference to Figures 8 and 10 respectively). The method begins at step 602 with receiving, from a producer network function (e.g. NFp), a request for first validation information for an access token and an identifier of an issuer network node of the access token. Step 604 of the method 600 comprises sending, to the producer network node, first validation information for the access token.
[0120] The first validation information is obtained based on the identifier of the issuer network node of the access token. That is, for example if the first network node is the issuer network node (e.g. issuer NRF), then the first network node may be able to determine the first validation information without obtaining this information from any other network node. Alternatively, for example, if the issuer network node is not the first network node, then the method 600 may comprise the first network node sending, to the issuer network node, the request for second validation information for the access token and receiving, from the issuer network node, the second validation information for the access token. Thus, in some examples, the method 600 may comprise the first network node determining whether the issuer network node is the first network node, for example based on the identifier of the issuer network node included in the request for first validation information.
[0121] The request for second validation information sent to the issuer network node may for example include the access token. In some examples, the second validation information received from the issuer network node may indicate whether the access token is valid and / or whether the access token was issued by the issuer network function. In some examples, the request for second validation information sent to the issuer network node comprises a request for a key associated with the access token. The key associated with the access token may be for example a key used to create or secure the access token, or a public key of the issuer network function. The public key of the issuer network function may for example be associated with a private key used to create or secure the access token. The second validation information received from the issuer network node may thus in some examples comprise the key associated with the access token. The method 600 may in some examples comprise validating the access token using the key associated with the access token. The access token may for example include a digital signature, and validating the access token using the key associated with the access token may comprise for example validating the digital signature using the key associated with the access token. The access token may in some examples includes a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token may comprise for example validating the MAC using the key associated with the access token.
[0122] In some examples, the request for second validation information for the access token is sent to the issuer network node via one or more intermediate network nodes. The second validation information for the access token may in some examples be received from the issuer network node via the one or more intermediate network nodes.
[0123] In some examples, the request for first validation information includes the access token. In such examples, the first validation information sent to the producer network node may for example indicate whether the access token is valid and / or whether the access token was issued by the issuer network function. In some examples, the request for first validation information comprises a request for a key associated with the access token. The key associated with the access token may for example comprise a key used to create or secure the access token, or a public key of the issuer network function. The public key of the issuer network function may for example be associated with a private key used to create or secure the access token. The first validation information sent to the producer network node may in some examples comprise the key associated with the access token.
[0124] The first network node may comprise for example a first Network Repository Function (NRF). The producer network function may be registered with the first NRF in some examples. In some examples, the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token. The access token comprises an OAuth access token in some examples. In such examples, the issuer network function may an OAuth 2.0 authorization server, which generates the access token. The producer network function may be for example an OAuth 2.0 resource server and may be registered with the issuer network function (e.g. pNRF).
[0125] Example embodiments will now be described for illustrative purposes. In the below examples, the producer network function is referred to as NFp. The issuer network function or issuer NRF may be referred to as the second NRF. The first network node may be referred to as first NRF or pNRF. This may be for example the NRF with which the NFp is registered. Another NRF, referred to as cNRF, may be for example the NRF with which a consumer NF or cNF is registered. In some examples, the first NRF and the second NRF may be the same NRF.
[0126] In some examples, NFp sends request to first NRF with identifier of second NRF, asking first NRF for public key of second NRF. NFp receives public key of second NRF from first NRF, NFp uses public key of second NRF to verify the signature of an access token.
[0127] In some examples, the first NRF receives request from NFp or third NRF for public key of second NRF, requests second or forth NRF to send public key of second NRF, receives public key of second NRF, sends public key of second NRF to NFp or third NRF.
[0128] In some examples, NRF (e.g. pNRF) provides a new service to allow NFp to query key identification information about token signing.
[0129] Figure 7 illustrates an example of communications in a method according to embodiments of this disclosure. The communications are exchanged between network nodes according to the example method. Specifically, the nodes involved comprise a NFc 702, cNRF 704, issuer NRF 706, pNRF 708, and NFp 710. The communications are exchanged according to the following example steps:
[0130] 0. The NF Service Producer NFp 710 (e.g. OAuth 2.0 resource server) registers with pNRF 708 (e.g. OAuth 2.0 authorization server) using a NF Service registration procedure, as defined in clause 4.17.1 of 3GPP TS 23.502 V18.4.0.
[0131] 1. NFc 702 sends an access token request to cNRF 704.
[0132] 2. cNRF 704 forwards the access token request to pNRF 708.
[0133] 3. pNRF 708 generates an access token and protects the access token with a digital signature or MAC. The key used for protection may for example correspond to the information related to the key identification for Oauth token signing that the pNRF 708 sent in step 0.
[0134] 4-5. pNRF 708 sends the access token response with the access token to the cNRF 704, e.g. the NRF with which the NFc 702 is registered, which further sends the access token response to the NFc 702.
[0135] 6. NFc 702 sends a service request to NFp 710. In some examples, this may correspond to step 502 of the method 500 described above.
[0136] 7. The NFp 710 selects keys to be used to validate the access token, if keys for verifying access token are available.
[0137] 8. If keys for verifying the access token are not available, the NFp 710 sends a request to its registered NRF (pNRF 708) for validation information, for example to obtain one or more sets of information related to the key identification for Oauth token signing, e.g. the X.509 public key certificate or certificate chain. The request contains token issuer identifier information, e.g. a NRF ID. Thus, in some examples step 8 as shown in Figure 7 corresponds to step 504 of the method 500 described above, and step 602 of the method 600 described above.
[0138] In a variant, step 8 can be a token validation request where NFp 710 sends the received access token to pNRF 708, thus pNRF 708 can verify the access token validity (e.g. signature of token) for the NFp 710.
[0139] 9. pNRF 708 receives the request, and may determine from the token issuer identifier information whether it is the issuer network node of the access token. In the example shown in Figure 7, the pNRF 708 is different to the issuer NRF 706. Thus, the pNRF does not have the information to fulfil the request from the NFp 710. In some examples, based on the token issuer identifier information (e.g. OAuth 2.0 authorization server) contained in the request, and locally stored authorization information (e.g. a list of authorized NRF instance information (e.g. OAuth 2.0 authorization server) from other regions), the pNRF 708 may authorize the access token issuer identifier information. The locally stored authorization information may also contain the contact information of the authorized NRFs (e.g. OAuth 2.0 authorization servers).
[0140] The locally stored authorization information in pNRF may in some examples: a) be preconfigured by the network operator via O&M; or b) be registered by other NRFs (see TS 29.510 clause 5.2.2.2.3).
[0141] If the issuer NRF 706 is the same as the pNRF 708, then the method proceeds to step 12.
[0142] 10-11. If the pNRF 708 determines that it is not the issuer NRF 706, and when the access token issuer identifier information is authorized in some examples, pNRF 708 sends a request for second validation information to the access token issuer NRF 706, possibly in some examples via one or more intermediate NRF(s), e.g. to fetch the public key information of the issuer NRF. Any intermediate NRF(s) can be for example an intermediate redirecting NRF, or an intermediate forwarding NRF, or a list of NF type level access token issuer NRFs.
[0143] The access token issuer NRF 706 sends back a response to the pNRF 708, containing in the message second validation information for the access token, e.g. one or more sets of information related to the key identification for Oauth token signing, e.g. the X.509 public key certificate or certificate chain.
[0144] In a variant, if step 8 is a token validation request where the NFp 710 sends the received access token to the pNRF 708, the pNRF 708 may in some examples perform a simliar authorization as for step 9 above, and forwards the request to the access token issuer NRF 706 to verify the access token validity (e.g..signature of token).
[0145] 12. pNRF 708 sends back first validation information, e.g. access token public key information, to the NFp 710. In some examples this corresponds to step 506 of the method 500 described above, and step 604 of the method 600 described above.
[0146] 13. The NFp 710 verifies the access token and grants the service request.
[0147] Figure 8 shows an example of a communication system QQ100 in accordance with some embodiments.
[0148] In the example, the communication system QQ100 includes a telecommunication network QQ102 that includes an access network QQ104, such as a radio access network (RAN), and a core network QQ106, which includes one or more core network nodes QQ108. The access network QQ104 includes one or more access network nodes, such as network nodes QQ110a and QQ110b (one or more of which may be generally referred to as network nodes QQ110), or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network QQ102 includes one or more Open- RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network QQ102 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network QQ102, including one or more network nodes QQ110 and / or core network nodes QQ108.
[0149] Examples of an ORAN network node include an open radio unit (0-Rll), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O-CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1, F1, W1, E1 , E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes QQ110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs QQ112a, QQ112b, QQ112c, and QQ112d (one or more of which may be generally referred to as UEs QQ112) to the core network QQ106 over one or more wireless connections.
[0150] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system QQ100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system QQ100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0151] The UEs QQ112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes QQ110 and other communication devices. Similarly, the network nodes QQ110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs QQ112 and / or with other network nodes or equipment in the telecommunication network QQ102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network QQ102.
[0152] In the depicted example, the core network QQ106 connects the network nodes QQ110 to one or more host computing systems, such as host QQ116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network QQ106 includes one more core network nodes (e.g., core network node QQ108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node QQ108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier Deconcealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0153] The host QQ116 may be under the ownership or control of a service provider other than an operator or provider of the access network QQ104 and / or the telecommunication network QQ102. The host QQ116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server. As a whole, the communication system QQ100 of Figure 8 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low- power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0154] In some examples, the telecommunication network QQ102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network QQ102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network QQ102. For example, the telecommunications network QQ102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive loT services to yet further UEs.
[0155] In some examples, the UEs QQ112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network QQ104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network QQ104. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved- UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0156] In the example, the hub QQ114 communicates with the access network QQ104 to facilitate indirect communication between one or more UEs (e.g., UE QQ112c and / or QQ112d) and network nodes (e.g., network node QQ110b). In some examples, the hub QQ114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub QQ114 may be a broadband router enabling access to the core network QQ106 for the UEs. As another example, the hub QQ114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes QQ110, or by executable code, script, process, or other instructions in the hub QQ114. As another example, the hub QQ114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub QQ114 may be a content source. For example, for a UE that is a VR device, display, loudspeaker, or other media delivery device, the hub QQ114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub QQ114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub QQ114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0157] The hub QQ114 may have a constant / persistent or intermittent connection to the network node QQ110b. The hub QQ114 may also allow for a different communication scheme and / or schedule between the hub QQ114 and UEs (e.g., UE QQ112c and / or QQ112d), and between the hub QQ114 and the core network QQ106. In other examples, the hub QQ114 is connected to the core network QQ106 and / or one or more UEs via a wired connection. Moreover, the hub QQ114 may be configured to connect to an M2M service provider over the access network QQ104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes QQ110 while still connected via the hub QQ114 via a wired or wireless connection. In some embodiments, the hub QQ114 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node QQ110b. In other embodiments, the hub QQ114 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node QQ110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0158] Figure 9 shows a UE QQ200 in accordance with some embodiments. The UE QQ200 presents additional details of some embodiments of the UE QQ112 of Figure 1. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage / playback device, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), an Augmented Reality (AR) or Virtual Reality (VR) device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB- loT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0159] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0160] The UE QQ200 includes processing circuitry QQ202 that is operatively coupled via a bus QQ204 to an input / output interface QQ206, a power source QQ208, a memory QQ210, a communication interface QQ212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 9. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0161] The processing circuitry QQ202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory QQ210. The processing circuitry QQ202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry QQ202 may include multiple central processing units (CPUs). The processing circuitry QQ202 may be configured to cause the UE QQ202 to perform the methods as described with reference to Figure 5.
[0162] In the example, the input / output interface QQ206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE QQ200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0163] In some embodiments, the power source QQ208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source QQ208 may further include power circuitry for delivering power from the power source QQ208 itself, and / or an external power source, to the various parts of the UE QQ200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source QQ208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source QQ208 to make the power suitable for the respective components of the UE QQ200 to which power is supplied.
[0164] The memory QQ210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory QQ210 includes one or more application programs QQ214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data QQ216. The memory QQ210 may store, for use by the UE QQ200, any of a variety of various operating systems or combinations of operating systems.
[0165] The memory QQ210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (IIICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The IIICC may for example be an embedded IIICC (elllCC), integrated IIICC (illlCC) or a removable IIICC commonly known as ‘SIM card.’ The memory QQ210 may allow the UE QQ200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory QQ210, which may be or comprise a device-readable storage medium.
[0166] The processing circuitry QQ202 may be configured to communicate with an access network or other network using the communication interface QQ212. The communication interface QQ212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna QQ222. The communication interface QQ212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter QQ218 and / or a receiver QQ220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter QQ218 and receiver QQ220 may be coupled to one or more antennas (e.g., antenna QQ222) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0167] In the illustrated embodiment, communication functions of the communication interface QQ212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0168] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface QQ212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0169] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.
[0170] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE QQ200 shown in Figure 9.
[0171] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-loT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0172] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.
[0173] Figure 10 shows a network node QQ300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O-RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU).
[0174] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O- RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0175] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cel l / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs). The network node QQ300 includes a processing circuitry QQ302, a memory QQ304, a communication interface QQ306, and a power source QQ308. The network node QQ300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node QQ300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node QQ300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory QQ304 for different RATs) and some components may be reused (e.g., a same antenna QQ310 may be shared by different RATs). The network node QQ300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node QQ300.
[0176] The processing circuitry QQ302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ300 components, such as the memory QQ304, to provide network node QQ300 functionality. For example, the processing circuitry QQ302 may be configured to cause the network node to perform the methods as described with reference to Figure 6.
[0177] In some embodiments, the processing circuitry QQ302 includes a system on a chip (SOC). In some embodiments, the processing circuitry QQ302 includes one or more of radio frequency (RF) transceiver circuitry QQ312 and baseband processing circuitry QQ314. In some embodiments, the radio frequency (RF) transceiver circuitry QQ312 and the baseband processing circuitry QQ314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry QQ312 and baseband processing circuitry QQ314 may be on the same chip or set of chips, boards, or units. The memory QQ304 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ302. The memory QQ304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ302 and utilized by the network node QQ300. The memory QQ304 may be used to store any calculations made by the processing circuitry QQ302 and / or any data received via the communication interface QQ306. In some embodiments, the processing circuitry QQ302 and memory QQ304 is integrated.
[0178] The communication interface QQ306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface QQ306 comprises port(s) / terminal(s) QQ316 to send and receive data, for example to and from a network over a wired connection. The communication interface QQ306 also includes radio front-end circuitry QQ318 that may be coupled to, or in certain embodiments a part of, the antenna QQ310. Radio front-end circuitry QQ318 comprises filters QQ320 and amplifiers QQ322. The radio front-end circuitry QQ318 may be connected to an antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry may be configured to condition signals communicated between antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry QQ318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry QQ318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters QQ320 and / or amplifiers QQ322. The radio signal may then be transmitted via the antenna QQ310.
[0179] Similarly, when receiving data, the antenna QQ310 may collect radio signals which are then converted into digital data by the radio front-end circuitry QQ318. The digital data may be passed to the processing circuitry QQ302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0180] In certain alternative embodiments, the network node QQ300 does not include separate radio front-end circuitry QQ318, instead, the processing circuitry QQ302 includes radio frontend circuitry and is connected to the antenna QQ310. Similarly, in some embodiments, all or some of the RF transceiver circuitry QQ312 is part of the communication interface QQ306. In still other embodiments, the communication interface QQ306 includes one or more ports or terminals QQ316, the radio front-end circuitry QQ318, and the RF transceiver circuitry QQ312, as part of a radio unit (not shown), and the communication interface QQ306 communicates with the baseband processing circuitry QQ314, which is part of a digital unit (not shown).
[0181] The antenna QQ310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna QQ310 may be coupled to the radio frontend circuitry QQ318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna QQ310 is separate from the network node QQ300 and connectable to the network node QQ300 through an interface or port.
[0182] The antenna QQ310, communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna QQ310, the communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0183] The power source QQ308 provides power to the various components of network node QQ300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source QQ308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ300 with power for performing the functionality described herein. For example, the network node QQ300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ308. As a further example, the power source QQ308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0184] Embodiments of the network node QQ300 may include additional components beyond those shown in Figure 10 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ300 may include user interface equipment to allow input of information into the network node QQ300 and to allow output of information from the network node QQ300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ300. In some embodiments providing a core network node, such as core network node 108 of FIGURE 8, some components, such as the radio front-end circuitry QQ318 and the RF transceiver circuitry QQ312 may be omitted.
[0185] Figure 12 shows a network node QQ500 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. The network node QQ500 may be operable as a core network node, a core network function or, more generally, a core network entity, such as the core network node QQ108 described above with respect to Figure 8). Examples of network nodes in this context include core network entities such as one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), Policy Control Function (PCF) and / or a User Plane Function (UPF).
[0186] The network node QQ500 includes processing circuitry QQ502, a memory QQ504, a communication interface QQ506, and a power source QQ508, and / or any other component, or any combination thereof. The network node QQ500 may be composed of multiple physically separate components, which may each have their own respective components. In certain scenarios in which the network node QQ500 comprises multiple separate components, one or more of the separate components may be shared among several network nodes.
[0187] The processing circuitry QQ502 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ500 components, such as the memory QQ504, network node QQ500 functionality. For example, the processing circuitry QQ502 may be configured to cause the network node to perform the methods as described with reference to Figure 5 or 6.
[0188] The memory QQ504 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ502. The memory QQ504 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ502 and utilized by the network node QQ500. The memory QQ504 may be used to store any calculations made by the processing circuitry QQ502 and / or any data received via the communication interface QQ506. In some embodiments, the processing circuitry QQ502 and memory QQ504 is integrated.
[0189] The communication interface QQ506 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE.
[0190] The power source QQ508 provides power to the various components of network node QQ500 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source QQ508 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ500 with power for performing the functionality described herein. For example, the network node QQ500 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ508. As a further example, the power source QQ508 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0191] Embodiments of the network node QQ500 may include additional components beyond those shown in Figure 12 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ500 may include user interface equipment to allow input of information into the network node QQ500 and to allow output of information from the network node QQ500. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ500.
[0192] Figure 11 is a block diagram illustrating a virtualization environment QQ400 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments QQ400 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment QQ400 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface. Virtualization may facilitate distributed implementations of a network node, UE, core network node, or host.
[0193] Applications QQ402 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0194] Hardware QQ404 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers QQ406 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs QQ408a and QQ408b (one or more of which may be generally referred to as VMs QQ408), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer QQ406 may present a virtual operating platform that appears like networking hardware to the VMs QQ408. The VMs QQ408 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer QQ406. Different embodiments of the instance of a virtual appliance QQ402 may be implemented on one or more of VMs QQ408, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.
[0195] In the context of NFV, a VM QQ408 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs QQ408, and that part of hardware QQ404 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs QQ408 on top of the hardware QQ404 and corresponds to the application QQ402.
[0196] Hardware QQ404 may be implemented in a standalone network node with generic or specific components. Hardware QQ404 may implement some functions via virtualization. Alternatively, hardware QQ404 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration QQ410, which, among others, oversees lifecycle management of applications QQ402. In some embodiments, hardware QQ404 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system QQ412 which may alternatively be used for communication between hardware nodes and radio units.
[0197] Although the computing devices described herein (e.g., UEs, network nodes) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non- computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0198] EMBODIMENTS
[0199] Group A Embodiments
[0200] 1. A method performed by a producer network function for receiving validation information for an access token, the method comprising: receiving, from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; sending, to a first network node other than the issuer network node, a request for validation information for the access token; and receiving, from the first network node, validation information for the access token.
[0201] 2. The method of embodiment 1 , wherein the request for validation information includes the identifier of the issuer network node.
[0202] 3. The method of embodiment 1 or 2, wherein the request for validation information includes the access token.
[0203] 4. The method of embodiment 3, wherein the validation information received from the first network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
[0204] 5. The method of embodiment 1 or 2, wherein the request for validation information comprises a request for a key associated with the access token. 6. The method of embodiment 5, wherein the key associated with the access token comprises a key used to create or secure the access token.
[0205] 7. The method of embodiment 5, wherein the key associated with the access token comprises a public key of the issuer network function.
[0206] 8. The method of embodiment 7, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
[0207] 9. The method of any of embodiments 5 to 8, wherein the validation information received from the first network node comprises the key associated with the access token.
[0208] 10. The method of embodiment 9, comprising validating the access token using the key associated with the access token.
[0209] 11. The method of embodiment 10, wherein the access token includes a digital signature, and validating the access token using the key associated with the access token comprises validating the digital signature using the key associated with the access token.
[0210] 12. The method of embodiment 10 or 11 , wherein the access token includes a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token comprises validating the MAC using the key associated with the access token.
[0211] 13. The method of any of embodiments 1 to 12, wherein sending, to the first network node, the request for validation information for the access token is performed in response to the validation information being unavailable at the producer network function.
[0212] 14. The method of any of embodiments 1 to 13, wherein the first network node comprises a first Network Repository Function (NRF).
[0213] 15. The method of embodiment 14, wherein the producer network function is registered with the first NRF.
[0214] 16. The method of any of embodiments 1 to 15, wherein the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token. 17. The method of any of embodiments 1 to 16, wherein the access token comprises an OAuth access token.
[0215] 18. A method performed by a first network node for sending validation information for an access token, the method comprising: receiving, from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; sending, to the issuer network node, a request for second validation information for the access token; receiving, from the issuer network node, second validation information for the access token; and sending, to the producer network node, first validation information for the access token.
[0216] 19. The method of embodiment 18, wherein the request for first validation information from the producer network function includes the access token.
[0217] 20. The method of embodiment 19, wherein the first validation information sent to the producer network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
[0218] 21. The method of embodiment 19 or 20, wherein the request for second validation information sent to the issuer network node includes the access token.
[0219] 22. The method of embodiment 21 , wherein the second validation information received from the issuer network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
[0220] 23. The method of embodiment 19 or 20, wherein the request for second validation information sent to the issuer network node comprises a request for a key associated with the access token.
[0221] 24. The method of embodiment 23, wherein the key associated with the access token comprises a key used to create or secure the access token.
[0222] 25. The method of embodiment 23, wherein the key associated with the access token comprises a public key of the issuer network function. 26. The method of embodiment 25, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
[0223] 27. The method of any of embodiments 23 to 26, wherein the second validation information received from the issuer network node comprises the key associated with the access token.
[0224] 28. The method of embodiment 27, comprising validating the access token using the key associated with the access token.
[0225] 29. The method of embodiment 28, wherein the access token includes a digital signature, and validating the access token using the key associated with the access token comprises validating the digital signature using the key associated with the access token.
[0226] 30. The method of embodiment 28 or 29, wherein the access token includes a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token comprises validating the MAC using the key associated with the access token.
[0227] 31. The method of embodiment 18, wherein the request for first validation information from the producer network node comprises a request for a key associated with the access token.
[0228] 32. The method of embodiment 31 , wherein the key associated with the access token comprises a key used to create or secure the access token.
[0229] 33. The method of embodiment 31 , wherein the key associated with the access token comprises a public key of the issuer network function.
[0230] 34. The method of embodiment 33, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
[0231] 35. The method of any of embodiments 31 to 34, wherein the first validation information sent to the producer network node comprises the key associated with the access token.
[0232] 36. The method of any of embodiments 18 to 35, wherein the first network node comprises a first Network Repository Function (NRF).
[0233] 37. The method of embodiment 36, wherein the producer network function is registered with the first NRF. 38. The method of any of embodiments 18 to 37, wherein the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token.
[0234] 39. The method of any of embodiments 18 to 38, wherein the access token comprises an OAuth access token.
[0235] 40. The method of any of embodiments 18 to 39, wherein the request for second validation information for the access token is sent to the issuer network node via one or more intermediate network nodes.
[0236] 41. The method of embodiment 40, wherein the second validation information for the access token is received from the issuer network node via the one or more intermediate network nodes.
[0237] Group B Embodiments
[0238] 42. A network node comprising: processing circuitry configured to cause the network node to perform any of the steps of any of the Group A embodiments; power supply circuitry configured to supply power to the processing circuitry.
[0239] 43. A core network node comprising: processing circuitry configured to cause the core network node to perform any of the steps of any of the Group A embodiments; power supply circuitry configured to supply power to the processing circuitry.
[0240] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer- readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
Claims
Claims1. A method (500) performed by a producer network function for receiving validation information for an access token, the method comprising: receiving (502), from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; sending (504), to a first network node, a request for validation information for the access token; and receiving (506), from the first network node, validation information for the access token.
2. The method of claim 1 , wherein the request for validation information includes the identifier of the issuer network node.
3. The method of claim 1 or 2, wherein the request for validation information includes the access token.
4. The method of claim 3, wherein the validation information received from the first network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
5. The method of claim 1 or 2, wherein the request for validation information comprises a request for a key associated with the access token.
6. The method of claim 5, wherein the key associated with the access token comprises a key used to create or secure the access token.
7. The method of claim 5, wherein the key associated with the access token comprises a public key of the issuer network function.
8. The method of claim 7, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
9. The method of any of claims 5 to 8, wherein the validation information received from the first network node comprises the key associated with the access token.
10. The method of claim 9, comprising validating the access token using the key associated with the access token.
11. The method of claim 10, wherein the access token includes a digital signature, and validating the access token using the key associated with the access token comprises validating the digital signature using the key associated with the access token.
12. The method of claim 10 or 11, wherein the access token includes a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token comprises validating the MAC using the key associated with the access token.
13. The method of any of claims 1 to 12, wherein sending (504), to the first network node, the request for validation information for the access token is performed in response to the validation information being unavailable at the producer network function.
14. The method of any of claims 1 to 13, wherein: the first network node comprises the issuer network node; or the first network node is different to the issuer network node.
15. The method of any of claims 1 to 14, wherein the first network node comprises a first Network Repository Function (NRF).
16. The method of claim 15, wherein the producer network function is registered with the first NRF.
17. The method of any of claims 1 to 16, wherein the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token.
18. The method of any of claims 1 to 17, wherein the access token comprises an OAuth access token.
19. A method (600) performed by a first network node for sending validation information for an access token, the method comprising: receiving (602), from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; andsending (604), to the producer network node, first validation information for the access token obtained based on the identifier of the issuer network node of the access token.
20. The method of claim 19, comprising determining whether the issuer network node is the first network node.
21. The method of claim 19 or 20, further comprising: sending, to the issuer network node, a request for second validation information for the access token; and receiving, from the issuer network node, second validation information for the access token.
22. The method of claim 21 , wherein sending, to the issuer network node, the request for second validation information for the access token and receiving, from the issuer network node, the second validation information for the access token are performed if the issuer network node is not the first network node.
23. The method of claim 21 or 22, wherein the request for second validation information sent to the issuer network node includes the access token.
24. The method of claim 23, wherein the second validation information received from the issuer network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
25. The method of claim 21 or 22, wherein the request for second validation information sent to the issuer network node comprises a request for a key associated with the access token.
26. The method of claim 25, wherein the key associated with the access token comprises a key used to create or secure the access token.
27. The method of claim 25, wherein the key associated with the access token comprises a public key of the issuer network function.
28. The method of claim 27, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
29. The method of any of claims 25 to 28, wherein the second validation information received from the issuer network node comprises the key associated with the access token.
30. The method of claim 29, comprising validating the access token using the key associated with the access token.
31. The method of claim 30, wherein the access token includes a digital signature, and validating the access token using the key associated with the access token comprises validating the digital signature using the key associated with the access token.
32. The method of claim 30 or 31 , wherein the access token includes a Message Authorization Code (MAC) based on JavaScript Object Notation (JSON) Web Signature (JWS), and validating the access token using the key associated with the access token comprises validating the MAC using the key associated with the access token.
33. The method of any of claims 21 to 32, wherein the request for second validation information for the access token is sent to the issuer network node via one or more intermediate network nodes.
34. The method of claim 33, wherein the second validation information for the access token is received from the issuer network node via the one or more intermediate network nodes.
35. The method of any of claims 19 to 34, wherein the request for first validation information includes the access token.
36. The method of claim 35, wherein the first validation information sent to the producer network node indicates whether the access token is valid and / or whether the access token was issued by the issuer network function.
37. The method of any of claims 19 to 36, wherein the request for first validation information comprises a request for a key associated with the access token.
38. The method of claim 37, wherein the key associated with the access token comprises a key used to create or secure the access token.
39. The method of claim 37, wherein the key associated with the access token comprises a public key of the issuer network function.
40. The method of claim 39, wherein the public key of the issuer network function is associated with a private key used to create or secure the access token.
41. The method of any of claims 37 to 40, wherein the first validation information sent to the producer network node comprises the key associated with the access token.
42. The method of any of claims 19 to 41 , wherein: the first network node comprises the issuer network node; or the first network node is different to the issuer network node.
43. The method of any of claims 19 to 42, wherein the first network node comprises a first Network Repository Function (NRF).
44. The method of claim 43, wherein the producer network function is registered with the first NRF.
45. The method of any of claims 19 to 44, wherein the issuer network function comprises an issuer Network Repository Function (NRF) that issued the access token.
46. The method of any of claims 19 to 45, wherein the access token comprises an OAuth access token.
47. A tangible, non-transient computer-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations in a producer network function for receiving validation information for an access token, the operations comprising: receiving (502), from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; sending (504), to a first network node, a request for validation information for the access token; and receiving (506), from the first network node, validation information for the access token.
48. The computer-readable medium of claim 47, comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform the method (500) of any of claims 2 to 18.
49. A tangible, non-transient computer-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations in a first network node for sending validation information for an access token, the operations comprising: receiving (602), from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; and sending (604), to the producer network node, first validation information for the access token obtained based on the identifier of the issuer network node of the access token.
50. The computer-readable medium of claim 49, comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform the method (600) of any of claims 20 to 46.
51. A computer program, comprising instructions that, when executed by processing circuitry, cause the processing circuitry to carry out the method (500, 600) according to any of claims 1 to 46.
52. A computer-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to carry out the method (500, 600) according to any of claims 1 to 46.
53. A carrier containing the computer program of claim 52, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer-readable medium.
54. Apparatus in a producer network function for receiving validation information for an access token, the apparatus comprising processing circuitry and a memory, the apparatus configured to, for each of one or more second network nodes in the network: receive (502), from a consumer network function, a service request, wherein the service request includes an access token and an identifier of an issuer network node of the access token; send (504), to a first network node, a request for validation information for the access token; andreceive (506), from the first network node, validation information for the access token.
55. The apparatus of claim 54, wherein the apparatus is configured to perform the method (500) of any of claims 2 to 18.
56. Apparatus in a first network node for sending validation information for an access token, the apparatus comprising processing circuitry and a memory, the apparatus configured to, for each of one or more second network nodes in the network: receive (602), from a producer network function, a request for first validation information for an access token and an identifier of an issuer network node of the access token; and send (604), to the producer network node, first validation information for the access token obtained based on the identifier of the issuer network node of the access token.
57. The apparatus of claim 56, wherein the apparatus is configured to perform the method
Citation Information
Patent Citations
Key management
WO2021165194A1