Detailed Description
Accordingly, embodiments herein provide a method of managing anti-steering of roaming in a wireless communication network. The method comprises the following steps: a User Equipment (UE) sends an initial registration request message to a Visited Public Land Mobile Network (VPLMN). Further, the method comprises: the UE receives a response message from the VPLMN in response to the initial registration request message. The initial registration request message requires the VPLMN to send a preferred Public Land Mobile Network (PLMN) list in a response message. Further, the method includes the UE verifying whether the response message includes a preferred PLMN list provided by a Home Public Land Mobile Network (HPLMN), whether the VPLMN forcibly transparently transmits the preferred PLMN list, and whether a security check on the received preferred PLMN list using at least one HPLMN-specific security key is successful. Further, the method includes the UE causing: and when the verification fails, sending a rejection message to the VPLMN to execute NAS signaling connection release and execute a PLMN selection program, or when the verification fails, executing local NAS signaling connection release and execute the PLMN selection program, or when the verification succeeds, sending an acceptance message to the VPLMN.
In an embodiment, the response message to the initial registration request message includes one of an authentication request message, a registration accept request message, and a non-access stratum (NAS) message.
In an embodiment, the rejection message comprises one of an authentication rejection message and a NAS rejection message.
In an embodiment, the acceptance message comprises one of an authentication response message, a registration complete message, and a NAS message.
In an embodiment, the verification fails when the preferred PLMN list provided by the HPLMN in the response message is not available, or the preferred PLMN list provided by the HPLMN in the response message is available but the security check on the received preferred PLMN list is unsuccessful.
In an embodiment, the verification is successful when the preferred PLMN list provided by the HPLMN in the response message is available and the security check on the received preferred PLMN list is successful.
In an embodiment, the security check comprises: it is determined whether a message authentication code integrity (MAC-I) calculated by the UE is the same as the MAC-I received in the response message.
In an embodiment, the preferred PLMN list in the response message is protected by the HPLMN using at least one HPLMN-specific security key.
In an embodiment, the at least one HPLMN-specific security key comprises at least one of a digital signature, a public key, a private key, a KASME, an Authentication Key (AK), an IK key, a CK key, a secret key, a KAUSF, KH-int, KH-enc, and a message authentication code integrity (MAC-I).
In an embodiment, when the HPLMN specific security key is an asymmetric private key used by the HPLMN, the secret key is the public key of the HPLMN used by the UE.
In an embodiment, when the HPLMN-specific security key is a KASME key, the KASME key is obtained based on the PLMN list.
In an embodiment, MAC-1 is obtained on the PLMN list using the HPLMN specific security key KAUSF, the PLMN list and parameters as inputs to the security function.
In an embodiment, the UE verifies whether the response message includes the preferred PLMN list provided by the HPLMN when a configuration in a Universal Subscriber Identity Module (USIM) of the UE indicates that a mandatory check for the availability of the preferred PLMN list provided by the HPLMN is made in the request message received from the VPLMN.
In an embodiment, if the configuration in the UE indicates a mandatory check for availability of the priority PLMN list, the HPLMN forcibly sends to the UE at least an indication that there is no change in the preferred PLMN list (roaming guidance information) (e.g., the "operator controlled PLMN selector with access technology" list that needs to be stored in the UE does not change and therefore does not provide a list of preferred PLMN/access technology combinations), even if the HPLMN does not send the preferred PLMN list.
In an embodiment, when the HPLMN triggers the UE to initiate an initial registration procedure by explicitly providing a NAS message, the UE initiates the initial registration procedure and the UE obtains the bootstrapping information indicating the preferred PLMN based on the NAS message.
In an embodiment, if the authentication fails in all available and allowed PLMNs in the area of the UE, the UE ignores the authentication failure and continues to register with the HPLMN.
In an embodiment, if the verification is successful and if the UE determines, based on the list of available PLMNs for the area, that there is a higher priority PLMN compared to the currently camped selected VPLMN, the UE performs local NAS signaling connection release and performs PLMN selection to obtain service of the available higher priority PLMN according to the roaming bootstrapping information received in the response message.
In an embodiment, if the verification is successful and the UE determines from the available PLMN list for the area that there is a higher priority PLMN compared to the currently camped selected VPLMN, the UE sends an accept message and waits for the wireless communication network to release the NAS signaling connection.
In an embodiment, after releasing the NAS signaling connection, the UE performs PLMN selection to obtain service of an available higher priority PLMN according to the roaming guidance information received in the response message.
Accordingly, embodiments herein provide a method of managing anti-steering of roaming in a wireless communication network. The method comprises the following steps: the registration request message is obtained by the HPLMN from the VPLMN. Further, the method comprises: at the HPLMN, at least one HPLMN-specific security key is derived based on the at least one security parameter. Further, the method comprises: at the HPLMN, the preferred PLMN list is protected using at least one of HPLMN-specific security keys and security parameters. At least one of HPLMN-specific security keys and security parameters are used to avoid interference with the boot process of the serving network. Further, the method comprises: the protected preferred PLMN list is sent by the HPLMN to the VPLMN.
Accordingly, embodiments herein provide a UE for managing steering of roaming in a wireless communication network. The UE includes a preferred PLMN list determiner coupled to the memory and the processor. The preferred PLMN list determiner is configured to send an initial registration request message to the VPLMN. Further, the preferred PLMN list determiner is configured to receive a response message from the VPLMN. The initial registration request message requires the VPLMN to send the preferred PLMN list in a response message. Furthermore, the preferred PLMN list determiner is configured to verify whether the response message comprises a preferred PLMN list provided by the HPLMN, whether the VPLMN mandatorily transparently sends the preferred PLMN list, and whether the security check of the received preferred PLMN list using the at least one HPLMN-specific security key is successful. Further, the preferred PLMN list determiner is configured to send a rejection message to the VPLMN for NAS signaling connection release and perform a PLMN selection procedure upon authentication failure, or to perform local NAS signaling connection release and perform a PLMN selection procedure upon authentication failure, or to send an acceptance message to the VPLMN upon authentication success.
Accordingly, embodiments herein provide an HPLMN for managing anti-steering of roaming in a wireless communication network. The HPLMN is configured to obtain a registration request message from the VPLMN. The HPLMN is configured to derive at least one HPLMN-specific security key based on the at least one security parameter. The HPLMN is configured to protect the preferred PLMN list using at least one of security parameters and HPLMN-specific security keys. At least one of the security parameters and the HPLMN-specific security key is used to avoid interference with the boot process of the serving network. The HPLMN is configured to send the protected preferred PLMN list to the VPLMN.
Accordingly, embodiments herein provide a system for managing anti-steering of roaming in a wireless communication network. The system comprises the HPLMN, the VPLMN and the UE. The HPLMN is configured to obtain a registration request message from the VPLMN and derive at least one HPLMN-specific security key based on the at least one security parameter. Further, the HPLMN is configured to protect the preferred PLMN list using at least one of HPLMN-specific security keys and security parameters, and to send the protected preferred PLMN list to the VPLMN. Further, the VPLMN is configured to receive the protected preferred PLMN list from the HPLMN and to send a message to the UE including the protected preferred PLMN list. The message requires the VPLMN to transparently send the preferred PLMN list to the UE. Furthermore, the UE is configured to receive a request message from the VPLMN and to verify whether the request message comprises a preferred PLMN list provided by the HPLMN, whether the VPLMN mandatorily transparently sends the preferred PLMN list, and whether the security check of the received preferred PLMN list using the at least one HPLMN-specific security key is successful. Further, the UE is configured to: and when the verification fails, sending a rejection message to the VPLMN to release NAS signaling connection and execute a PLMN selection program, or when the verification fails, executing local NAS signaling connection release and executing a PLMN selection program, or when the verification succeeds, sending an acceptance message to the VPLMN.
These and other aspects of the embodiments herein will be better understood and appreciated when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating preferred embodiments and numerous specific details thereof, is given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
[ EXAMPLES OF THE INVENTION ]
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. Furthermore, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments may be combined with one or more other embodiments to form new embodiments. As used herein, the term "or" refers to a non-exclusive or unless otherwise specified. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
Embodiments may be described and illustrated with respect to blocks performing one or more of the described functions, as is conventional in the art. These blocks, which may be referred to herein as units or modules, and the like, are physically implemented by analog or digital circuits (such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, and the like), and may be selectively driven by firmware and software. The circuitry may be embodied, for example, in one or more semiconductor chips, or on a substrate support such as a printed circuit board or the like. The circuitry making up the blocks may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware for performing some of the functions of the blocks and a processor for performing other functions. Each block of an embodiment may be physically separated into two or more interacting and discrete blocks without departing from the scope of the invention. Also, the blocks of an embodiment may be physically combined into more complex blocks without departing from the scope of the invention.
The accompanying drawings are provided to facilitate an easy understanding of various technical features, and it should be understood that embodiments presented herein are not limited by the accompanying drawings. Thus, the present disclosure should be construed as extending to any variations, equivalents, and alternatives except those specifically set forth in the drawings. Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are generally only used to distinguish one element from another.
Throughout this disclosure, the term "protection" refers to integrity protection and/or confidentiality protection (encryption/decryption). The terms "encryption" and "encrypting" as used herein may be used interchangeably without departing from the scope of the embodiments.
Throughout this disclosure, the terms "PLMN and RAT list", "PLMN and access technology list", "home PLMN preferred VPLMN list", "preferred PLMN and RAT list", "preferred PLMN and access technology list", "network steering information", "roaming steering information list", "SoR list", "list of preferred PLMN/access technologies", "list", "preferred PLMN/access technology combination (or' HPLMN indication that requires the" operator controlled PLMN selector and access technology "list stored in the UE to be unchanged and thus does not provide the list of preferred PLMN/access technology combinations)", "roaming steering information", "prioritized operator controlled PLMN selector and access technology", "and" do not provide the "list of preferred PLMN/access technology combinations", without departing from the scope of the embodiments, The "PLMN selector list" and "preferred PLMN list" may be used interchangeably. Throughout this disclosure, the terms "counter SoR", "SoR counter", "counter value", and "COUNT" as used herein may be used interchangeably without departing from the scope of the embodiments. The terms "verify" and "security check" as used herein may be used interchangeably without departing from the scope of the embodiments.
Throughout this disclosure, the terms "PLMN selection", "UE selects some other higher priority PLMN after setting the current PLMN to the lowest priority", "UE attempts to obtain service on a higher priority PLMN as specified in 3GPP TS23.122 by acting as if the timer T controlling the periodic attempt expires" may be used interchangeably without departing from the scope of the embodiments.
Accordingly, embodiments herein provide a system for managing anti-steering of roaming in a wireless communication network. The system includes a HPLMN, a VPLMN, and a UE. The HPLMN is configured to obtain a registration request message from the VPLMN and derive at least one HPLMN-specific security key based on the at least one security parameter. Further, the HPLMN is configured to protect a preferred PLMN list (e.g. an operator controlled PLMN selector list or PLMN selector list, which may contain preferred PLMN lists in order of priority and will likely have associated access technology identifiers) using at least one HPLMN specific security key and to send the protected preferred PLMN list to the VPLMN. Further, the VPLMN is configured to receive the protected preferred PLMN list from the HPLMN and to send a message to the UE including the protected preferred PLMN list. This message requires the VPLMN to send the preferred PLMN list to the UE transparently. Further, the UE is configured to receive a message from the VPLMN comprising a list of preferred PLMNs. Furthermore, the UE is configured to verify whether the message comprising the preferred PLMN list provided by the HPLMN and VPLMN forces the preferred PLMN list to be sent transparently and whether the security check of the received preferred PLMN list using the at least one HPLMN-specific security key is successful. Furthermore, the UE is configured to send a reject message for NAS signaling connection release to the VPLMN and perform a PLMN selection procedure when the security check fails, or to perform local NAS signaling connection release and perform a PLMN selection procedure when the authentication fails, or to send an accept message to the VPLMN when the authentication succeeds.
Referring now to the drawings, and more particularly to FIGS. 1 through 16, there is shown a preferred embodiment.
Fig. 1 is an overview of a system 1000a for managing anti-steering of roaming in a wireless communication network, according to embodiments disclosed herein. In an embodiment, the system 1000a includes the UE100, the VPLMN200 and the HPLMN 300. The UE100 may be, for example, but not limited to, a cellular phone, a tablet, a smart phone, a laptop computer, a Personal Digital Assistant (PDA), a global positioning system, a multimedia device, a gaming console, and so forth. The UE100 may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless communication device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, etc.
The HPLMN300 is configured to obtain the registration request message from the VPLMN200 and derive at least one HPLMN-specific security key based on the at least one security parameter. Further, the HPLMN300 is configured to protect the preferred PLMN list using at least one HPLMN-specific security key and to send the protected preferred PLMN list to the VPLMN 200.
Further, the VPLMN200 is configured to receive the protected preferred PLMN list from the HPLMN300 and to force a request message comprising the protected preferred PLMN list to the UE 100. In an embodiment, the request message comprises one of an authentication request message and a registration acceptance request message.
Furthermore, the UE100 is configured to receive the request message from the VPLMN200 and verify whether the request message comprising the preferred PLMN list provided by the HPLMN300 is available and whether the verification of the security check of the received preferred PLMN list is successful. Furthermore, the UE100 is configured to send a reject message to the VPLMN200 if the verification fails, or to release the NAS signaling connection locally and perform a PLMN selection procedure, or to send an accept message to the VPLMN200 if the verification succeeds. In an embodiment, the denial message comprises one of an authentication denial message and a NAS message. In another embodiment, the acceptance message comprises one of an authentication acceptance message, a registration complete message, and a NAS message.
In an embodiment, the verification fails when the preferred PLMN list provided by the HPLMN300 is not available in the request message or the preferred PLMN list provided by the HPLMN300 is available in the request message but the security check on the preferred PLMN list is unsuccessful.
In an embodiment, the verification is successful when the preferred PLMN list provided by the HPLMN300 is available in the request message and the security check on the received preferred PLMN list is successful.
It is contemplated that when UE100 sends a request to VPLMN200 for access to a wireless communication network, VPLMN200 sends a request to HPLMN300 for provision of one or more Authentication Vectors (AV). The HPLMN300 provides the VPLMN200 with one or more AVs and the preferred PLMN list signed with one or more security parameters using at least one security key of the home network, and the VPLMN200 transparently sends the received PLMN list and the one or more security parameters to the UE100 through NAS messages. The UE100 verifies one or more security parameters using at least one security key to confirm that no changes/modifications are made to the received PLMN list and imposes mandatory requirements on the VPLMN200 to provide the PLMN list IE (or information) part of the NAS message, otherwise the UE100 may decide to select some other PLMN. The security parameter may be, for example, but not limited to, a digital signature, a public key, KASME, an authentication key, an IK key, a CK key, a secret key, KAUSF, KH-int, KH-enc, and the like.
The preferred PLMN list is protected by using a digital signature mechanism. In an example, when the UE100 sends a request to the VPLMN200 for access to the wireless communication network, the VPLMN200 sends a request to the HPLMN300 for provision of one or more AVs. The HPLMN300 provides the VPLMN200 with one or more AVs using the private key of the home network and the preferred PLMN list signed with the digital signature, and the VPLMN200 transparently sends the received PLMN list together with the digital signature to the UE100 through the NAS message. The UE100 verifies the digital signature using the secret key (which is obtained using the public key of the home network) to confirm that no changes/modifications have been made to the received PLMN list and imposes mandatory requirements on the VPLMN200 to provide the PLMN list IE (or information) part of the NAS message, otherwise the UE100 may decide to select some other PLMN.
The preferred PLMN list is protected by using the public key of the UE 100. In another example, when the UE100 sends a request to the VPLMN200 for access to the communication network, the VPLMN200 sends a request to the HPLMN300 to provide one or more AVs. The HPLMN300 provides the AV and the PLMN list encrypted using the public key of the UE100, and the VPLMN200 transparently transmits the received PLMN list to the UE100 through the NAS message. The UE100 decrypts the received PLMN list using a private key obtained with the public key and imposes a mandatory requirement on the VPLMN200 to provide the PLMN list IE (or information) portion of the attach accept message, otherwise the UE100 may decide to select some other PLMN.
The preferred PLMN list is protected by using KASME. In another example, when the UE100 sends a request to the VPLMN200 for access to the wireless communication network, the VPLMN200 sends the request to the HPLMN300, the HPLMN300 provides the VPLMN200 with a list of PLMNs and an intermediate key (in the example, in the case of LTE, the intermediate key is a key of KASME). The intermediate key is a key generated by the HSS/AUSF and provided to the MME/SEAF/AMF. Throughout this disclosure, KASME is referred to as an intermediate key and an appropriate key (e.g., kassf) in other 3GPP systems, such as 5G systems. KASME is generated using the PLMN list as one of the parameters. In an embodiment, KASME is generated using the PLMN list AS one of the parameters from which further keys, such AS NAS anchor keys and AS anchor keys (KeNB and/or KgNB) are derived. The VPLMN200 transparently sends the received PLMN list to the UE100 through NAS messages. In an embodiment, the input PLMN list contains PLMN IDs according to a priority order, such that the UE100 obtains the preferred PLMN list in the priority order. The UE100 generates KASME using the PLMN list as a parameter from which to derive more keys and imposes mandatory requirements on the VPLMN200, requiring the provision of the PLMN list IE (or information) portion of the attach accept message, otherwise the UE100 may decide to select some other PLMN.
The preferred PLMN list is protected by using an authentication key (Ak) key. In another example, the UE100 sends a request to the VPLMN200 for access to the wireless communication network. The VPLMN200 sends a request to the HPLMN300 to provide one or more AVs. In addition, HPLMN300 provides the PLMN list to VPLMN200 and also provides the expected response (XRES), along with other parameters, to VPLMN 200. XRES is generated using the PLMN list as one of the parameters. Further, the VPLMN200 transparently sends the received PLMN list to the UE100 through the NAS message. The UE100 generates Response (RES) using the received PLMN list as one of the parameters, and the UE100 responds to the NAS message with the calculated RES value. The VPLMN200 checks if the received RES is equal to XRES. If RES and XRES are not the same, the authentication procedure fails. A mandatory requirement is imposed on the VPLMN200 to provide the PLMN list IE (or information) part of the NAS message, otherwise the UE100 may decide to select some other PLMN.
The preferred PLMN list is protected by using a Message Authentication Code (MAC) function. In another example, when the UE100 sends a request to the VPLMN200 to access the wireless communication network, the VPLMN200 sends a request to the HPLMN300 to request the HPLMN300 to provide the PLMN list and an authentication token (AUTN) to the VPLMN 200. AUTN is generated using the PLMN list as one of the parameters, and the VPLMN200 transparently sends the received PLMN list to the UE100 through a NAS message. The UE100 generates the desired MAC (XMAC) using the PLMN list as a parameter, and the UE100 verifies whether XMAC and MAC are the same to check whether the PLMN list received by the UE100 is distortion free. A mandatory requirement is imposed on the VPLMN200 to provide the PLMN list IE (or information) part of the attach ACCEPT message (in the 5GS context, its REGISTRATION ACCEPT message), otherwise the UE100 may decide to select some other PLMN. As shown in fig. 11, the MAC is derived using the PLMN list as one of the inputs.
The preferred PLMN list is protected by using the key "K". In another example, when the UE100 sends a request to the VPLMN200 to access the wireless communication network, the VPLMN200 sends the request to the HPLMN300 providing one or more AVs. The HPLMN300 provides the AV and the PLMN list encrypted or integrity protected using a secret key ("K"), and the VPLMN transparently transmits the received PLMN list to the UE100 through the NAS message. The UE100 decrypts the received PLMN list using the secret key ("K") and imposes mandatory requirements on the VPLMN200, requiring the provision of the PLMN list IE (or information) part of the attach ACCEPT message (in the 5GS context, its REGISTRATION ACCEPT message), otherwise the UE100 may decide to select some other PLMN to obtain the preferred PLMN list IE.
The preferred PLMN list is protected by KASME using HPLMN 300: in another example, when the UE100 sends a request to the VPLMN200 to access the wireless communication network, the VPLMN200 sends the request to the HPLMN300 providing one or more AVs. The VPLMN200 sends the received PLMN list encrypted and/or integrity protected using the home KASME. The home KASME is derived similarly to the process of deriving KASME, but by using SNID — HPLMN ID. Furthermore, the VPLMN200 transparently sends the received PLMN list to the UE100 through NAS messages, and the UE100 decrypts the received PLMN list using IK or CK keys and imposes mandatory requirements on the VPLMN200, requiring a PLMN list IE (or information) part or authentication procedure that provides attach ACCEPT (in the 5GS context, its REGISTRATION ACCEPT message), the UE100 will decide to select some other PLMN.
The preferred PLMN list is protected by using IK and CK keys: in another example, when the UE100 sends a request to the VPLMN200 to access the wireless communication network, the VPLMN200 sends the request to the HPLMN300 providing one or more AVs. The HPLMN300 provides AV and a PLMN list encrypted or integrity protected using IK or CK keys, and the VPLMN200 transparently transmits the received PLMN list to the UE100 through an NAS message. The UE100 decrypts the received PLMN list using the IK or CK keys and imposes mandatory requirements on the VPLMN200, requiring a PLMN list IE (or information) part or authentication procedure that provides an attach accept message, otherwise the UE100 will decide to select some other PLMN.
While fig. 1 illustrates various hardware components of the system 1000a, it should be understood that other embodiments are not so limited. In other embodiments, the system 1000a may include a fewer or greater number of components. Further, the labels or names of the components are for illustrative purposes only and do not limit the scope of the present invention. One or more components may be combined together to perform the same or substantially similar functions to manage anti-steering of roaming in a wireless communication network.
Fig. 2 is another overview of a system 1000b for managing anti-steering of roaming in a wireless communication network, according to embodiments disclosed herein. In an embodiment, the system 1000a includes the UE100, the VPLMN200 and the HPLMN 300. The VPLMN200 comprises an AMF (access and mobility function) 210 and a SEAF (security anchor function) 220. The HPLMN300 includes an AUSF (authentication server function) 310 and a UDM (unified data management) 320.
In one embodiment, the UE100 sends a registration request message to the AMF 210. In addition, the AMF210 requests the AUSF310 to perform the master authentication. Further, the AUSF310 requests the UDM320 to provide AV to perform authentication.
Based on HPLMN policy, UDM320 decides to add the preferred PLMN list with AV or later in the registration procedure, and UDM320 provides AV and preferred PLMN list to AUSF 310.
Further, the AUSF310 protects the preferred PLMN list using at least one security parameter (e.g., digital signature or public key or KASME or authentication key or IK key or CK key or secret key or KAUSF or KH-int or KH-enc, etc.).
Further, the AUSF310 sends a 5G authentication initiation response (5G-AIA) message to the SEAF220 through N12. In the 5G-AIA message, the AUSF310 includes an integrity protected preferred PLMN list using at least one security parameter. Further, the AMF210/SEAF220 transparently transmits the received protected PLMN list to the UE100 through a NAS message (i.e., an authentication request message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 through NAS messages.
Further, based on the configuration of the USIM in the UE100, the UE100 expects a protected PLMN and RAT list in the authentication response message. If the configuration indicates a mandatory check of the preferred PLMN list, the UE100 verifies the integrity of the received PLMN list by deriving the key in the same manner as the AUSF 310.
If the security check fails, the UE100 sends an authentication reject message to the VPLMN 200. The UE100 performs PLMN selection if the protected PLMN and RAT list is lost or authentication fails.
Further, if the security check passes and the serving PLMN is not the preferred PLMN, the UE100 sends an authentication reject message to the VPLMN 200. Further, the UE100 performs PLMN selection considering a PLMN list provided by the HPLNM 300.
Further, if the security check passes and the serving PLMN is in the preferred PLMN list, the UE100 sends an authentication accept message to the VPLMN 200.
In another embodiment, the UE100 sends a registration request message to the AMF 210. In addition, the AMF210 registers with the UDM320 by initiating the Nudm _ UECM _ Registration procedure. Between the first two steps, other procedures, such as an authentication procedure or a registration procedure, may be performed.
In an embodiment, AMF210 may provide a subscription permanent identifier (SUPI), a serial number of the AV and/or ngKSI and/or RAND of the AV and/or a KAUSF key set identifier, and SUPI, such that AUSF310 identifies the appropriate KAUSF.
Further, based on HPLMN policy, the UDM320 decides to add a preferred PLMN list. In addition, the UDM320 requests the AUSF310 to apply protection to the PLMN/RAT list.
In addition, the AUSF310 protects the preferred PLMN list using at least one security parameter. Further, the AUSF310 sends a 5G authentication initiation response (5G-AIA) message to the SEAF220 through N12. In the 5G-AIA message, the AUSF310 includes an integrity protected preferred PLMN list using at least one security parameter.
Further, the AMF210/SEAF220 transparently transmits the received protected PLMN list to the UE100 through a NAS message (i.e., an attach request message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 through NAS messages.
Further, based on the configuration of the USIM in the UE100, the UE100 expects a protected PLMN and RAT list in the authentication response message. If the configuration indicates a mandatory check of the preferred PLMN list, the UE100 verifies the integrity of the received PLMN list by deriving the key in the same manner as the AUSF 310.
Furthermore, the security check fails and the UE100 sends a registration reject message to the VPLMN 200. Further, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or authentication fails.
In an embodiment, the UE100 sends a registration reject message to the VPLMN200 if the security check passes and the serving PLMN is not the preferred PLMN. Further, the UE100 performs PLMN selection considering a PLMN list provided by the HPLNM 300.
If the security check passes and the serving PLMN is in the preferred PLMN list, the UE100 sends a registration accept message to the VPLMN 200.
However, a detailed procedure for providing a list of preferred PLMN lists during an authentication procedure or a registration acceptance procedure while managing anti-steering of roaming activities in a wireless communication network is described in connection with fig. 3 to 11.
While fig. 2 illustrates various hardware components of the system 1000b, it should be understood that other embodiments are not so limited. In other embodiments, system 1000b may include a fewer or greater number of components. Further, the labels or names of the components are for illustrative purposes only and do not limit the scope of the present invention. One or more components may be combined together to perform the same or substantially similar functions to manage anti-steering of roaming in a wireless communication network.
Fig. 3 is a sequential flow diagram of a step-by-step procedure for providing a list of preferred PLMN lists during an authentication procedure in a wireless communication network in accordance with an embodiment disclosed herein.
As shown in fig. 3, the UE100 transmits a registration request message to the AMF210 at 1. At 2, the AMF210 requests the AUSF310 to perform a primary authentication. At 3, the AUSF310 requests the UDM320 to provide AV to perform authentication.
At 4, based on HPLMN policy, UDM320 decides to add the preferred PLMN list with the AV. At 5, UDM320 provides AV and preferred PLMN list to AUSF 310.
At 6, the AUSF310 uses at least one security parameter (e.g., digital signature or public key or KASME or authentication key or IK key or CK key or secret key or KAUSF or KH-int or KH-enc, etc.) to protect the preferred PLMN list.
At 7, the AUSF310 sends a 5G-AIA message to the SEAF220 via N12. In the 5G-AIA message, the AUSF310 includes an integrity protected preferred PLMN list using at least one security parameter.
At 8, the AMF210/SEAF220 transparently sends the received protected PLMN list to the UE100 through a NAS message (i.e., an authentication request message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 through NAS messages.
At 9, the UE100 expects a protected PLMN and RAT list in the authentication response message based on the configuration of the USIM in the UE 100. If the configuration indicates a mandatory check of the preferred PLMN list, the UE100 verifies the integrity of the received PLMN list by deriving the key in the same manner as the AUSF 310.
At 10a, the UE100 sends an authentication reject message to the VPLMN200 if the security check fails. At 10b, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or fails validation.
At 11a, if the security check passes and the serving PLMN is not the preferred PLMN, the UE100 sends an authentication reject message to the VPLMN 200. At 11b, the UE100 performs PLMN selection considering the PLMN list provided by the HPLNM 300.
At 12, if the security check passes and the serving PLMN is in the preferred PLMN list, the UE100 sends an authentication accept message to the VPLMN 200.
Consider an example where UE100 sends a registration request to AMF 210. The AMF210 sends a request to the AUSF310 of the HPLMN300 to perform the primary authentication. The AUSF310 sends a request for providing AV to the UDM 320/ARPF to perform authentication. Based on HPLMN policy, UDM 320/ARPF decides to add preferred PLMN and RAT lists and AV. UDM 320/ARPF provides AV and PLMN and RAT lists.
In an embodiment, when the AUSF310 receives the PLMN and RAT lists, the AUSF310 derives the security keys KH-int and/or KH-enc to protect the PLMN and RAT lists. Deriving KH-int and/or KH-enc using at least one of the following parameters: KAUSF, algorithm type specifier, algorithm identity, home network identity (MNC + MCC) and possibly other parameters.
In an embodiment, the derivation of the initial key is shown in fig. 7. The derivation of the encryption key is shown in fig. 8. As shown in table 1, a new algorithm type discriminator is defined for HPLMN integrity protection (e.g., N-Home-int-alg) and/or ciphering (e.g., N-Home-enc-alg). In another embodiment, the existing NAS algorithm type specifier is reused for HPLMN integrity protection (e.g., N-NAS-int-alg) and/or for ciphering (e.g., N-NAS-enc-alg).
[ TABLE 1 ]
Algorithm specifier
|
Value of
|
N-NAS-enc-alg
|
0x01
|
N-NAS-int-alg
|
0x02
|
N-RRC-enc-alg
|
0x03
|
N-RRC-int-alg
|
0x04
|
N-UP-enc-alg
|
0x05
|
N-UP-int-alg
|
0x06
|
N-Home-int-alg
|
0x07
|
N-Home-enc-alg
|
0x08 |
Table 1: defining values of algorithm specifiers
In another embodiment, the algorithm for protection (integrity protection and/or ciphering) of the PLMN and RAT lists is whether the ciphering/deciphering to be applied (with respect to the VPLMN 200) is pre-configured in the UE100 by the HPLMN300 (e.g., in a Universal Integrated Circuit Card (UICC) provided by the HPLMN300 and/or as part of NAS configuration).
In another embodiment, an algorithm to be used by the UE100 to verify the integrity and/or decryption of the preferred PLMN and RAT list is included with the preferred PLMN and RAT list, and an indication of whether the PLMN and RAT list is ciphered may also be sent with the message. The algorithm identifier values are as follows:
[ TABLE 2 ]
"00002"
|
NEA0
|
A null encryption algorithm;
|
"00012"
|
128-NEA1
|
algorithms based on 128-bit SNOW 3G;
|
"00102"
|
128-NEA2
|
algorithms based on 128-bit AES; and
|
"00112"
|
128-NEA3
|
algorithm based on 128 bit ZUC. |
Table 2: encryption algorithm identifier value [ Table 3 ]
"00002"
|
NIA0
|
A null integrity protection algorithm;
|
"00012"
|
128-NIA1
|
algorithms based on 128-bit SNOW 3G;
|
"00102"
|
128-NIA2
|
algorithms based on 128-bit AES; and
|
"00112"
|
128-NIA3
|
algorithm based on 128 bit ZUC. |
Table 3: integrity algorithm identifier value
Furthermore, the AUSF310 sends a 5G-AIA message to the SEAF220 via N12. In the 5G-AIA message, AUSF310 includes an integrity protected list of preferred PLMNs and RATs to AMF210/SEAF220 using the HPLMN key (if supported, the key KAUSF may be used to derive other keys, and also to encrypt the list), including an integrity message authentication code (MAC-I) HPLMN policy, HPLMN300 includes the protected list of preferred PLMNs and RATs in a 5G-AIA message, and provides the PLMN and RAT list from HPLMN300 in an authentication request for VPLMN200 when AUSF310 receives the PLMN list from UDM320, AUSF310 protects the PLMN list before sending it to UE100 via AMF210/SEAF 2200.
In an embodiment, the input parameters of the integrity algorithm (NIA) are the PLMN and RAT lists, the integrity protection key derived from the key KAUSF (e.g. KH-int), RAND (one of the parameters in AV) and possibly other parameters (e.g. list LENGTH, NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE are used to derive a separate encrypted MAC-I. Based on these input parameters, the AUSF310 calculates a message authentication code (MAC-1) using the integrity algorithm NIA. In another embodiment, a Key Derivation Function (KDF) is used for MAC-1 generation instead of NIA. The message authentication code is then appended to the message when sent. The UE100 computes the expected message authentication code (XMAC-1) on the received message in the same way as the AUSF310 computes its message authentication code on the transmitted message and verifies the data integrity of the message by comparing it with the received message authentication code. The derivation of MAC-I/XMAC-I on the PLMN and RAT lists is shown in fig. 9.
In an embodiment, the counter COUNT is used as one of the input parameters to the integrity algorithm and is included with the MAC-I so that the receiver of the UE100 can use the COUNT value for XMAC-1 calculations.
As shown in fig. 10, the input parameters of the encryption algorithm (NEA) encryption key (e.g., KH-enc) are derived from the key KAUSF, RAND (one of the parameters in the AV) and possibly other parameters (e.g., LENGTH of list), NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE are used to derive an encrypted separate keystream. The encryption of the network boot information is shown in fig. 10.
In an embodiment, a counter COUNT is used as one of the input parameters to the algorithm, and is included with the message so that the receiver will decrypt using the COUNT value.
In an embodiment, if multiple AVs are received from UDM320, AUSF310 generates a MAC-I for each AV (using the corresponding KAUSF, RAND, etc.) and provides the multiple AVs and the corresponding protected PLMN and RAT lists to SEAF 220/AMF 210.
In an embodiment, the AUSF310 generates a new KAUSF key set identifier (e.g., ngKSIausf) to identify the KAUSF. The subscription permanent identifier (SUPI) together with the KAUSF key set identifier uniquely identifies the KAUSF of the UE 100. The AUSF310 provides the KAUSF keyset identifier with the AV to the UE100 through the AMF210/SEAF 220. The AMF210/SEAF220 may store the KAUSF keyset identifier with the ngKSI.
In an embodiment, the serial number of the AV and/or RAND and SUPI of the AV uniquely identify the KAUSF of the UE 100.
The AMF210/SEAF220 transparently sends the received protected PLMN list to the UE100 in a NAS message (i.e., authentication request message). In an embodiment, if the AMF210/SEAF220 receives multiple AVs, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 in a NAS message.
Based on the configuration in the UE100 (in the USIM in the example), the UE100 expects a protected PLMN and RAT list in the authentication request message. If the configuration indicates a mandatory check of the preferred PLMN and RAT list, the UE100 verifies the integrity of the received PLMN and RAT list by deriving the key in the same manner as the AUSF 310.
In an embodiment, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or fails validation. In another embodiment, the UE100 performs PLMN selection if the integrity verification of the protected PLMN and RAT list is successful, but the serving PLMN is not the preferred PLMN/RAT in the received list.
In another embodiment, if the integrity verification of the protected list is successful and the serving PLMN is the preferred PLMN/RAT in the received list, or there is no preferred PLMN available in that particular area, the UE100 will return an authentication response message to the SEAF220 via a NAS message.
Fig. 4 is a sequential flow diagram illustrating a step-by-step procedure for providing a list of preferred PLMN lists during a registration procedure in a wireless communication network in accordance with an embodiment disclosed herein.
At 1, the UE100 transmits a registration request message to the AMF 210. At 2, the AMF210 registers with the UDM320 by initiating a Nudm _ UECM _ Registration procedure. Between step 1 and step 2, other procedures, such as an authentication procedure or a registration procedure, may be performed.
In an embodiment, AMF210 may provide a subscription permanent identifier (SUPI), a serial number of the AV and/or ngKSI and/or RAND of the AV and/or a KAUSF key set identifier, and SUPI, such that AUSF310 identifies the appropriate KAUSF.
At 3, based on HPLMN policy, the UDM320 decides to add the preferred PLMN list. At 4, UDM320 requests AUSF310 to apply protection to the PLMN/RAT list.
At 5 and 6, the AUSF310 protects the preferred PLMN list using at least one security parameter. At 7, the AUSF310 sends a 5G-AIA message to the SEAF220 via N12. In the 5G-AIA message, the AUSF310 includes an integrity protected preferred PLMN list using at least one security parameter.
At 8, the AMF210/SEAF220 transparently sends the received protected PLMN list to the UE100 through a NAS message (i.e., an attach request message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 through NAS messages.
At 9, the UE100 expects a protected PLMN and RAT list in the attach request message based on the configuration of the USIM in the UE 100. If the configuration indicates a mandatory check of the preferred PLMN list, the UE100 verifies the integrity of the received PLMN list by deriving the key in the same manner as the AUSF 310.
At 10a, the UE100 sends a registration reject message to the VPLMN200 if the security check fails. At 10b, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or fails validation.
At 11a, if the security check passes and the serving PLMN is not the preferred PLMN, the UE100 sends a registration reject message to the VPLMN 200. At 11b, the UE100 performs PLMN selection considering the PLMN list provided by the HPLNM 300.
At 12, the UE100 sends a registration accept message to the VPLMN200 if the security check passes and the serving PLMN is in the preferred PLMN list.
The program names and message names in this disclosure are for illustrative purposes only and apply to any message/program between the following interfaces/reference points: n2, N12, N8, N1, N13, Namf, Nudm, and Nausf.
Considering an example, the UE100 sends a Registration request to the AMF210, and the AMF210 registers with the UDM320 by initiating a numm UECM Registration procedure. Between step 1 and step 2, other procedures, such as an authentication procedure or a registration procedure, may be performed.
Based on HPLMN policy, UDM 320/ARPF decides to provide UE100 with a list of preferred PLMNs and RATs. UDM 320/ARPF requests AUSF310 to apply protection to the PLMN/RAT list.
In an embodiment, the AMF210 may provide a subscription permanent identifier (SUPI), a serial number of the AV and/or ngKSI and/or RAND of the AV and/or a KAUSF key set identifier, and SUPI, such that the appropriate KAUSF is identified at the AUSF 310.
In an embodiment, UDM320 may provide the serial number of the AV and/or ngKSI and/or RAND of the AV and/or KAUSF key set identifier and SUPI such that AUSF310 identifies the appropriate KAUSF.
When the AUSF310 receives the PLMN and RAT lists, the AUSF310 derives the security keys KH-int and/or KH-enc to protect the PLMN and RAT lists.
In an embodiment, the AUSF310 protects the PLMN and RAT lists with the latest KAUSF of SUPI. In another embodiment, the AUSF310 uses SUPI, the serial number and/or ngKSI of the AV and/or RAND of the AV and/or the KAUSF key set identifier, and SUPI provided by the UDM320 to identify the appropriate KAUSF for SUPI.
KH-int and/or KH-enc are derived using at least one of the following parameters, e.g. KAUSF, algorithm type specifier, algorithm identity, home network identity (MNC + MCC) and other possible parameters. As shown in fig. 7, the derivation of key KH-int is shown, and as shown in fig. 8, the derivation of key KH-enc is shown.
In an embodiment, a new algorithm type specifier is defined for HPLMN integrity protection (e.g., N-Home-int-alg) and/or for ciphering (e.g., N-Home-enc-alg). In another embodiment, the existing NAS algorithm type specifier is reused for HPLMN integrity protection (e.g., N-NAS-int-alg) and/or for ciphering (e.g., N-NAS-enc-alg). Table 1 describes the algorithm specifiers and their values. In another embodiment, an existing KDF is used instead of the integrity protection algorithm.
In another embodiment, the algorithm for protection (integrity protection and/or ciphering) of the PLMN and RAT list is pre-configured in the UE100 by the HPLMN300 (e.g., in a UICC provided by the HPLMN300 and/or as part of NAS configuration. in another embodiment, the UE100 includes an algorithm for verifying the integrity and deciphering of the preferred PLMN and RAT list along with the preferred PLMN and/or RAT list.
Furthermore, the AUSF310 sends the integrity protected list of preferred PLMNs and RATs (including MAC-I) to the UDM 320/ARPF using the HPLMN key KAUSF (if supported, other keys may be derived using the key KAUSF and the list is also encrypted).
In an embodiment, the input parameters of the integrity algorithm are the PLMN and RAT lists, the integrity protection key (e.g. the other key KH-int can be derived) key KAUSF, RAND (one of the parameters in the AV) and possibly other parameters (e.g. LENGTH of the list, NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE is used to derive an encrypted separate MAC. Based on the input parameters, the AUSF310 calculates a message authentication code (MAC-1) using the integrity algorithm NIA. The message authentication code is then appended to the message when it is sent. The UE100 computes the expected message authentication code (XMAC-1) on the received message in the same way as the AUSF computes its message authentication code on the sent message and verifies the data integrity of the message by comparing it with the received message authentication code. The derivation of MAC-I/XMAC-I on the PLMN and RAT lists is shown in fig. 9.
In an embodiment, a counter COUNT is used as one of the input parameters to the integrity algorithm, and is included with MAC-1 so that the receiver can use the COUNT value for XMAC-1 calculations.
In an embodiment, the input parameters (e.g., KH-enc) of the encryption algorithm (NEA) encryption key are derived from the key KAUSF, RAND (one of the parameters in the AV) and possibly other parameters (e.g., list LENGTH, NONCE), NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE are used to derive an encrypted separate keystream. The encryption of the network boot information is shown in fig. 10.
In an embodiment, a counter COUNT is used as one of the input parameters to the algorithm, and is included with the message, so that the receiver uses the COUNT value for decryption.
In an embodiment, if multiple AVs are received from UDM320, AUSF310 generates a MAC-I for each AV (using the corresponding KAUSF, RAND, etc.) and provides the multiple AVs and the corresponding protected PLMN and RAT lists to SEAF 220.
In an embodiment, instead of requesting the AUSF310 to apply security (as in steps 4-6), the UDM320 requests the AUSF310 to provide security keys, so that the UDM320 applies protection to the PLMN list. If UDM320 requests a key (with the details of selecting the appropriate KAUSF), AUSF310 derives the appropriate key and provides the key to UDM 320. In an embodiment, UDM320 may skip steps 4 to 6, as it may have the AV needed to derive keys for protection and protect the PLMN list.
Furthermore, the UDM320 then sends the protected PLMN list to the AMF210/SEAF220 as part of the numm UECM Registration procedure. Further, the AMF210/SEAF220 transparently transmits the received protected PLMN list to the UE100 through a NAS message (registration accept message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 through NAS messages.
At 9, the UE100 expects a protected PLMN and RAT list in the registration accept message based on the configuration in the UE 100. If the configuration indicates a mandatory check of the preferred PLMN and RAT list, the UE100 verifies the integrity of the received PLMN and RAT list by deriving the key in the same manner as the AUSF 310.
Further, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or authentication fails. Further, if the protected PLMN and RAT list integrity verification is successful, but the serving PLMN is not the preferred PLMN/RAT in the received list, the UE100 performs PLMN selection.
Further, if the integrity verification of the protected list is successful and the serving PLMN is located in the preferred PLMN/RAT in the received list or there is no preferred PLMN available in that particular area, the UE100 sends a registration complete message to the SEAF220 through a NAS message.
In an embodiment, the UE100 may respond to the UDM 320/AUSF 310 (via the AMF210/SEAF 220) with a message carrying a protected acknowledgement IE. The protection mechanism is the same as the procedure described above, but the UE100 performs MAC-I calculation on the response message (which may carry the preferred PLMN/access technology combination) and the UDM 320/AUSF 310 performs XMAC-I calculation on the received message and checks if the MAC-I is the same as XMAC-I. Similarly, the UE100 may perform ciphering and AUSF 310/UDM 320 deciphering.
In an embodiment, if the check is successful in step 8, the UE100 inserts the received preferred PLMN list on top of the OPLMN list. If the UE determines that there is a higher priority PLMN than the currently camped VPLMN, the UE100 should respond with an authentication reject message or an authentication failure message instructing the AMF210 to release the current N1 NAS signaling connection, after releasing the N1 NAS signaling connection, the UE100 will attempt to obtain service on the higher priority PLMN by acting as if the timer T controlling the periodic attempt expired (see 3GPP TS 23.122), as specified in 3GPP TS23.122, otherwise the UE100 will respond with an authentication response message, as described in 3GPP TS 33.501. The mechanism by which the UE100 determines in step 9 that there is a higher priority PLMN compared to the currently camped VPLMN depends on the UE implementation.
If the check in step 8 is unsuccessful, the UE100 will perform PLMN selection as described in 3GPP TS 23.122.
During a first registration procedure on the VPLMN that is not part of the "operator controlled PLMN selector with access technology" list stored in the ME, if the VPLMN200 does not perform the authentication procedure and the UE100 enters 5GMM-IDLE mode after successfully performing the registration procedure, the UE100 will initiate the service request procedure by setting the ngKSI value to 7.
Fig. 5 is an exemplary sequential flow diagram illustrating a step-by-step procedure for providing a list of preferred PLMN lists during a registration procedure (in the form of a registration accept message) in a wireless communication network in accordance with embodiments disclosed herein. At 1, the UE100 initiates registration by sending a registration request message to the AMF 210. In 2 and 3, the AMF210 performs a registration procedure, and as part of the registration procedure, the AMF210 performs a master authentication of the UE100 and then initiates a NAS Security Mode Command (SMC) procedure after the authentication is successful.
At 4, the AMF210 invokes a numm _ SDM _ Get service operation message to the UDM320 to obtain, among other information, access and mobility subscription data of the UE100 as defined in the 3GPP standards.
At 5, UDM320 decides to send the bootstrap information. If the HPLMN300 has configured the bootstrapping of roaming information that UE100, to which it subscribes, enforces the desire to receive in the initial registration procedure, UDM320 will send the bootstrapping of roaming information, otherwise UDM320 decides to send the bootstrapping of roaming information to UE100 via VPLMN200 later, if needed, according to local or operator policies.
At 6 and 7, UDM320 invokes a roaming bootstrapping (SoR) protection service operation to AUSF310 to obtain message authentication code-integrity and related security parameters (SoR-MAC-IAUSF and counter values). If the HPLMN300 decides that the UE100 is to acknowledge a successful security check on the received list of bootstrapping information, the UDM320 indicates (sets an indicator) in the SoR protection service operation request message that it also needs the expected SoR-XMAC-IUE for verifying the acknowledgement from the UE 100.
In case the bootstrapping information list is not available or the HPLMN300 determines that no bootstrapping of the UE100 is required, the bootstrapping information list should be set to null (0x00) and message authentication code-integrity calculated from the null. Including the guiding information and acknowledgement indication in the calculation of SoR-MAC-IAUSF allows the UE100 to verify that the received guiding information list has not been tampered or removed by the VPLMN200 and whether acknowledgement is requested by the UDM 320. Including the acknowledgement indication of the UDM request (0x01) in the calculation of the expected SoR-XMAC-IUE allows the UDM320 to verify that the UE100 successfully received the bootstrap list. UDM320 provides SUPI, SoR info list or null and acknowledgement indication (whether or not SoR-XMAC-IUE is needed) to AUSF310 to obtain SoR protection services. Upon receiving a service request from UDM320, AUSF310 calculates the MAC-I. The SoR-MAC-IAUSF is calculated using the key KAUSF, the SoR information list or null value, the counter value, the acknowledgement indication and possibly other parameters as input to the security function KDF. If authentication of the acknowledgement from the UE100 is requested by the UDM320, the AUSF310 calculates the SoR-XMAC-IUE. The SoR-XMAC-IUE is calculated using the key KAUSF, the counter value, the confirmation indication (0x01) and possibly other parameters as inputs to the KDF. For each new calculation of SoR-MAC-IAUSF, the counter value is incremented by AUSF 310. The counter acts as a completely new input into the SoR-MAC-IAUSF and SoR-MAC-IUE exports to mitigate replay attacks.
In addition, the AUSF310 transmits the value of the counter together with the SoR-MAC-IAUSF. The UE100 checks the value of the counter and only accepts counter values greater than the stored value. When deriving the SoR-MAC-IUE for SoR acknowledgement, the UE100 will use the stored counter value received from the HPLMN 300. When deriving the KAUSF, the AUSF310 and the UE100 initialize the counter value to zero (0x00) and maintain the counter value for the lifetime of the KAUSF. AUSF310 monotonically increments the counter value for each additional computed SoR-MAC-IAUSF. The AUSF310 includes the SoR-MAC-IAUSF, the counter value and optionally the SoR-MAC-IUE in a service response message to the UDM320 (if requested by the UDM 320).
At 8, the UDM320 responds to the AMF210 with a numm _ SDM _ Get service operation that includes in the access and mobility subscription data a list of bootstrapping information, SoR-MAC-IAUSF and counter values, and an indication (if needed) that the UDM320 requests an acknowledgement from the UE 100. If the UDM320 requests an acknowledgement and receives a SoR-XMAC-IUE from the AUSF310, it temporarily stores the expected SoR-XMAC-IUE.
At 9, the AMF210 will include in the registration accept message the list of bootstrapping information, SoR-MAC-IAUSF, counter value and an indication that the UDM320 requests acknowledgement from the UE100 (if included by the UDM 320).
At 10, upon receiving the registration accept message, if the UE's USIM is configured with an indication that the UE100 will desire to receive roaming guidance information in registration accept in response to the initial registration request, the UE100 will verify whether the roaming guidance information was received in the initial registration accept message, and if the roaming guidance information is not available, the security check is considered to have failed. If the roaming guidance information is received in the registration accept message, the UE100 calculates SoR-MAC-IAUSF (which may be referred to as expected MAC-1 and also as "SoR-XMAC-IAUSF") for the received roaming guidance information, counter value and acknowledgement indication in the same manner as the AUSF310 and verifies whether it matches the SoR-MAC-IAUSF value received in the registration accept message. If no roaming bootstrapping information is received even if the UE's USIM configuration has an indication that it will be forced to receive roaming bootstrapping information in the initial registration accept message, or if roaming bootstrapping information is received but the SoR-MAC-IAUSF (SoR-XMAC-IAUSF) computed by the UE does not match the SoR-MAC-IAUSF received in the registration accept message (security check failed), the UE 300 will perform a PLMN selection procedure to select some other PLMN by making the currently camped VPLMN a lower priority PLMN, and also mark that there is a SoR failure on the current VPLMN. When the UE100 is allowed to make PLMN selections, i.e. only when the UE100 is not in manual operation mode and the current PLMN is not part of the "user controlled PLMN selector with access technology", it is desirable that the UE100 performs PLMN selection according to general principles. To avoid errors in the received roaming bootstrapping information, if the security check fails in all available PLMNs in the area as described above (i.e., all available PLMNs are part of the list that aborted registration due to SoR authentication failure, as described above) (UE100 is configured in the USIM to expect UE100 to receive roaming bootstrapping information but does not receive roaming bootstrapping information in the initial registration accept message or the SoR-MAC-IAUSF computed by UE100 does not match the SoR-MAC-IAUSF received in the registration accept message), UE100 will ignore the authentication failure and continue the registration procedure to get normal services. If the security check is successful (the SoR-MAC-IAUSF computed by the UE100 is the same as the SoR-MAC-IAUSF received in the registration accept message) and no acknowledgement is requested in the roaming bootstrapping information, the UE100 determines that there is a higher priority PLMN compared to the currently camped selected VPLMN based on the available PLMN list for the area, the UE100 may locally release the NAS signaling connection and perform PLMN selection according to the roaming bootstrapping information received in the registration accept message to obtain service of the available higher priority PLMN. If an acknowledgement is requested in the roaming guidance information, the UE100 determines that there is a higher priority PLMN compared to the currently camped selected VPLMN based on the available PLMN list for the area, and then after sending the registration complete message the UE100 performs PLMN selection according to the roaming guidance information received in the registration accept message to obtain service of the available higher priority PLMN, or the UE100 will wait for release of NAS signaling connection until expiration of an implementation dependent timer, and if the timer expires, locally release the NAS signaling connection before performing PLMN selection. In this case, the UE100 will note that it does not initiate a PDU session setup.
At 11, if the UDM320 has requested confirmation from the UE100, and the UE100 verifies in step 9 that the HPLMN300 has provided the roaming guidance information list (security check is successful), the UE100 will send a registration complete message to the serving AMF 210. The UE100 will generate the SoR-MAC-IUE and include the generated SoR-MAC-IUE in a transparent container in the registration complete message. The UE100 computes SoR-MAC-IUE using the key KAUSF, counter value, acknowledgement indication (0x01) and possibly other parameters as inputs to the KDF in the same way as AUSF 310.
At 12, the AMF210 sends a Nudm _ SDM _ Info request message to the UDM 320. If a transparent container having the SoR-MAC-IUE is received in the registration complete message, the AMF210 includes the transparent container in the Nudm _ SDM _ Info request message.
At 13, if the HPLMN300 indicates that the UE100 is to confirm successful security check on the bootstrap information list received in step 8, the UDM320 compares the received SoR-MAC-IUE with the expected SoR-XMAC-IUE temporarily stored by the UDM in step 8. In addition to integrity protection, the HPLMN300 may use HPLMN specific keys and other possible parameters to encrypt the list and provide it to the UE100 at 8, and the UE100 decrypts the list at 10.
Fig. 6 is a sequential flow diagram illustrating a step-by-step procedure for providing a list of preferred PLMNs list during Extensible Authentication Protocol (EAP) based primary authentication in a wireless communication network in accordance with an embodiment disclosed herein.
At 1, the UE100 sends a registration request to the AMF 210. At 2, the AMF210 sends a request to the AUSF310 to perform the master authentication.
At 3, the AUSF310 sends a request to the UDM 320/ARPF to provide AV to perform authentication. At 4, UDM 320/ARPF decides to add the preferred PLMN and RAT list and AV based on HPLMN policy. At 5, UDM 320/ARPF provides AV and PLMN and RAT lists.
At 6, in an embodiment, when the AUSF310 receives the PLMN and RAT lists, the AUSF310 derives security keys (e.g., KH-int and/or KH-enc) to protect the PLMN and RAT lists. The KH-int and/or KH-enc is derived using at least one of the following parameters: KAUSF, algorithm type specifier, algorithm identity, home network identity (MNC + MCC) and other possible parameters. The derivation of the initial key (i.e., KH-int) is shown in FIG. 7, and the derivation of the encryption key (KH-ent) is shown in FIG. 8.
In an embodiment, a new algorithm type specifier is defined for HPLMN integrity protection (e.g., N-Home-int-alg) and/or for ciphering (e.g., N-Home-enc-alg). In another embodiment, the existing NAS algorithm type specifier is reused for HPLMN integrity protection (e.g., N-NAS-int-alg) and/or for ciphering (e.g., N-NAS-enc-alg).
In an embodiment, the algorithm to be used for protection (integrity protection and/or ciphering) of the PLMN and RAT lists is pre-configured in the UE100 by the HPLMN300 (in the UICC provided by the HPLMN300 or as part of the NAS configuration in the example). In another embodiment, an algorithm used by the UE100 to verify the integrity and decryption of the preferred PLMN and RAT list is included with the preferred PLMN and RAT list. Algorithm identifier values are provided in tables 1-3. The derivation of MAC-I/XMAC-I on the PLMN and RAT lists is shown in fig. 9.
At 7, the AUSF310 sends a 5G-AIA message to the SEAF220 via N12. In the 5G-AIA message, the AUSF310 includes an integrity protected list of preferred PLMNs and RATs (including MAC-I) to the AMF210/SEAF220 using the HPLMN key KAUSF (if supported, the key KAUSF may be used to derive other keys and also to encrypt the list). Based on HPLMN policy, HPLMN300 includes the protected preferred PLMN and RAT list in the 5G-AIA message and is used for VPLMN to provide the PLMN and RAT list from HPLMN300 in the authentication request. When the AUSF310 receives the PLMN list from the UDM320, the AUSF310 protects the PLMN list before sending it to the UE100 via the AMF210/SEAF 220.
In an embodiment, the input parameters of the integrity algorithm (NIA) are PLMN and RAT lists, an integrity protection key (e.g., KH-int) is derived from the key, KAUSF, RAND (one of the parameters in AV) and possibly other parameters (e.g., list LENGTH, NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE is used to derive an encrypted separate MAC. Based on these input parameters, the AUSF310 calculates a message authentication code (MAC-1) using the integrity algorithm NIA. The message authentication code is then appended to the message when sent. The UE100 calculates an expected message authentication code for the received message in the same manner as the AUSF310 calculates its message authentication code for the transmitted message, and verifies the data integrity of the message by comparing it with the received message authentication code.
In an embodiment, the counter COUNT is used as one of the input parameters to the integrity algorithm and is included with the MAC-I so that the receiver can use the COUNT value for XMAC-1 calculations.
In another embodiment, the input parameters to the integrity algorithm (NIA) are the PLMN and RAT lists, the integrity protection key (derived from the Transient EAP Key (TEK)) using the authentication key K _ aut, and other possible parameters (e.g., list LENGTH, NONCE, etc.). For each derivation corresponding to AV, RAND and/or NONCE is used to derive an encrypted separate MAC-I.
In an embodiment, an encryption algorithm (NEA) derived from the keys KAUSF, RAND (one of the parameters in the AV) and other possible parameters (e.g., list LENGTH, NONCE, etc.) encrypts the input parameters (e.g., KH-enc) of the keys. For each derivation corresponding to AV, RAND and/or NONCE are used to derive an encrypted separate keystream. The encryption of the network boot information is shown in fig. 10.
In an embodiment, a counter COUNT is used as one of the input parameters to the algorithm, and is included with the message so that the receiver will decrypt using the COUNT value.
In an embodiment, the input parameters of the encryption algorithm (NEA) are the encryption key (derived from the Transient EAP Key (TEK)) using the encryption key K encr and possibly other parameters (e.g. list LENGTH, NONCE, etc.).
In another embodiment, the AUSF310 generates a new KAUSF key set identifier (e.g., ngKSIausf) to identify the KAUSF. The subscription permanent identifier (SUPI) together with the KAUSF key set identifier uniquely identifies the KAUSF of the UE 100. The AUSF310 provides the KAUSF keyset identifier with the AV to the UE310 through the AMF210/SEAF 220. The AMF210/SEAF220 may store the KAUSF keyset identifier with the ngKSI.
In an embodiment, the serial number of the AV and/or RAND and SUPI of the AV uniquely identify the KAUSF of the UE 100.
In another embodiment, the protected PLMN and RAT list is provided to the UE100 using EAP (extensible authentication protocol) -request/AKA (authentication and key agreement) -notification mechanism.
In an embodiment, the protected PLMN and RAT lists and security parameters (e.g., MAC-1, etc.) are provided (coded) in a vendor specific (e.g., 3GPP) type, length, value format.
At 8, the AMF210/SEAF220 transparently sends the received protected PLMN list to the UE100 through a NAS message (i.e., an authentication request message). In an embodiment, if multiple AVs are received, the AMF210/SEAF220 selects the AV and transparently sends the corresponding protected PLMN list to the UE100 in a NAS message.
At 9, based on the configuration of the UE100, the UE100 expects a protected PLMN and RAT list in the authentication request message. If the configuration indicates a mandatory check of the preferred PLMN and RAT list, the UE100 verifies the integrity of the received PLMN and RAT list by deriving the key in the same way as the AUSF.
At 10a, the UE100 sends an authentication reject message to the VPLMN200 if the security check fails. At 10b, the UE100 performs PLMN selection if the protected PLMN and RAT list is lost or fails validation.
In 11a, in another embodiment, if the protected PLMN and RAT list integrity verification is successful, but the serving PLMN is not the preferred PLMN/RAT in the received list, the UE100 sends an authentication reject message to the VPLMN 200. At 11b, the UE100 performs PLMN selection in view of the PLMN list provided by the HPLMN 300.
In 12, in an embodiment, if the integrity protected list verification is successful and the serving PLMN is the preferred PLMN/RAT in the received list, or there is no preferred PLMN available in that particular area, the UE100 sends an authentication response message to the SEAF220 by means of a NAS message.
Fig. 12 is a sequential flow diagram illustrating a step-by-step procedure for providing a list of preferred PLMN lists when a UE has registered with a VPLMN according to embodiments disclosed herein. Consider when the UE100 has registered with the VPLMN200 and the HPLMN300 wants to update the preferred PLMN/access technology combination to the UE 100.
In 1, the UDM320 of the HPLMN300 decides to update the preferred PLMN/access technology combination in the UE 100. At 2, UDM320 sends a Nudm _ SubData _ UpdateNotif message to AUSF310, which includes the preferred PLMN/access technology combination.
At 3, the AUSF310 sends a Nausf _ initial _ Auth request message to the AMF210 using the same parameters as the 5G-AIR message. The preferred PLMN/access technology combination is protected using the latest AV received from UDM 320/ARPF and included in the Nausf _ initial _ Auth request message.
At 4, the AMF210 sends an authentication request message that transparently carries the protected preferred PLMN/access technology combination and other existing parameters of the authentication request message.
At 5, the UE100 performs an integrity check (and/or decryption) on the received protected preferred PLMN/access technology combination. If the check is unsuccessful, the UE100 performs a PLMN selection procedure. If the check is successful in step 5, the UE100 responds with an authentication response message carrying a protected acknowledgement IE.
At 6, AMF210 sends a Nausf _ initial _ Auth _ Resp message to AUSF 310. This message carries a protected acknowledgement IE. The AUSF310 performs a security check of the validation IE.
At 7, AMF210 sends Nudm _ SubData _ UpdateNotif _ Resp to UDM320, which indicates whether the protected validation IE passed or failed the security check. Generally, the AUSF310 and UDM320 will determine whether the preferred PLMN/access technology combination sent by the AUSF310 and UDM320 was successfully updated to the UE 100. Otherwise, the HPLMN300 may retry the procedure.
In an embodiment, when the UE100 receives the preferred PLMN/access technology combination and the integrity protection (or ciphering) check passes, then the UE100 will proceed with the registration procedure (so that the VPLMN200 can continue the registration procedure) message in any of the following cases:
the UE100 has a list of available PLMNs (i.e., the UE100 has searched for available PLMNs in the area), and the current VPLMN200 is the most preferred available PLMN in the area according to the most recently received preferred PLMN/access technology combination, an
The network has indicated (either by NAS signaling messages or UE configuration) that the UE100 will proceed with the authentication or registration procedure before searching for the most preferred available PLMN.
In an embodiment, when the UE100 receives the preferred PLMN/access technology combination and passes the integrity protection (or ciphering) check, then the UE100 will not proceed with the registration procedure message, but the UE100 will instruct the AMF210 (with reject cause or new IE) to release the existing NAS N1 signaling connection or the UE100 may do local release of the NAS N1 signaling connection through a NAS message (e.g., authentication response message or authentication reject message or authentication failure message) in any of the following cases:
the UE100 does not have a list of available PLMNs (i.e., a list of available PLMNs in the area). The UE100 has an available PLMN list (i.e., the UE100 has searched for available PLMNs in the area), and after comparing the available PLMN list with the newly received preferred PLMN/access technology combination, there is a more preferred VPLMN200 than the current VPLMN 200.
In an embodiment, after receiving or locally releasing the NAS signaling connection, the UE100 will perform PLMN selection as if the timer T (see 3GPP TS 23.122) had expired.
In yet another embodiment, for any time update of the preferred PLMN/access technology combination, the HPLMN300 may initiate a detach message (or any NAS message) which will force the VPLMN200 to delete the available authentication vectors and instruct the UE100 to initiate a NAS message (initial registration request procedure) by setting KSI to a value that will force the VPLMN200 to initiate the authentication procedure. Now, the VPLMN200 will contact the HPLMN300 to obtain a new Authentication Vector (AV) in the process, and the UE100 will also receive the preferred PLMN/access technology combination as part of the NAS message (registration accept).
In yet another embodiment, if the UE100 moves on a VPLMN200 that is not part of the preferred PLMN/access technology combination (OPLMN list of the UE 100) and the UE100 registers with this VPLMN200 without performing the authentication procedure (or if the preferred PLMN/access technology combination is not received) and the UE100 enters idle mode, the UE100 will set ngKSI (or indication) in a NAS message (e.g., initial direct transfer NAS message, etc.), which will force the VPLMN200 to re-initiate the authentication procedure and obtain a new authentication vector from the HPLMN 300.
In yet another embodiment, if the UE100 moves on a VPLMN200 that is not part of the preferred PLMN/access technology combination (the OPLMN list of the UE 100) and the UE100 registers with that VPLMN200 without performing authentication procedures (or if the preferred PLMN/access technology combination is not received) and the UE100 enters idle mode, the UE100 will re-initiate NAS messages (e.g., initial registration procedures, etc.) that will force the VPLMN200 to obtain the preferred PLMN list from the HPLMN300 and forcibly provide the preferred PLMN list to the UE 100.
In an embodiment, the IE of the preferred PLMN/access technology combination may be mandatory in the NAS message (e.g., during the initial registration accept message) (optionally configured by the UE, such as USIM or MO Object, etc.). Now, even if the HPLMN300 does not want to update the UE100 with a new preferred PLMN/access technology combination, the HPLMN300 will send an IE to indicate that the size of the PLMN/access technology combination is zero (or a value indicating that there is no new list available). This IE must be protected. This guarantees to the UE100 that the VPLMN200 has not removed or modified the preferred PLMN/access technology combination information and indicates to use the OPLMN list stored in the UE 100.
In an embodiment, the preferred PLMN list or PLMN list is a list of PLMNs preferred for roaming of the UE100 by the HPLMN300 in the current physical location of the UE 100. The list may be in the form of an operator preferred PLMN list, or the like. The terms preferred PLMN list and PLMN list are used interchangeably and are synonymous.
In another embodiment, for all procedures discussed in this disclosure, if the UE100 detects that the received PLMN list is distorted, the UE100 will perform PLMN selection and select some other PLMN on which the UE100 will perform its registration procedure or preferred PLMN list acquisition procedure.
In an embodiment, the UE100 may detect distortion of the PLMN list received from the VPLMN200 after performing some retries to avoid any abnormal situation. Otherwise, when the UE100 detects that the received PLMN list fails to be decrypted (or the integrity check fails), it may indicate to the VPLMN200 so that the VPLMN200 can re-execute the procedure and again obtain the preferred PLMN list from the HPLMN 300. If the process fails again or after a number of retries, the UE100 will perform PLMN selection to select some other PLMN.
In an embodiment, the preferred PLMN list acquisition procedure is a synonym for any NAS procedure to be performed to indicate to the VPLMN200 that the UE100 wants to obtain the protected preferred PLMN list in the current UE location from the HPLMN 300.
FIG. 13 illustrates an operational sequence of a Data Path Solution (DPS) according to embodiments disclosed herein. The UE100 registered with the roaming PLMN may send a list of available PLMNs (optional) and a list of available preferred PLMNs (optional) to the home PLMN on a data channel using HTTP, and this may be achieved by sending the data using a network customization application or URL. The HPLMN300 may then respond to the HTTP request from the UE100 with a list of preferred PLMNs, and the UE100 may consider that the OPLMN list is changed and act as per the 3GPP section (i.e., 23.122). HTTP over IPSec, etc. may be used to enhance the security of HTTP packets, and if an HTTP request fails (due to DNS failure or HTTP failure, etc.), the UE100 may decide to move to a different PLMN after x attempts (where "x" is configured by the client). The UE100 successfully registers with the roaming PLMN and establishes a PS context. Further, the UE100 may transmit periodically in the roaming region (e.g., once every 24 hours). The UE100 registers with a PLMN that is not part of the preferred PLMN list currently configured in the SIM card and triggers a request from the operator asking the electronic device to initiate an HTTP request.
Fig. 14 is a block diagram of a UE100 according to embodiments disclosed herein. In an embodiment, the UE100 includes a preferred PLMN list determiner 110, a communicator 120, a memory 130, and a processor 140. The processor 140 is in communication with the preferred PLMN list determiner 110, the communicator 120 and the memory 130.
In an embodiment, the preferred PLMN list determiner 110 is configured to send an initial registration request message to the VPLMN 200. Further, the preferred PLMN list determiner 110 is configured to receive a response message from the VPLMN200 in response to the initial registration request message. The initial registration request message requires the VPLMN200 to send the preferred PLMN list in a response message. Furthermore, the preferred PLMN list determiner 110 is configured to verify whether the response message comprises a preferred PLMN list provided by the HPLMN300, whether the VPLMN200 forcibly transparently transmits the preferred PLMN list, and whether the security check of the received preferred PLMN list using the at least one HPLMN-specific security key is successful. Further, the preferred PLMN list determiner 110 is configured to send a reject message to the VPLMN200 for NAS signaling connection release and perform a PLMN selection procedure if the security check fails, or to perform local NAS signaling connection release and perform a PLMN selection procedure if the authentication fails, or to send an accept message to the VPLMN200 if the authentication succeeds.
In another embodiment, the preferred PLMN list determiner 110 is configured to pre-configure the HTTP link to contact the home network. Further, the preferred PLMN list determiner 110 is configured to identify that the UE100 is in a non-HPLMN network. Further, the preferred PLMN list determiner 110 is configured to use the stored HTTP link address to trigger the HTTPs request. Further, the preferred PLMN list determiner 110 is configured to receive an HTTPS response message carrying the preferred PLMN list.
Further, the processor 140 is configured to execute instructions stored in the memory 130 and perform various processes. The communicator 120 is configured for internal communication between internal hardware components and communication with external devices via one or more networks. The communicator 120 is configured to communicate with the preferred PLMN list determiner 110 to manage reverse steering of roaming in the wireless communication network.
Memory 130 also stores instructions to be executed by processor 140. Memory 130 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard disks, optical disks, floppy disks, flash memory, or forms of electrically programmable memories (EPROM) or Electrically Erasable and Programmable (EEPROM) memories. Additionally, in some examples, memory 130 may be considered a non-transitory storage medium. The term "non-transitory" may indicate that the storage medium is not embodied in a carrier wave or propagated signal. However, the term "non-transitory" should not be construed as memory 130 being non-removable. In some examples, memory 130 may be configured to store a greater amount of information than memory in certain examples, a non-transitory storage medium may store data that may change over time (e.g., in Random Access Memory (RAM) or cache).
While fig. 14 illustrates various hardware components of the UE100, it should be understood that other embodiments are not so limited. In other embodiments, the UE100 may include a fewer or greater number of components. Further, the labels or names of the components are for illustrative purposes only and do not limit the scope of the present invention. One or more components may be combined together to perform the same or substantially similar functions to manage roaming anti-steering in a wireless communication network.
Fig. 15 is a flow diagram illustrating various operations performed by a UE in a wireless communication network for managing anti-steering of roaming in accordance with embodiments disclosed herein. The operation is performed by the preferred PLMN list determiner 110 (1502-1510).
At 1502, the method includes sending an initial registration request message to the VPLMN 200. At 1504, the method includes receiving a response message from the VPLMN 200. At 1506, the method comprises verifying whether the response message comprises the preferred PLMN list provided by the HPLMN300, whether the VPLMN200 enforces transparent sending of the preferred PLMN list to the UE, and whether a security check of the received preferred PLMN list using at least one HPLMN-specific security key is successful. At 1508, the method includes sending a reject message to the VPLMN200 for NAS signaling connection release and performing a PLMN selection procedure when the authentication fails. At 1510, the method includes performing local NAS signaling connection release and performing a PLMN selection procedure upon authentication failure. At 1512, the method includes sending an accept message to the VPLMN200 upon successful verification.
The various actions, acts, blocks, steps, etc. in flowchart 1500 may be performed in the order presented, in a different order, or concurrently. Moreover, in some embodiments, some acts, actions, blocks, steps, etc. may be omitted, added, modified, skipped, etc. without departing from the scope of the present invention.
Fig. 16 is a flow diagram illustrating various operations performed by the HPLMN300 for managing anti-steering of roaming in a wireless communication network in accordance with embodiments disclosed herein. Operations are performed by the HPLMN300 (1602 — 1608).
At 1602, the method includes obtaining a registration request message from the VPLMN 200. At 1604, the method includes deriving at least one HPLMN-specific security key based on the at least one security parameter. At 1606, the method includes protecting the preferred PLMN list using the at least one security parameter and the HPLMN-specific security key. At 1608, the method includes sending the protected preferred PLMN list to the VPLMN 200.
The various actions, acts, blocks, steps, etc. in flowchart 1600 may be performed in the order presented, in a different order, or concurrently. Moreover, in some embodiments, some acts, actions, blocks, steps, etc. may be omitted, added, modified, skipped, etc. without departing from the scope of the present invention.
Embodiments disclosed herein may be implemented using at least one software program running on at least one hardware device and performing network management functions to control elements.
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Thus, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the embodiments as described herein.