Slice routing rule tamper-proof method, network element and medium
By using the application description identifier and mapping table on the terminal side, combined with random code verification on the network side, the problem of URSP rules being tampered with is solved, and the security and compatibility of slice services are achieved.
Patent Information
- Application Number
- CN202211605268.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-09
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-03-09
AI Technical Summary
The existing URSP rules are not very secure. Unauthorized applications can tamper with or compromise the ID of authorized applications and illegally use slicing services.
By defining the description identity of the application on the terminal side and establishing a mapping table, using the physical storage location as the identification, and assigning a random code to each application on the network side, the user-plane function network element verifies the consistency of the random code to prevent illegal slicing sessions.
Effectively improve the security of URSP rules, prevent unauthorized applications from illegally using slicing services, and ensure the legitimacy of applications and compatibility of slicing policies.
Smart Images

Figure CN116033429B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application filed on March 9, 2021, with the invention name "Slice routing rule anti-tampering method, terminal, network element and medium" and application number "202110257234.4". Technical Field
[0002] The present disclosure relates to the field of communication technology, and in particular to a slice routing rule tamper-proofing method, a network slice management function network element, a user plane function network element, and a computer-readable storage medium. Background Art
[0003] Network slicing is one of the key technologies of 5G (5th generation mobile networks). It can configure the network so that users can obtain the most appropriate network services on demand and increase the flexibility of network resources.
[0004] In the R15 phase of the 3rd Generation Partnership Project (3GPP), the 5G core network already had some policy configuration solutions for users and services, and defined user equipment routing selection policy (URSP) rules, focusing on service-level configuration and management policies. These provided flexible configuration and management methods for network slicing, service, and session continuity functions defined by the 5G core network. However, the current URSP rules are not very secure. Once the URSP rules are tampered with, unauthorized applications can illegally use slice services. For example, during the 5G slice registration process, the terminal side will report slice policy information to the network, including the application ID that needs to use the slice service and its corresponding traffic routing policy. Unauthorized applications may steal the ID of authorized applications and use slice services. Summary of the Invention
[0005] The present disclosure provides a slice routing rule tamper-proofing method, terminal, network slice management function network element and computer-readable storage medium to at least solve the above-mentioned problems.
[0006] According to one aspect of an embodiment of the present disclosure, a method for preventing tampering of slice routing rules is provided, which is applied to a terminal and includes:
[0007] Defines the descriptive identifier used to describe the application identifier in the slice routing rule;
[0008] Establishing a relationship mapping table between the description identifiers of each application program and its respective application identifier;
[0009] After initiating a slice session registration request to the core network, receiving a routing rule and a slice identification rule returned by the core network, wherein the routing rule carries a first application identification of a first application that can use the slice;
[0010] Determine whether the first application identifier and the object description identifier mapped thereto exist in the relationship mapping table;
[0011] If the first application identifier and its mapped description identifier exist, the first application corresponding to the first application identifier is matched with the routing rules and slice identification rules based on the first application identifier and its mapped description identifier.
[0012] According to a second aspect of an embodiment of the present disclosure, another slice routing rule anti-tampering method is provided, which is applied to a network slice selection function network element, including:
[0013] Allocating a respective first random code to each application corresponding to each network slice to form a first random code sequence; and
[0014] The first random code sequence is sent down to the user plane functional network element and the terminal respectively, so that after the terminal initiates a slice session establishment request to the core network, the user plane functional network element verifies whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection functional network element. If not, the slice session is prevented from proceeding.
[0015] According to a third aspect of an embodiment of the present disclosure, another slice routing rule anti-tampering method is provided, which is applied to a user plane function network element, including:
[0016] Receiving a first random code sequence sent by a network slice selection function network element, wherein the first random code sequence is formed by first random codes respectively allocated by the network slice selection function network element to each application corresponding to each network slice;
[0017] After the terminal initiates a slice session establishment request to the core network, receiving a first random code of a first application program that can use the slice sent by the terminal;
[0018] Verify whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection function network element;
[0019] If it is not in the first random code sequence, the slice session is prevented from proceeding.
[0020] According to the fourth aspect of an embodiment of the present disclosure, a terminal is proposed, comprising a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes the slice routing rule anti-tampering method.
[0021] According to the fifth aspect of an embodiment of the present disclosure, a network slice selection function network element is provided, comprising a memory and a processor, wherein a computer program is stored in the memory, and when the processor runs the computer program stored in the memory, the processor executes the other slice routing rule anti-tampering method.
[0022] According to the sixth aspect of an embodiment of the present disclosure, a user plane functional network element is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor runs the computer program stored in the memory, the processor executes another slice routing rule anti-tampering method.
[0023] According to the seventh aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the processor executes the one slice routing rule anti-tampering method, the another slice routing rule anti-tampering method, or the still another slice routing rule anti-tampering method.
[0024] The technical solutions provided by the embodiments of the present disclosure may have the following beneficial effects:
[0025] The embodiment of the present disclosure establishes a mapping relationship table between application description identifiers and application identifiers, uses the description identifier of the application in the terminal as the identifier of the APP ID in the routing rule, avoids directly using the APP-ID plain text in the slicing strategy URSP, and can effectively prevent other applications from stealing or tampering with the APPID in the terminal-side URSP when using slicing services. At least it can effectively improve the security of the URSP rules and prevent unauthorized applications from illegally using slicing services.
[0026] Other features and advantages of the present disclosure will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present disclosure. The purposes and other advantages of the present disclosure can be realized and obtained by the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The accompanying drawings are used to provide a further understanding of the technical solution of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the technical solution of the present disclosure and do not constitute a limitation to the technical solution of the present disclosure.
[0028] Figure 1 A flowchart of a method for preventing tampering of slice routing rules provided in an embodiment of the present disclosure;
[0029] Figure 2 A flowchart of another method for preventing tampering of slice routing rules provided in an embodiment of the present disclosure;
[0030] Figure 3 A flowchart of another method for preventing tampering of slice routing rules provided in an embodiment of the present disclosure;
[0031] Figure 4 A flowchart of another method for preventing tampering of slice routing rules provided in an embodiment of the present disclosure;
[0032] Figure 5 A schematic diagram of the structure of a terminal provided in an embodiment of the present disclosure;
[0033] Figure 6 A schematic diagram of the structure of a network slice selection function network element provided in an embodiment of the present disclosure;
[0034] Figure 7 A schematic diagram of the structure of a user plane functional network element provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0035] To make the purpose, technical solutions and advantages of the embodiments of the present disclosure more clear, the specific embodiments of the present disclosure are described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only used to illustrate and explain the present disclosure and are not intended to limit the present disclosure.
[0036] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence; and, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be arbitrarily combined with each other.
[0037] In the subsequent description, suffixes such as "module," "component," or "unit" used to represent elements are used only to facilitate the description of the present disclosure and have no specific meaning. Therefore, "module," "component," or "unit" may be used interchangeably.
[0038] To solve the above problems, the embodiment of the present disclosure monitors the vulnerabilities of applications from both the terminal side and the network side. Specifically, in this embodiment, the terminal side will not directly use the APP ID plain text as the URSP slice routing rule, but will use the description identifier of the application, such as the physical storage location where the application is located as the identifier. Since the storage location is unique, the risk of tampering is reduced. At the same time, a distributed storage method can be used, and all applications can save and manage the storage location information, avoiding the risk of tampering with a single application identifier. In addition, the network slice selection function (NSSF) on the network side issues an identifier to the user plane function (UPF) in the area to distinguish the data packets of each application. The UPF verifies whether the route of the data packet points to a specific DN (Domain Name) server set, and further determines whether a certain slice service has been stolen based on the route direction of the data packet, thereby ensuring that the routing rules are not tampered with and preventing the illegal use of slice services.
[0039] Please refer to Figure 1 , Figure 1 A flow chart of a slice routing rule anti-tampering method provided in an embodiment of the present disclosure is applied to a new management unit of a terminal, and the method includes steps S101-S105.
[0040] In step S101, a description identifier is defined for describing the application identifier in the slice routing rule.
[0041] In this embodiment, a new identifier is defined - the description identifier, which is used to describe the application identifier in the slice routing rule URSP. This can effectively avoid the direct use of APP-ID plain text in the slice strategy URSP, and thus avoid other applications stealing or tampering with the APP ID in the terminal side URSP when using the slice service.
[0042] Specifically, a description identifier is defined based on the attributes of all applications. The description identifier is identification information that is shared by all applications and can represent the identity of each application. In this embodiment, the description identifier is defined as the physical storage area location information of the application. The physical storage location of the application APK / APP will not be repeated, so the physical ROM storage area location of the application in the terminal is used as the identifier of the APP ID in the URSP.
[0043] In step S102, a relationship mapping table between the description identifiers of each application program and its respective application identifier is established.
[0044] To ensure compatibility between the APP ID of the slicing strategy URSP and applications and network slices, the APP ID of the URSP in the network-side PCF / NSSF is uniformly fixed. For example, the WeChat APP ID is fixed to 010101. In related technology, the terminal directly uses 010101 as the APP ID. To prevent other applications from stealing or tampering with the APP ID in the terminal-side URSP when using slicing services, the terminal side establishes a mapping table between the APP-ID and the physical storage location information of the application, avoiding the direct use of the APP-ID plaintext in the slicing strategy URSP. Since the physical storage location of the application APK / APP is unique, the application's physical ROM storage location in the terminal is used as the APP ID identifier in the URSP. For example, the storage address of WeChat in the terminal's ROM area is H012F0023. Therefore, whenever the URSP is called, a mapping table is established between H012F0023 and 010101, using H012F0023 instead of directly using 010101.
[0045] In step S103, after initiating a registration request for a slice session to the core network, the routing rules and slice identification rules returned by the core network are received, where the routing rules carry the first application identification of the first application that can use the slice.
[0046] Specifically, the terminal first initiates a slice registration request to the core network. After receiving the slice registration request, the core network returns the appropriate URSP (UE routing policy) and NSSAI (slice identification) rules to the terminal. The terminal obtains the APP ID of the "traffic descriptor" in the slice URSP (assumed to be 000111).
[0047] In some embodiments, in order to further improve the management of the security of the application description table, such as the storage address, the mapping relationship list may be managed in a distributed manner. Specifically, step S103 includes the following steps:
[0048] In each application, a relationship mapping table is established between the description identifiers of each application and its respective application identifier, thereby obtaining a plurality of relationship mapping tables;
[0049] After determining whether the first application identifier and its mapped description identifier exist in the relationship mapping table, and before matching the first application corresponding to the first application identifier with the routing rule and the slice identification rule based on the first application identifier and its mapped description identifier, it also includes:
[0050] If the first application identifier and its mapped description identifier exist, determine whether the first application identifier and its mapped description identifier in the several relationship mapping tables are all consistent. If they are all consistent, execute the step of matching the first application corresponding to the first application identifier with the routing rules and slice identification rules based on the first application identifier and its mapped description identifier.
[0051] Specifically, every time a new application is downloaded to the terminal, the new application will send its ROM storage address to all other applications. If an application is uninstalled, the other applications will be notified and the physical storage address of the application to be uninstalled will be cleared. Therefore, each application will record the physical storage addresses of all other applications to prevent malicious programs from using their own APP ID or physical storage address.
[0052] In step S104, it is determined whether the first application identifier and its mapped description identifier exist in the relationship mapping table. If so, step S104 is executed; otherwise, the process ends.
[0053] The terminal obtains the APP ID 000111 of the "traffic descriptor" in the slice URSP, and the newly added management unit calls the above-mentioned mapping relationship list from the terminal's application to determine whether the physical address and APP ID in the mapping relationship list are consistent, and there are no two identical physical addresses or APP IDs.
[0054] In some embodiments, if the relationship mapping table adopts distributed storage, the terminal adds a new management unit to determine the correspondence between the physical address and the APP ID, and selects N applications randomly or according to specific rules. These N applications report their stored mapping relationship lists to the terminal to determine whether the physical addresses and APPIDs in the N mapping relationship lists are consistent.
[0055] In step S105, the first application corresponding to the first application identifier is matched with the routing rules and slice identification rules based on the first application identifier and its mapped description identifier.
[0056] Specifically, only applications with a fixed physical storage address in the terminal (assuming it is FF0110A78) comply with the URSP rules issued by the network side and can use the network slice numbered NSSAI. This verifies the application from the terminal side, avoiding the risk of matching the application with the URSP\NSSAI simply by the APP ID. It is understandable that only after the first application corresponding to the first application identifier matches the routing rules and slice identification rules can the next step of slice registration be entered, and the slice can be registered. If there is no match, the slice cannot be used.
[0057] In one embodiment, to further improve the anti-tampering strength of the slice routing rules, a random code is assigned to each application of the network slice through the network slice selection function network element, and the consistency of the random code is verified when the slice session is established to ensure the legitimacy of the application. Specifically, the method further includes the following steps:
[0058] After the slice session registration is successful, a slice session establishment request is initiated to the core network, so that the core network establishes the slice session based on the slice session establishment request;
[0059] receiving a first random code sequence sent by a network slice selection function network element, wherein the network slice selection function network element allocates a respective first random code to each application corresponding to each network slice to form a first random code sequence, and sends the first random code sequence to a user plane function network element and the terminal respectively;
[0060] Retrieve the first random code of the first application from the first random code sequence; and send the first random code of the first application to the user plane function network element, so that the user plane function network element verifies whether the first random code of the first application sent by the terminal is in the first random code sequence sent by the network slice selection function network element. If not, prevent the slice session from proceeding. Specifically, in the core network NSSF network element, a string of random codes is allocated to each application corresponding to the network slice with the slice identifier NSSAI-1; a string of random codes is allocated to each application corresponding to NSSAI-2; and so on. That is, under the same PLMN (Public Land Mobile Network), each slice service application has a string of random codes, and the same application may be allocated multiple random codes. The random codes of the same application of different users are the same, and these random codes are sent to the terminal and the user plane function network element respectively.
[0061] After the slice session is successfully registered, the terminal initiates a PDU (Protocol Data Unit) session establishment request based on the slice to the core network. The terminal's newly added management unit retrieves the random code assigned by the core network element NSSF to the 000111 application in the above process.
[0062] In one embodiment, in order to further improve the security of the random code, an update principle for the random code setting is proposed: the NSSF refreshes the random code according to two factors: geographical location and time. For example, the random codes allocated by the NSSF in area 1 and the NSSF in area 2 to the same application carried by the same slice are different, and the refresh time period of each area can be different. Logical partition management of UPF is performed for the NSSFs in areas 1 and 2 (because it is a logical partition, normal signaling communication can be carried out even if the NSSF and UPF do not belong to the same logical area, rather than a physical partition), ensuring that the NSSF and UPF partitioning rules comply with the following correspondence: one NSSF can correspond to at least one or more UPFs, and each UPF can only belong to one NSSF.
[0063] Therefore, a new data bit can be added after the UPF number, which represents the NSSF logical slice to which the UPF belongs. When the NSSF updates the random code assigned to the application, the NSSF sends the random code to the UPF in the logical area, and the storage unit on the UPF or the supporting MEC completes the update of the random code. Among them, the terminal initiates a slice session request to the network, and the SMF will select the PDU according to the session type. SMF (Session Management Function) sends a request to AMF (Access and Mobility Management Function) to the SMF.<Namf_Communication_N1N2MessageTransfer> When the PDU number is selected, the AMF is informed at the same time, and the AMF forwards these messages to the gNB and the terminal.
[0064] In one embodiment, after receiving the first random code sequence issued by the network slice selection function network element, the following steps are also included: judging whether the user plane function network element assigned to the slice session has always belonged to the logical area managed by the network slice selection function network element, wherein the network slice selection function network elements in different areas respectively perform logical area zoning on the user plane function network element, and the network slice selection function network element in each area issues the first random code sequence to the user plane function network element in the logical area under its management; if the user plane function network element assigned to the slice session no longer belongs to the logical area managed by the network slice selection function network element, a request for obtaining a second random code sequence is sent to the network slice selection function network element, so that the network slice selection function network element interacts with the network slice selection function network element under the new logical area, and the network slice selection function network element under the new logical area respectively allocates its own second random code to each application corresponding to each network slice to form a second random code sequence, and then issues the second random code sequence to the user plane function network element and the terminal respectively;
[0065] Receive a second random code sequence issued by the network slice selection function network element under the new logical area;
[0066] Retrieving a second random code of the first application from the second random code sequence; and
[0067] The second random code of the first application is sent to the user plane function network element, so that the user plane function network element verifies whether the second random code of the first application sent by the terminal is in the second random code sequence sent by the network slice selection function network element. If not, the slice session is prevented from proceeding.
[0068] Specifically, the terminal's newly added management unit monitors the logical area of its access PDU: whether the logical area where the PDU is located belongs to the old NSSF area, that is, it determines whether the newly added data bit of the PDU number has changed. If it has changed, the session PDU carried by the terminal in this slice logically belongs to the new NSSF, then the terminal reports to the AMF and NSSF, requesting a broadcast message to be sent to the terminal, and sending the random code allocated by the new logical area NSSF to the terminal. If the newly added data bit of the PDU number has not changed, it means that the logical ownership of the session PDU carried by the terminal in this slice has not changed, then NSSF does not need to re-send the allocated random code to the terminal.
[0069] Furthermore, if the terminal has already connected to a slice (up to 8 slices can be connected at the same time), then in the above process, it is also necessary to determine whether the PDU connected to the new slice and the PDU of the existing slice belong to the same NSSF logical area. If so, there is no need to send the random code allocated by NSSF again. If not, then still request NSSF to send the random code.
[0070] Among them, the random code is encrypted when it is sent to the terminal. The terminal stores the received random code in a newly added management unit. Only the management unit has the right to decrypt it. Other applications cannot directly retrieve the random code or decrypt it through the newly added management unit to ensure that the random code will not be stolen or tampered with.
[0071] In one embodiment, in order to prevent the random code from being stolen by other applications during transmission, the newly added management unit of the terminal does not directly send the random code to the application. Instead, after the PDU session is successfully established, that is, after the terminal receives the IP address configuration sent by the core network to the terminal, the newly added management unit inserts the random code corresponding to the application into the header position or other specific position of the data packet on the uplink data link (uplink) of the application with the physical storage address FF0110A78, so as to further enhance the security of the random code. Specifically, the sending of the first random code of the first application to the user plane function network element includes the following steps:
[0072] inserting a first random code of the first application into a preset position of an uplink data packet of the first application; and
[0073] Based on the uplink data packet of the first application, the first random code of the first application is sent to the user plane function network element, so that the user plane function network element obtains the first random code of the first application from the uplink data packet of the first application, and verifies based on the first random code whether the random code of the first application sent by the network slice selection function network element is consistent with the random code of the first application sent by the terminal. If they are inconsistent, the slice session is prevented from proceeding.
[0074] Furthermore, in order to reduce signaling overhead and avoid waste of resources, the uplink data packets with inserted random codes do not need to be fully covered. At the same time, in order to enable the UPF to quickly locate which data packet has the random code inserted, an identification bit can be added when the random code is inserted. For example, if the identification bit is 1, it means that the uplink data packet has a random code added. If it is 0, it means that the random code is not added to the data packet.
[0075] Specifically, after receiving the uplink data packet of the session, the UPF verifies the random code of the data packet with the identification bit of 1: if the random codes are inconsistent, it means that there may be situations such as application theft. At this time, the UPF prevents the session from proceeding. Specifically, the UPF initiates an interception process to prompt the SMF that the session cannot proceed normally. In some embodiments, if the random codes are consistent, then: a. Get the random code in the packet header or a specific position. And the DN server address pointed to by the data packet. b. Since the random code stored in the random code of the UPF and the random code carried by the uplink data packet of the terminal are consistent, the UPF can compare the DN server address included in the set of DN server addresses pointed to by the data packet with the same random code in the historical records. If it is not included, then the UPF continues to search whether the set of DN server addresses pointed to by the data packet with the same random code in other UPF nodes in the NSSF logical area includes the DN server address. The UPF search method for the same NSSF logical area can refer to the above content.
[0076] In short, if the UPF verifies that the DN servers pointed to by the data packets containing the same random code belong to the same address set, then the session can continue and the slice service can continue to carry the application. If the UPF verifies that the data packet containing the random code does not belong to the DN server set pointed to by other data packets, then the UPF will initiate an interception process and prompt the SMF that the session cannot proceed normally.
[0077] In the related art, there is no security protection for the application ID of the slicing service. Since the signature and APP-ID of each application are public when it is first installed on the terminal, the related art usually encrypts the application ID and the slice selection policy. However, if an illegal application steals the APP ID of a legitimate application, it can still encrypt the APP ID according to the established encryption process or directly misuse the encrypted information. After the network side decrypts the encrypted message, it will still allow the application to use network slicing because it does not know whether the actual application is a legitimate contracted application. Therefore, simply encrypting the APP ID cannot solve the vulnerability of tampering with or misappropriating the APP ID.
[0078] The disclosed embodiment monitors the vulnerabilities of applications from both the terminal side and the network side. First, the terminal side will not directly use the APP ID plain text as the URSP slice routing rule, but will use the physical storage location of the application as the identifier. Since the storage location is unique, the risk of tampering is reduced. At the same time, a distributed storage method can be used, and all applications can save and manage the storage location information, avoiding the risk of tampering with a single application identifier. Secondly, the network-side slice management network element issues an identifier to the UPF in the area to distinguish the data packets of each application. The UPF verifies whether the route of the data packet points to a specific set of DN servers, and further determines whether a certain slice service has been stolen based on the route of the data packet.
[0079] Please refer to Figure 2 , Figure 2 A flow chart of a slice routing rule anti-tampering method provided in an embodiment of the present disclosure is applied to a network slice selection function network element, and the method includes step S201 and step S202.
[0080] In step S201, each application corresponding to each network slice is assigned its own first random code to form a first random code sequence; and
[0081] In step S202, the first random code sequence is sent down to the user plane functional network element and the terminal respectively, so that after the terminal initiates a slice session establishment request to the core network, the user plane functional network element verifies whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection functional network element. If not, the slice session is prevented from proceeding.
[0082] Specifically, in the core network NSSF element, a random code is assigned to each application corresponding to a network slice identified as NSSAI-1; a random code is assigned to each application corresponding to NSSAI-2, and so on. That is, within the same PLMN network, each application served by a slice has a random code. The same application may be assigned multiple random codes, and the random code for the same application may be the same for different users.
[0083] In one embodiment, the method further comprises the following steps:
[0084] The network slice selection function network elements in different areas are used to perform logical slicing of user plane function network elements;
[0085] The sending of the first random code sequence to the user function network element comprises the following steps:
[0086] The network slice selection function network element in each area sends the first random code sequence to the user plane function network element of the logical area under its management.
[0087] For example, logical partition management of UPF is performed for NSSFs in areas 1 and 2 (since it is a logical partition, normal signaling communication can be carried out even if NSSF and UPF do not belong to the same logical area, rather than a physical partition). Ensure that the NSSF and UPF partitioning rules comply with the following correspondence: one NSSF can correspond to at least one or more UPFs, and each UPF can only belong to one NSSF. Therefore, a new data bit can be added after the UPF number, which represents the NSSF logical area to which the UPF belongs.
[0088] When NSSF updates the random code assigned to the application, NSSF sends the random code to the UPF in the logical area, and the storage unit or supporting MEC on the UPF completes the update of the random code.
[0089] Among them, the terminal initiates a slice session request to the network, and SMF selects PDU according to the session type. SMF sends a slice session request to AMF.<Namf_Communication_N1N2MessageTransfer> When the selected PDU number is sent, the AMF is informed of the selected PDU number. The AMF then forwards these messages to the gNB and the terminal. The terminal's newly added management unit monitors the logical area of the PDU it accesses: whether the logical area where the PDU is located belongs to the old NSSF area, that is, whether the newly added data bit of the PDU number has changed. If it has changed, that is, the session PDU carried by the terminal in this slice logically belongs to the new NSSF, then the terminal reports to the AMF and NSSF, requesting a broadcast message to be sent to the terminal, sending the random code allocated by the new logical area NSSF to the terminal. If the newly added data bit of the PDU number has not changed, it means that the logical ownership of the session PDU carried by the terminal in this slice has not changed, and then the NSSF does not need to re-send the allocated random code to the terminal.
[0090] In one embodiment, the method further comprises the following steps:
[0091] The first random code sequence is updated based on the location information of the own network element and a preset time period.
[0092] In order to further improve the security of the random code, the random code setting update principle in this embodiment is: NSSF refreshes the random code according to two factors: geographical location and time. For example, the NSSF of area one and the NSSF of area two allocate different random codes to the same application carried by the same slice, and the refresh time period of each area can be different.
[0093] Please refer to Figure 3 , Figure 3 A flow chart of a slice routing rule anti-tampering method provided in an embodiment of the present disclosure is applied to a user plane functional network element, and the method includes steps S301-S304.
[0094] In step S301, a first random code sequence sent by a network slice selection function network element is received, wherein the first random code sequence is formed by first random codes allocated by the network slice selection function network element to each application corresponding to each network slice;
[0095] In step S302, after the terminal initiates a slice session establishment request to the core network, a first random code of a first application program capable of using the slice is received from the terminal;
[0096] In step S303, it is verified whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection function network element. If it is not in the first random code sequence, it means that the first random code sent by the network slice selection function network element received by the user plane function network element and the first random code sent by the terminal are verified to be inconsistent, then step S304 is executed. If they are in the first random code sequence, the process is terminated and the slice session proceeds normally.
[0097] In step S304, the slicing session is prevented from proceeding.
[0098] In one embodiment, the receiving terminal sends a first random code for a first application capable of using the slice, comprising the following steps:
[0099] receiving an uplink data packet of the first application sent by the terminal, wherein the terminal inserts a first random code of the first application into a preset position of the uplink data packet of the first application; and
[0100] A first random code of the first application is obtained from an uplink data packet of the first application.
[0101] In one embodiment, after verifying whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection function network element, the method further includes:
[0102] If it is in the first random code sequence, obtaining the DN server address to which the uplink data packet of the first application is directed;
[0103] Obtaining a set of DN server addresses pointed to by a data packet containing a random code identical to the first random code of the first application in the historical record;
[0104] Determine whether the DN server address exists in the DN server address set. If not, prevent the slice session from proceeding.
[0105] Among them, the DN server address set can not only include the set to which the DN server address pointed by the data packet containing the random code in this UPF belongs, but also include the set to which the DN server address pointed by the data packet containing the same random code in other UPF nodes in the NSSF logical area belongs.
[0106] It should be noted that the above process of this embodiment has been described in detail in the corresponding parts of the aforementioned other embodiments and will not be repeated here.
[0107] For further understanding, please refer to Figure 4 , Figure 4 Another method for preventing tampering of slice routing rules provided in the embodiments of the present disclosure includes the following steps:
[0108] 1. Before establishing a slice bearer session, configure the terminal:
[0109] S401. In the core network NSSF network element, a random code is allocated to each application corresponding to the network slice with the slice identifier NSSAI-1; a random code is allocated to each application corresponding to NSSAI-2; and so on. That is, within the same PLMN network, each application served by a slice has a random code. The same application may be allocated multiple random codes, and the random code of the same application for different users may be the same.
[0110] Among them, in order to improve the security of the random code, it is necessary to set an update principle for the random code in step 1: NSSF refreshes the random code according to two factors: geographical location and time. For example, the NSSF of area 1 and the NSSF of area 2 allocate different random codes to the same application carried by the same slice, and the refresh time period of each area can be different.
[0111] S402. Perform logical partition management of UPFs for NSSFs in areas 1 and 2 (since this is a logical partition, normal signaling communication can still be performed between the NSSF and UPF even if they do not belong to the same logical area, rather than a physical partition). Ensure that the NSSF and UPF partitioning rules conform to the following correspondence: one NSSF can correspond to at least one or more UPFs, and each UPF can only belong to one NSSF. Therefore, a data bit can be added after the UPF number, which represents the NSSF logical area to which the UPF belongs.
[0112] S403: After the NSSF updates the random code assigned to the application, it sends the random code to the UPF in the logical area. The storage unit or the supporting MEC on the UPF completes the random code update. At the same time, S404: NSSF sends the random code to the terminal.
[0113] S405. The terminal initiates a slice session request to the network; S406. SMF selects UPF based on the session type.
[0114] S407, SMF transmits UPF selection information to AMF.<Namf_Communication_N1N2MessageTransfer> At the same time, the selected UPF number is informed to the AMF. S408, the AMF then forwards these messages to the gNB and the terminal.
[0115] S409. The terminal's newly added management unit monitors the logical area of its access UPF: whether the logical area where the PDU is located belongs to the old NSSF area, that is, whether the newly added data bit of the UPF number has changed. If it has changed, execute step S410. If the newly added data bit of the UPF number has not changed, it means that the logical ownership of the session UPF carried by the terminal's current slice has not changed, then NSSF does not need to re-send the allocated random code to the terminal.
[0116] S410. The session UPF logic carried by the terminal in this slice belongs to the new NSSF, so the terminal reports to AMF and NSSF.
[0117] S411 , NSSF requests to send a broadcast message to the terminal, and sends the random code allocated by NSSF in the new logical area to the terminal.
[0118] This is scalable. If the terminal has already connected to a slice (up to 8 slices can be connected simultaneously), the above steps also need to determine whether the PDU connected to the new slice belongs to the same NSSF logical area as the PDU of the existing slice. If so, there is no need to send the random code assigned by NSSF again. If not, then a request is still made to NSSF for the random code to be sent. The random code is encrypted during the process of being sent to the terminal. The terminal stores the received random code in a newly added management unit. Only the management unit has the right to decrypt it. Other applications cannot directly retrieve the random code or decrypt it through the newly added management unit.
[0119] S412. To ensure compatibility between the APP ID of the slicing strategy URSP and the application and network slices, the APP ID of the URSP in the network-side PCF\NSSF is uniformly fixed. For example, the WeChat APP ID is fixed to 010101. In related technology, the terminal directly uses 010101 as the APP ID. To prevent other applications from misappropriating or tampering with the APP ID in the terminal-side URSP when using slicing services, the terminal side will also establish an APP-ID relationship mapping table to avoid directly using the APP-ID plaintext in the slicing strategy URSP. Since the physical storage location of APK / APP will not be repeated, the application's physical ROM storage area location in the terminal is used as the identifier of the APP ID in the URSP. For example, the storage address of WeChat in the terminal's ROM area is H012F0023. Therefore, whenever the URSP is called, a mapping relationship table is established between H012F0023 and 010101, and H012F0023 is used instead of directly using 010101.
[0120] S413. To further improve the security of application storage address management, the mapping relationship list can be managed in a distributed manner. Whenever a new application is downloaded to the terminal, the new application sends its ROM storage address to all other applications. If an application is uninstalled, the other applications will be notified and the physical storage address of the application to be uninstalled will be cleared. Thus, each application will record the physical storage addresses of all other applications, preventing malicious programs from using their own application ID or physical storage address.
[0121] 2. When establishing a slice bearer session, verify whether the application has the risk of tampering with the APP ID and stealing a slice service:
[0122] S414. After the terminal initiates a slice registration request to the core network, after the core network receives the slice registration request, the PCF returns the appropriate URSP (UE routing policy) and NSSAI (slice identification) rules to the terminal.
[0123] S415. After the terminal obtains the APP ID (assumed to be 000111) of the "traffic descriptor" in the slice URSP, the newly added management unit calls the mapping relationship table from the terminal's application.
[0124] S416: Verify whether the physical addresses and APP IDs in the N mapping table relationship lists in the mapping relationship table are consistent:
[0125] a. The terminal's newly added management unit will randomly or according to specific rules select N applications, and these N applications will report their stored mapping relationship lists to the newly added management unit.
[0126] b. A new management unit determines whether the physical addresses and APP IDs in the N mapping relationship lists are consistent, and no two physical addresses or APP IDs are the same.
[0127] c. By adding a new management unit through the above steps, it can be determined that only applications with a fixed physical storage address (assuming it is FF0110A78) in the terminal meet the URSP rules issued by the network and can use the network slice numbered NSSAI. This verifies the application from the terminal side, avoiding the risk of matching applications with URSP\NSSAI based solely on the App ID.
[0128] S417. After successful slice registration, the terminal initiates a PDU session establishment request based on the slice to the core network. The terminal's new management unit retrieves the random code assigned by the core network element NSSF to application 000111. To prevent the random code from being stolen by other applications during transmission, the terminal's new management unit does not directly send the random code to the application. Instead, after the PDU session is successfully established (i.e., after the terminal receives the IP address configuration sent by the core network), the new management unit inserts the random code corresponding to the application into the header or a specific location of the uplink data packet of the application with the physical storage address FF0110A78. To reduce signaling overhead and avoid resource waste, not all uplink data packets with the random code inserted need to be overwritten. To enable the UPF in the next step to quickly locate the data packet with the random code inserted, an identification bit can be added when the random code is inserted. For example, a 1 indicates that the uplink data packet has the random code added, while a 0 indicates that the random code has not been added.
[0129] S418. Send the application's uplink data packet to the core network.
[0130] S419. After receiving the uplink data packet of the session, the UPF performs random code verification on the data packet with the identification bit set to 1:
[0131] a. Obtain the random code in the packet header or a specific location, as well as the DN server address that the packet points to.
[0132] b. Since the random code stored in the UPF and the random code carried in the terminal's uplink data packet are consistent, the UPF can compare the set of DN server addresses pointed to by data packets containing the same random code in the historical records to see if it contains the DN server address. If not, the UPF will continue to search for the set of DN server addresses pointed to by data packets containing the same random code in other UPF nodes within the NSSF logical area to see if it contains the DN server address. The UPF search method for the same NSSF logical area will not be repeated here.
[0133] If the UPF verifies that the DN servers pointed to by the data packets containing the same verification code belong to the same address set, then the session can continue and the slice service can continue to carry the application. If the UPF verifies that the data packet containing the verification code does not belong to the DN server set pointed to by other data packets, then the UPF will initiate an interception process and prompt the SMF that the session cannot proceed normally.
[0134] Based on the same technical concept, the embodiment of the present disclosure also provides a terminal, such as Figure 5 As shown, the terminal 50 includes a memory 51 and a processor 52, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes the slice routing rule anti-tampering method.
[0135] Based on the same technical concept, the embodiment of the present disclosure also provides a network slice selection function network element, such as Figure 6 As shown, the network slice selection function network element 60 includes a memory 61 and a processor 62. The memory 61 stores a computer program. When the processor 62 runs the computer program stored in the memory, the processor 62 executes the other slice routing rule anti-tampering method.
[0136] Based on the same technical concept, the embodiment of the present disclosure also provides a user plane function network element, such as Figure 7 As shown, the user plane functional network element includes a memory 71 and a processor 72, and a computer program is stored in the memory 71. When the processor 72 runs the computer program stored in the memory 71, the processor 72 executes another slice routing rule anti-tampering method.
[0137] Based on the same technical concept, the embodiment of the present disclosure also corresponds to a computer-readable storage medium on which a computer program is stored, characterized in that when the computer program is executed by a processor, the processor executes the one slice routing rule anti-tampering method, the another slice routing rule anti-tampering method, or the yet another slice routing rule anti-tampering method.
[0138] In summary, the embodiments of the present disclosure include at least the following beneficial effects: 1) The terminal uses the fixed physical storage address (uniqueness) of APK / APP as the identifier of the APP ID in URSP, and stores these identifiers in a distributed manner. All applications store the storage locations of other applications, making it more difficult to tamper with the identifier, thereby preventing a certain application from tampering with the identifier; 2) The UPF area managed by NSSF is logically partitioned, and the same set of random codes is issued to the terminals and UPFs entering the logical area. Each random code serves a certain application of a certain slice. The terminal adds a random code to the data packet of the application, and the UPF determines the routing direction of the application data packet carried by this slice. If the route points to the DN address set with the same random code in the historical record, it proves that the application has not stolen the slice service.
[0139] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media generally embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0140] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A method for preventing tampering of slice routing rules, characterized in that: Applicable to network slice selection function network elements, including: Allocating a respective first random code to each application corresponding to each network slice to form a first random code sequence; and The first random code sequence is sent down to the user plane functional network element and the terminal respectively, so that after the terminal initiates a slice session establishment request to the core network, the user plane functional network element verifies whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection functional network element. If not, the slice session is prevented from proceeding.
2. The method according to claim 1, characterized in that Also includes: The network slice selection function network elements in different areas are used to perform logical slicing of user plane function network elements; The sending the first random code sequence to the user function network element includes: The network slice selection function network element in each area sends the first random code sequence to the user plane function network element of the logical area under its management.
3. The method according to claim 1, characterized in that Also includes: The first random code sequence is updated based on the location information of the own network element and a preset time period.
4. A method for preventing tampering of slice routing rules, characterized in that: Applicable to user plane functional network elements, including: Receiving a first random code sequence sent by a network slice selection function network element, wherein the first random code sequence is formed by first random codes respectively allocated by the network slice selection function network element to each application corresponding to each network slice; After the terminal initiates a slice session establishment request to the core network, receiving a first random code of a first application program that can use the slice sent by the terminal; Verify whether the first random code of the first application program that can use the slice sent by the terminal is in the first random code sequence sent by the network slice selection function network element; If it is not in the first random code sequence, the slice session is prevented from proceeding.
5. The method according to claim 4, characterized in that The first random code of the first application program capable of using the slice, sent by the receiving terminal, includes: receiving an uplink data packet of the first application sent by the terminal, wherein the terminal inserts a first random code of the first application into a preset position of the uplink data packet of the first application; and A first random code of the first application is obtained from an uplink data packet of the first application.
6. The method according to claim 5, characterized in that After verifying whether the first random code of the first application program capable of using the slice sent by the terminal is in the first random code sequence sent by the network slice selection function network element, the method further includes: If it is in the first random code sequence, obtaining the DN server address to which the uplink data packet of the first application is directed; Obtaining a set of DN server addresses pointed to by a data packet containing a random code identical to the first random code of the first application in the historical record; Determine whether the DN server address exists in the DN server address set. If not, prevent the slice session from proceeding.
7. A network slice selection function network element, characterized in that: It includes a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes the slice routing rule anti-tampering method according to any one of claims 1 to 3.
8. A user plane functional network element, characterized in that: It includes a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes the slice routing rule tamper-proofing method according to any one of claims 4 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the processor executes the slice routing rule anti-tampering method according to any one of claims 1 to 3, or the slice routing rule anti-tampering method according to any one of claims 4 to 6.
Citation Information
Patent Citations
Network slice selection method, terminal equipment and network equipment
CN106572516A
JS resource encryption transmission method and device, server and storage medium
CN111447206A