Communication method, communication apparatus, and communication system
By using the session root key to deduce the intermediate key and counter at the splitting node, combined with security algorithms, the problem of insufficient security of user plane data between terminal devices and multiple user plane anchor points in the splitting scenario is solved, achieving end-to-end security protection, reducing the security risks of access network devices and saving resources.
Patent Information
- Application Number
- PCT/CN2025/104113
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2025-06-26
- Publication Date
- 2026-01-22
AI Technical Summary
In traffic offloading scenarios, user plane data between terminal devices and multiple user plane anchor points is vulnerable to near-end probing and physical attacks at the access network equipment. Existing security mechanisms pose a risk of plaintext data exposure, resulting in insufficient security.
By using the session root key to derive the first intermediate key at the splitting node, combined with a counter and a security algorithm, security protection of user plane data between the terminal device and multiple user plane anchors is achieved. This includes encryption and integrity protection of the first user plane data transmitted between the terminal device and the first user plane anchor, and the second user plane data transmitted between the terminal device and the second user plane anchor.
It achieves end-to-end security protection for user plane data between terminal devices and multiple user plane anchor points in traffic offloading scenarios, reducing security risks of access network devices, saving resource consumption, and ensuring the security and integrity of data transmission.
Smart Images

Figure CN2025104113_22012026_PF_FP_ABST
Abstract
Description
A communication method, communication device and communication system
[0001] Cross-references to related applications
[0002] This application claims priority to Chinese Patent Application No. 202410980666.1, filed on July 19, 2024, entitled "A Communication Method, Communication Device and Communication System", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communication technology, and in particular to a communication method, communication device and communication system. Background Technology
[0004] In current mobile communication networks, user plane data sent by terminal devices is transmitted to user plane network elements through access network equipment. This user plane data is protected during transmission through a hop-by-hop security mechanism. Specifically:
[0005] (1) Regarding the transmission of user plane data between the terminal device and the access network device, in the uplink direction, the terminal device sends encrypted and / or integrity-protected user plane data to the access network device, and the access network device uses a decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data; in the downlink direction, the access network device sends encrypted and / or integrity-protected user plane data to the terminal device, and the terminal device uses a decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data.
[0006] (2) For the transmission of user plane data between the access network device and the user plane network element, the access network device and the user plane network element (or the front-end security gateway of the user plane network element) establish Internet Protocol Security (IPsec) to encrypt and / or protect the user plane data transmitted in the General Packet Radio Service (GPRS) tunneling protocol user plane (GTP-U) tunnel. In the uplink direction, the access network device sends encrypted and / or integrity-protected user plane data to the user plane network element, and the user plane network element uses the decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data; in the downlink direction, the user plane network element sends encrypted and / or integrity-protected user plane data to the access network device, and the access network device uses the decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data.
[0007] Therefore, uplink user plane data sent by terminal devices needs to be decrypted and then encrypted again at the access network equipment before being transmitted to user plane network elements. In other words, uplink user plane data sent by terminal devices appears in plaintext form at some stage at the access network equipment. Similarly, downlink user plane data from user plane network elements needs to be decrypted and then encrypted again at the access network equipment before being transmitted to terminal devices. This means that downlink user plane data sent by user plane network elements also appears in plaintext form at some stage at the access network equipment. Because access network equipment is deployed at a lower location—relative to the core network in the core equipment room—and is mainly deployed in outdoor environments, it is more vulnerable to near-end probing and physical attacks.
[0008] In 5G and future communication systems, certain service flows within a Protocol Data Unit (PDU) session can be offloaded to local routes via traffic offloading. This offloading method can be implemented by inserting offloading nodes into the user plane path of the PDU session. These offloading nodes are used to offload service flows between the terminal device and multiple user plane anchor points. These offloading nodes can be branching points (BPs) or uplink classifiers (ULCLs).
[0009] Security solutions for traffic splitting scenarios are worth studying. Summary of the Invention
[0010] This application provides a communication method, communication device, and communication system to achieve secure protection of user plane data between terminal devices and multiple user plane network elements in a traffic splitting scenario.
[0011] In a first aspect, embodiments of this application provide a communication method that can be applied to the network side, such as a session management network element, a module (e.g., a circuit, chip, or chip system) within the session management network element, or a logical node, logical module, or software capable of implementing all or part of the session management network element functions. The method includes: determining a first intermediate key based on a session root key of a first session of a terminal device; the first intermediate key is used to deduce a first session key; the first session key is used to protect first user plane data and second user plane data of the first session during transmission between the terminal device and a distribution node; the first user plane data is transmitted to a first user plane anchor point through the distribution node; and the second user plane data is transmitted to a second user plane anchor point through the distribution node; and sending the first intermediate key or the first session key to the distribution node.
[0012] In the above scheme, during the traffic splitting scenario, a first session key or a first intermediate key used to determine the first session key is sent to the splitting node. This allows the splitting node to obtain the first session key. During transmission between the terminal device and the splitting node, the first user plane data and the second user plane data of the first session are protected based on the first session key. The first user plane data is transmitted to the first user plane anchor point through the splitting node, and the second user plane data is transmitted to the second user plane anchor point through the splitting node. That is, when the terminal device transmits the first user plane data of the first session through the splitting node to the first user plane anchor point, the first user plane data is protected by the first session key during transmission between the terminal device and the splitting node. Similarly, when the terminal device transmits the second user plane data of the first session through the splitting node to the second user plane anchor point, the second user plane data is protected by the first session key during transmission between the terminal device and the splitting node. Therefore, this scheme can achieve secure protection of user plane data between the terminal device and multiple user plane anchor points in the traffic splitting scenario.
[0013] In one possible implementation, determining the first intermediate key based on the session root key of the first session of the terminal device includes: determining the first intermediate key based on the session root key, and a first counter and / or a second counter; wherein the first counter is used to record the number of times the intermediate key is derived for the first session, and the second counter is used to record the number of data packets that have been transmitted in the first session.
[0014] The above scheme uses a first counter and / or a second counter to determine the first intermediate key, which can accurately determine the intermediate key. Moreover, the method is simple to implement and has low complexity.
[0015] In one possible implementation, a request message is sent to the first user plane anchor point, the request message being used to request the acquisition of the second counter; and the second counter is received from the first user plane anchor point.
[0016] The above scheme, in which the second counter is maintained by the first user plane anchor point, can accurately determine the value of the second counter, which helps to improve the accuracy of using the second counter to determine the intermediate key.
[0017] In one possible implementation, the first session key is derived from the first intermediate key and a first security algorithm, the first security algorithm including a first confidentiality protection algorithm and / or a first integrity protection algorithm.
[0018] In one possible implementation, the user plane security capabilities of the terminal device are obtained, the user plane security capabilities being used to indicate the user plane security algorithms supported by the terminal device; and the first security algorithm is obtained based on the security capabilities of the terminal device.
[0019] The above scheme determines the first security algorithm based on the user plane security capabilities of the terminal device, which helps to accurately determine the security algorithm.
[0020] In one possible implementation, obtaining the first security algorithm based on the security capabilities of the terminal device includes: sending the user plane security capabilities to the traffic splitting node; receiving the first security algorithm from the traffic splitting node, wherein the user plane security algorithms supported by the terminal device include the first security algorithm.
[0021] The above scheme, in which the first security algorithm is determined by the traffic splitting node, helps to select a suitable security algorithm for the traffic splitting node.
[0022] In one possible implementation, the first security algorithm is determined according to a second security algorithm, wherein the second security algorithm is used to protect the third user plane data of the first session between the terminal device and the first user plane anchor.
[0023] The above scheme uses the second security algorithm that has already been used as the first security algorithm. That is, the determined first security algorithm is the same as the second security algorithm that has been used. This can reduce the complexity of determining the security algorithm and help reduce computational overhead.
[0024] In one possible implementation, a second intermediate key is determined based on the session root key. The second intermediate key is used to deduce a second session key. The second session key is used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor. The second intermediate key or the second session key is then sent to the first user plane anchor.
[0025] The above scheme uses a second session key to protect the third user plane data of the first session during the transmission process between the terminal device and the first user plane anchor point before inserting the splitter node, which can achieve end-to-end security protection for the user plane data between the terminal device and the first user plane anchor point.
[0026] In one possible implementation, the second session key is derived from the second intermediate key and the second security algorithm, which includes a second confidentiality protection algorithm and / or a second integrity protection algorithm.
[0027] In one possible implementation, the user plane security capabilities of the terminal device are obtained, the user plane security capabilities being used to indicate the user plane security algorithms supported by the terminal device; and the second security algorithm is obtained based on the security capabilities of the terminal device.
[0028] The above scheme determines the second security algorithm based on the user plane security capabilities of the terminal device, which helps to accurately determine the security algorithm.
[0029] In one possible implementation, obtaining the second security algorithm based on the security capabilities of the terminal device includes: sending the user plane security capabilities to the first user plane anchor point; and receiving the second security algorithm from the first user plane anchor point, wherein the user plane security algorithms supported by the terminal device include the second security algorithm.
[0030] The above scheme, which determines the second security algorithm based on the first user plane anchor point, helps to select a suitable security algorithm for the first user plane anchor point.
[0031] In one possible implementation, a first indication message is sent to the first user plane anchor point, the first indication message being used to indicate that the downlink user plane data of the first session is not protected by security.
[0032] The above scheme instructs the first user plane anchor point not to perform security protection on the downlink user plane data of the first session through the first instruction information. This ensures the security of the user plane data of the first session while also saving resource overhead. This is because the deployment location of the traffic splitter and the first user plane anchor point is generally located in the core data center, where the security is high. Therefore, even if the user plane data is not protected during data transmission between the first user plane anchor point and the traffic splitter, it is generally safe. Thus, not protecting the user plane data of the first session transmitted between the first user plane anchor point and the traffic splitter will not reduce security and saves the additional resource overhead caused by security protection.
[0033] In one possible implementation, a second indication message is sent to the second user plane anchor point, the second indication message being used to indicate that the downlink user plane data of the first session is not protected by security.
[0034] The above scheme instructs the second user plane anchor point not to perform security protection on the downlink user plane data of the first session through the second instruction information. This ensures the security of the user plane data of the first session while also saving resource overhead. This is because the deployment locations of the offloading node and the second user plane anchor point are generally located in the core data center, where security is high. Therefore, even if the user plane data is not protected during data transmission between the second user plane anchor point and the offloading node, it is generally safe. Thus, not protecting the user plane data of the first session transmitted between the second user plane anchor point and the offloading node does not reduce security and saves the additional resource overhead caused by security protection.
[0035] In one possible implementation, determining the first intermediate key based on the session root key of the first session of the terminal device includes: determining the first intermediate key based on the session root key if it is determined that no information from the home session management network element has been received.
[0036] In one possible implementation, determining the first intermediate key based on the session root key of the first session of the terminal device includes: determining the first intermediate key based on the session root key when it is determined that user plane data of the first session will be split.
[0037] The above scheme determines the first intermediate key based on the session root key when it is determined that the user plane data of the first session will be split. This avoids wasting computing resources by determining the first intermediate key when splitting is not required, and thus helps to reduce resource overhead.
[0038] Secondly, embodiments of this application provide a communication method that can be applied to a terminal device, such as a terminal device or a communication module within a terminal device, or a circuit or chip (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip) responsible for communication functions within the terminal device. The method includes: determining a first intermediate key based on a session root key of a first session of the terminal device; and deriving a first session key based on the first intermediate key. The first session key is used to protect first user plane data and second user plane data of the first session during transmission between the terminal device and a splitter node. The first user plane data is transmitted to a first user plane anchor point through the splitter node, and the second user plane data is transmitted to a second user plane anchor point through the splitter node.
[0039] In the above scheme, during the traffic splitting scenario, the terminal device obtains a first session key. During transmission between the terminal device and the splitting node, the first user plane data and the second user plane data of the first session are protected based on the first session key. The first user plane data is transmitted to the first user plane anchor point via the splitting node, and the second user plane data is transmitted to the second user plane anchor point via the splitting node. That is, when the terminal device transmits the first user plane data of the first session between the first user plane anchor point and the splitting node, the first user plane data is protected by the first session key during transmission between the terminal device and the splitting node. Similarly, when the terminal device transmits the second user plane data of the first session between the first user plane anchor point and the splitting node, the second user plane data is protected by the first session key during transmission between the terminal device and the splitting node. Therefore, this scheme can achieve secure protection of user plane data between the terminal device and multiple user plane anchor points in a traffic splitting scenario.
[0040] In one possible implementation, determining the first intermediate key based on the session root key of the first session of the terminal device includes: determining the first intermediate key based on the session root key, and a first counter and / or a second counter; wherein the first counter is used to record the number of times the intermediate key is derived for the first session, and the second counter is used to record the number of data packets that have been transmitted in the first session.
[0041] The above scheme uses a first counter and / or a second counter to determine the first intermediate key, which can accurately determine the intermediate key. Moreover, the method is simple to implement and has low complexity.
[0042] In one possible implementation, the step of deriving the first session key based on the first intermediate key includes: deriving the first session key based on the first intermediate key and a first security algorithm, wherein the first security algorithm includes a first confidentiality protection algorithm and / or a first integrity protection algorithm.
[0043] In one possible implementation, the first security algorithm is received from the session management network element; or, the first security algorithm is received from the traffic splitting node.
[0044] The above scheme involves the session management network element or the traffic splitting node instructing the terminal device on the first security algorithm used to deduce the first session key. This enables the terminal device to accurately determine the first security algorithm used to deduce the first session key, which helps ensure that the terminal device deduces the same first session key as the network side, thereby facilitating proper security protection.
[0045] In one possible implementation, a second intermediate key is determined based on the session root key; a second session key is derived based on the second intermediate key, the second session key being used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor.
[0046] The above scheme uses a second session key to protect the third user plane data of the first session during the transmission process between the terminal device and the first user plane anchor point before inserting the splitter node, which can achieve end-to-end security protection for the user plane data between the terminal device and the first user plane anchor point.
[0047] In one possible implementation, the step of deriving the second session key based on the second intermediate key includes: deriving the second session key based on the second intermediate key and a second security algorithm, wherein the second security algorithm includes a second confidentiality protection algorithm and / or a second integrity protection algorithm.
[0048] In one possible implementation, the second security algorithm is received from the session management network element; or, the second security algorithm is received from the first user plane anchor point.
[0049] The above scheme involves the session management network element or the first user plane anchor point instructing the terminal device on the second security algorithm used to deduce the second session key. This enables the terminal device to accurately determine the second security algorithm used to deduce the second session key, which helps ensure that the terminal device deduces the same second session key as the network side, thereby facilitating proper security protection.
[0050] In one possible implementation, the first user plane data of the first session is securely processed based on the first session key, and the securely processed first user plane data of the first session is sent, wherein the header of the securely processed first user plane data of the first session carries information about the first user plane anchor point; the second user plane data of the first session is securely processed based on the first session key, and the securely processed second user plane data of the first session is sent, wherein the header of the securely processed second user plane data of the first session carries information about the second user plane anchor point.
[0051] In the above scheme, when the terminal device sends the first user plane data of the first session, which is protected by security, to the first user plane anchor point, it can carry the information of the first user plane anchor point in the first user plane data. This allows the routing node to route the first user plane data to the first user plane anchor point based on this information. Similarly, when the terminal device sends the second user plane data of the first session, which is protected by security, to the second user plane anchor point, it can carry the information of the second user plane anchor point in the second user plane data. This allows the routing node to route the second user plane data to the second user plane anchor point based on this information. Therefore, this method, based on the information of the first and second user plane anchor points, can route the user plane data of the first session sent by the terminal device to the correct user plane anchor point.
[0052] Thirdly, this application provides a communication device that has the functions of the first aspect above. For example, the communication device includes modules, units or means corresponding to the operations involved in the first aspect above. The modules, units or means can be implemented by software, or by hardware, or by a combination of software and hardware.
[0053] Fourthly, this application provides a communication device that has the functions of the second aspect above. For example, the communication device includes modules, units or means corresponding to the operations involved in the second aspect above. The modules, units or means can be implemented by software, hardware or a combination of software and hardware.
[0054] Fifthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the first aspect. The one or more processors can execute the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the first aspect. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.
[0055] The aforementioned communication device may be a session management network element, a module (e.g., a circuit, chip, or chip system) within a session management network element, or a logical node, logical module, or software capable of implementing all or part of the functions of a session management network element.
[0056] Sixthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the second aspect above. The one or more processors are executable to carry out the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the second aspect above. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.
[0057] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.
[0058] In one possible design, the communication device may also include the memory.
[0059] The aforementioned communication device may be a terminal device, a communication module in a terminal device, or a chip in a terminal device that is responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip that contains a modem module.
[0060] In a seventh aspect, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the method in any of the possible designs of the first to second aspects described above.
[0061] Eighthly, this application provides a computer program product comprising a computer program or instructions that, when executed, implement the method in any of the possible designs of the first to second aspects described above.
[0062] Ninthly, this application provides a communication system including at least two devices: a session management network element, a first user plane anchor point, a second user plane anchor point, a terminal device, and a traffic splitting node.
[0063] This session management network element is used to execute any of the possible implementation methods of the first aspect described above.
[0064] The first user plane anchor point is used to send or receive user plane data of the first session between the terminal device and the first user plane anchor point.
[0065] The second user plane anchor point is used to send or receive user plane data of the first session between the terminal device and the second user plane anchor point.
[0066] The terminal device is used to execute any of the possible implementation methods of the second aspect described above.
[0067] This branch node is used to receive the first intermediate key or the first session key from the session management network element.
[0068] In one possible implementation, the splitter node is also used to deduce the first session key based on the first intermediate key and the first security algorithm upon receiving the first intermediate key. Attached Figure Description
[0069] Figure 1 is a schematic diagram of a 5G network architecture based on a service-oriented architecture;
[0070] Figure 2 is a schematic diagram of the business flow splitting;
[0071] Figure 3(a) is a flowchart illustrating a communication method provided in an embodiment of this application;
[0072] Figure 3(b) is a flowchart illustrating a communication method provided in an embodiment of this application;
[0073] Figure 4 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0074] Figure 5 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0075] Figure 6 is a possible exemplary block diagram of the communication device involved in the embodiments of this application;
[0076] Figure 7 is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation
[0077] To address the challenges of wireless broadband technology and maintain the leading edge of the 3rd Generation Partnership Project (3GPP) network, the 3GPP standards group has developed a 5G network architecture. This architecture not only supports access to the 5G core network (CN) using radio access technologies defined by the 3GPP standards group (such as Long Term Evolution (LTE) and 5G Radio Access Network (RAN) technologies), but also supports access to the core network using non-3GPP access technologies through non-3GPP interworking functions (N3IWF) or next-generation packet data gateways (ngPDG).
[0078] Figure 1 is a schematic diagram of a service-oriented architecture-based 5G network. The 5G network architecture shown in Figure 1 may include access network equipment and core network equipment. Terminal devices access the data network (DN) through access network equipment and core network equipment. The core network equipment includes, but is not limited to, some or all of the following network elements: authentication server function (AUSF) network element, unified data management (UDM) network element, unified data repository (UDR) network element, network repository function (NRF) network element, network exposure function (NEF) network element, application function (AF) network element, policy control function (PCF) network element, access and mobility management function (AMF) network element, session management function (SMF) network element, and user plane function (UPF) network element.
[0079] Access network equipment, sometimes also called RAN nodes, RAN entities, or access nodes, is used to help terminal equipment achieve wireless access.
[0080] In one possible scenario, the access network device can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system. The access network device can be a macro base station, a micro base station, an indoor station, a relay node, or a donor node. Optionally, the access network device can also be a server, a wearable device, a vehicle, or an in-vehicle device. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the access network device in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The access network device can also be equipped with communication modules, circuits, or chips that perform corresponding communication functions. The access network device can also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The access network device in this application may also be a logical node, logical module, or software that can implement all or part of the functions of the access network device.
[0081] In another possible scenario, multiple access network devices collaborate to assist terminal devices in achieving wireless access, with each access network device performing a portion of the base station's functions. For example, the access network devices can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and DU can be configured separately or included in the same network element, such as a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).
[0082] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open radio access network (ORAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through a software module, a hardware module, or a combination of software and hardware modules.
[0083] Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, transportation vehicles with wireless communication capabilities, communication modules, etc. The embodiments of this application do not limit the device form of the terminal device. Terminal devices typically contain communication modules, circuits, or chips that perform corresponding communication functions. Terminal devices can also be configured with program instructions for performing corresponding communication functions.
[0084] Access network equipment and terminal equipment can be fixed or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed in the air on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the access network equipment and terminal equipment.
[0085] The AMF (Automatic Mobility Management) network element includes functions such as performing mobility management or access authentication / authorization. In addition, it is responsible for transmitting user policies between terminal devices and the PCF (Programmable Default Function) network element.
[0086] SMF network elements include functions such as performing session management, executing control policies issued by PCF network elements, selecting UPF network elements, or allocating Internet Protocol (IP) addresses to terminal devices.
[0087] UPF network elements include functions such as user plane data forwarding, session / flow-level billing statistics, and bandwidth limiting.
[0088] UDM network elements include functions such as managing contracted data or authorizing user access.
[0089] UDR includes functions for accessing data of various types, such as contract data, policy data, or application data.
[0090] NEF network elements are used to support the opening of capabilities and events, enabling third parties to indirectly interact with certain network elements within the 3GPP network.
[0091] AF (Application Provider) network elements convey application-side requests to the network side, such as Quality of Service (QoS) requirements or user state event subscriptions. AFs can be third-party functional entities or application services deployed by operators, such as IP Multimedia Subsystem (IMS) voice call services. AF network elements include those within the core network (i.e., the operator's AFs) and third-party AFs (such as an enterprise's application server).
[0092] PCF network elements include policy control functions such as billing at the session and service flow levels, QoS bandwidth guarantee and mobility management, or terminal device policy decisions.
[0093] NRF network elements can be used to provide network element discovery functionality, providing network element information corresponding to the network element type based on requests from other network elements. NRF network elements also provide network element management services, such as network element registration, updates, deregistration, or network element status subscription and push.
[0094] The AUSF network element is responsible for authenticating users to determine whether to allow users or devices to access the network.
[0095] A Domain Provider (DN) is a network located outside of the carrier's network. A carrier's network can connect to multiple DNs, and various services can be deployed on a DN, providing data and / or voice services to terminal devices. For example, a DN might be the private network of a smart factory. Sensors installed in the workshop can act as terminal devices, and a control server for these sensors is deployed within the DN. The control server provides services to the sensors. Sensors can communicate with the control server, receive instructions from it, and transmit the collected sensor data back to the control server accordingly. Another example is a DN serving as an internal office network for a company. Employees' mobile phones or computers can act as terminal devices, accessing information and data resources on the company's internal office network.
[0096] In Figure 1, Nausf, Npcf, Nudr, Nudm, Naf, Namf, Nsmf, Nnef, and Nnrf are the service-based interfaces (SBIs) provided by AUSF, PCF, UDR, UDM, AF, AMF, SMF, NEF, and NRF, respectively, used to invoke the corresponding service-based operations. N1, N2, N3, N4, and N6 are interface sequence numbers, and their meanings are as follows:
[0097] 1) N1: The interface between the AMF network element and the terminal device, which can be used to transmit non-access stratum (NAS) signaling (such as QoS rules from the AMF network element) to the terminal device.
[0098] 2) N2: The interface between the AMF network element and the access network equipment, which can be used to transmit radio bearer control information from the core network side to the access network equipment.
[0099] 3) N3: The interface between the access network equipment and the UPF network element, mainly used to transmit uplink and downlink user plane data between the access network equipment and the UPF network element.
[0100] 4) N4: The interface between SMF network elements and UPF network elements. It can be used to transmit information between the control plane and the user plane, including the distribution of forwarding rules, QoS rules, traffic statistics rules, etc. from the control plane to the user plane, as well as the reporting of information from the user plane.
[0101] 5) N6: The interface between the UPF network element and the DN, used to transmit uplink and downlink user data streams between the UPF network element and the DN.
[0102] In the architecture shown in Figure 1, the various network functional elements are connected via a service-oriented bus and interact through service-oriented interfaces. The advantages of a service-oriented bus include improved network flexibility, openness, scalability, and intelligence, enabling support for diverse service scenarios and requirements. The service-oriented bus can be used to transmit various types of data and signaling. For example, it can be used to transmit latency-sensitive real-time signaling (e.g., service-oriented interface call signaling between network functional elements), latency-sensitive real-time data (e.g., real-time AI inference data), and non-real-time data (e.g., offline AI training data). Furthermore, when transmitting this data or signaling, the service-oriented bus couples the data or signaling together; that is, the service-oriented bus can simultaneously transmit real-time signaling, real-time data, and non-real-time data.
[0103] It should be noted that the term "network element" can be omitted when describing the above network elements (such as SMF network elements, UPF network elements, etc.). For example, an SMF network element can be abbreviated as SMF, a UPF network element as UPF, and so on. This abbreviated description is also used in Figure 1.
[0104] It is understood that the aforementioned network element or function can be a network component in a hardware device, a software function running on dedicated hardware, or a virtualized function instantiated on a platform (e.g., a cloud platform). Optionally, the aforementioned network element or function can be implemented by one device, multiple devices working together, or a functional module within a single device; this application embodiment does not specifically limit this.
[0105] The user plane network element and session management network element in this application can be the UPF network element and SMF network element shown in Figure 1, respectively, or they can be network elements in future communication networks that have the functions of the aforementioned UPF network element and SMF network element. This application does not limit them in this regard.
[0106] In current mobile communication networks, user plane data sent by terminal devices is transmitted to user plane network elements through access network equipment. This user plane data is protected during transmission through a hop-by-hop security mechanism. Specifically:
[0107] (1) Regarding the transmission of user plane data between the terminal device and the access network device, in the uplink direction, the terminal device sends encrypted and / or integrity-protected user plane data to the access network device, and the access network device uses a decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data; in the downlink direction, the access network device sends encrypted and / or integrity-protected user plane data to the terminal device, and the terminal device uses a decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data.
[0108] (2) For the transmission of user plane data between the access network device and the user plane network element, the access network device and the user plane network element (or the front-end security gateway of the user plane network element) establish an IPsec connection to encrypt and / or protect the user plane data transmitted in the GTP-U tunnel. In the uplink direction, the access network device sends encrypted and / or integrity-protected user plane data to the user plane network element, and the user plane network element uses the decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data; in the downlink direction, the user plane network element sends encrypted and / or integrity-protected user plane data to the access network device, and the access network device uses the decryption key and / or integrity protection key to decrypt and / or verify the integrity of the user plane data.
[0109] Therefore, uplink user plane data sent by terminal devices needs to be decrypted and then encrypted again at the access network equipment before being transmitted to user plane network elements. In other words, uplink user plane data sent by terminal devices appears in plaintext form at some stage at the access network equipment. Similarly, downlink user plane data from user plane network elements needs to be decrypted and then encrypted again at the access network equipment before being transmitted to terminal devices. This means that downlink user plane data sent by user plane network elements also appears in plaintext form at some stage at the access network equipment. Because access network equipment is deployed at a lower location—relative to the core network in the core equipment room—and is mainly deployed in outdoor environments, it is more vulnerable to near-end probing and physical attacks.
[0110] In future communications, in many scenarios, users and upper-layer services prefer to establish end-to-end security protection directly between terminal devices and user plane network elements. Access network devices can only forward encrypted user plane data and cannot obtain the specific content of the transmitted user plane data.
[0111] In 5G and future communication systems, certain service flows within a PDU session can be offloaded to local routes via traffic offloading. This offloading method can be implemented by inserting offloading nodes into the user plane path of the PDU session. These offloading nodes are used to offload service flows between the terminal device and multiple user plane anchor points. These offloading nodes can be BPs or ULCLs. The function of these offloading nodes can be performed by user plane network elements; that is, the offloading node can be a user plane network element or a functional unit within a user plane network element.
[0112] The difference between ULCL and BP is as follows: In the ULCL architecture, the terminal device is unaware of whether a PDU session has been inserted into ULCL, or the terminal device is unaware of the anchor point switching of user plane data. That is, before and after the insertion of ULCL, the address information (such as IP address and port number) in the uplink and downlink data packets of the terminal device's PDU session remains unchanged. In the BP architecture, the terminal device is aware of whether a PDU session has been inserted into BP, or the terminal device is aware of the anchor point switching of user plane data. That is, before and after the insertion of BP, the address information in the uplink and downlink data packets of the terminal device's PDU session will change, and the address information in data packets from different user plane network elements will be different.
[0113] Assume that the user plane network element selected when establishing a PDU session for a terminal device is user plane network element #1, also known as the PDU session anchor (PSA), hereinafter referred to as PSA#1. When there is a traffic offloading requirement, the session management network element (e.g., an SMF network element) inserts user plane network element #2 for the PDU session, hereinafter referred to as PSA#2. Then, the session management network element inserts a traffic offloading node for the PDU session. At this time, a PDU session of the terminal device has two PSAs, namely PSA#1 and PSA#2, and the traffic offloading node is used to offload traffic between PSA#1 and PSA#2. In the uplink direction, the traffic offloading node receives the uplink traffic from the terminal device and sends the uplink traffic to PSA#1 or PSA#2 according to the forwarding rules or traffic offloading rules. In the downlink direction, the traffic offloading node receives the downlink traffic from PSA#1 and PSA#2 and sends the downlink traffic to the terminal device according to the forwarding rules or traffic offloading rules.
[0114] In this application, the PSA initially selected for the PDU session of the terminal equipment is referred to as the primary PSA, primary user plane anchor point, or primary anchor point user plane network element, and the PSA inserted due to traffic offloading requirements is referred to as the secondary PSA, secondary user plane anchor point, or secondary anchor point user plane network element. The primary PSA remains unchanged during the duration of the PDU session, while the secondary PSA can be switched over.
[0115] Figure 2 illustrates the traffic splitting diagram. There are traffic flows #1 and #2 between the terminal device and the DN. In the uplink direction, there is uplink traffic flow #1 between the terminal device and PSA#1, and uplink traffic flow #2 between the terminal device and PSA#2. In the downlink direction, there is downlink traffic flow #1 between the terminal device and PSA#1, and downlink traffic flow #2 between the terminal device and PSA#2. In the uplink direction, the splitting node receives uplink traffic flow #1 and uplink traffic flow #2 from the terminal device, and sends uplink traffic flow #1 to PSA#1 and uplink traffic flow #2 to PSA#2. In the downlink direction, the splitting node receives downlink traffic flow #1 from PSA#1 and downlink traffic flow #2 from PSA#2, aggregates downlink traffic flow #1 and downlink traffic flow #2 into the N3 tunnel between the splitting node and the access network device, sends it to the access network device, and then the access network device sends it to the terminal device.
[0116] As described above, when transmitting user plane data for service flows, future communication networks require end-to-end security protection between terminal devices and user plane network elements. Based on this requirement, in service flow offloading scenarios, before inserting an offloading node, when establishing a PDU session, end-to-end security protection is first established between the terminal device and PSA#1. After inserting the offloading node, if the transmitted user plane data still uses end-to-end security protection between the terminal device and PSA#1, the offloading node will not be able to obtain the address information of the user plane data. Consequently, the offloading node cannot offload the user plane data, resulting in the inability to achieve service flow offloading.
[0117] To address the aforementioned issues, this application provides corresponding solutions.
[0118] The communication method and communication device will be further described below with reference to the accompanying drawings. It is understood that this application uses a session management network element and a terminal device as examples to illustrate the execution of the interaction, but this application does not limit the execution subject of the interaction. For example, the method executed by the session management network element in this application can also be implemented by a module (e.g., a circuit, chip, or chip system) in the session management network element, or by a logical node, logical module, or software that can implement all or part of the functions of the session management network element; similarly, the method executed by the terminal device in this application can also be implemented by a communication module in the terminal device, or by a circuit or chip (such as a modem chip (also known as a baseband chip), or a SoC chip containing a modem core, or a SIP chip) in the terminal device responsible for communication functions.
[0119] Figure 3(a) is a flowchart illustrating a communication method provided in an embodiment of this application. This method is applicable to the traffic splitting scenario of the first session. Specifically, the first session established by the terminal device corresponds to two user plane anchor points (also known as user plane network elements, anchor user plane network elements, or user plane anchor network elements, etc.), namely the first user plane anchor point and the second user plane anchor point. The user plane data of the first session between the terminal device and the first user plane anchor point, as well as the user plane data of the first session between the terminal device and the second user plane anchor point, are all routed or split by the traffic splitting node of the first session (e.g., BP or UL CL, etc.).
[0120] The first user plane anchor point is the user plane network element selected by the session management network element when the terminal device establishes the first session. This first user plane anchor point can be referred to as the primary user plane anchor point (also called the primary user plane anchor point network element or primary anchor point user plane network element). For example, referring to the example in Figure 2, the first user plane anchor point can be PSA#1 in Figure 2.
[0121] The second user plane anchor point is a new user plane network element inserted by the session management network element after the terminal device establishes the first session and the session management network element selects the first user plane anchor point, when there is a traffic splitting requirement in the first session's service flow. This second user plane anchor point can be called a secondary user plane anchor point (also known as a secondary user plane anchor point network element or secondary anchor point user plane network element). Alternatively, the second user plane anchor point can also be a user plane anchor point that replaces the secondary user plane anchor point after selecting the primary user plane anchor point and initially inserting the secondary user plane anchor point. For example, referring to the example in Figure 2, the first user plane anchor point can be PSA#1 in Figure 2, and the second user plane anchor point can be PSA#2 in Figure 2. PSA#2 can be a PSA initially inserted after selecting PSA#1, or it can be a PSA that is not initially inserted after selecting PSA#1.
[0122] The method includes the following steps:
[0123] Step 301a: The session management network element determines the first intermediate key based on the session root key of the first session of the terminal device.
[0124] The first session can be a PDU session of the terminal device or other types of sessions. This application does not limit the type of the first session.
[0125] The first session's root key is a session-level root key, meaning that each session on the terminal device has a corresponding root key.
[0126] This application does not limit the method by which the session management network element obtains the session root key of the first session. For example, the session management network element can deduce the session root key of the first session based on the identifier of the first session. Or, the session management network element can obtain the session root key of the first session from other network elements (such as UDM network elements, NRF network elements, or UDR, etc.).
[0127] The first intermediate key is used to deduce the first session key. The first session key is used to protect the first user plane data and the second user plane data of the first session during the transmission between the terminal device and the splitter node. The first user plane data is transmitted to the first user plane anchor point through the splitter node, and the second user plane data is transmitted to the second user plane anchor point through the splitter node.
[0128] For example, in the uplink direction, when a terminal device needs to send the first user plane data of the first session to the first user plane anchor point, the terminal device uses the first session key to securely protect the first user plane data. This first user plane data is sent to the offloading node via the access network device. The access network device cannot parse the first user plane data, but the offloading node can parse the first user plane data according to the first session key. Based on the information of the second user plane anchor point (such as port number and / or address) carried in the first user plane data, the offloading node knows that the first user plane data needs to be sent to the first user plane anchor point, and then sends the first user plane data to the first user plane anchor point. This first user plane data is securely protected during transmission between the terminal device and the offloading node. When the first user plane data is transmitted between the offloading node and the first user plane anchor point, it does not need to be protected at the session level. Instead, it can directly rely on node-level security protection between the first user plane anchor point and the offloading node, such as an IPsec or transport layer security (TLS) tunnel between the first user plane anchor point and the offloading node. This is because the deployment locations of the offloading node and the first user plane anchor point are generally located in the core data center, where security is relatively high.
[0129] For example, in the uplink direction, when a terminal device needs to send second user plane data of the first session to a second user plane anchor point, the terminal device uses the first session key to secure the second user plane data. This second user plane data is sent to the offloading node via the access network device. The access network device cannot parse the second user plane data, but the offloading node can parse the second user plane data based on the first session key. Based on the information of the second user plane anchor point carried in the second user plane data (e.g., port number and / or address), the offloading node determines that the second user plane data needs to be sent to the second user plane anchor point, and then sends the second user plane data to the second user plane anchor point. This second user plane data is securely protected during transmission between the terminal device and the offloading node. When the second user plane data is transmitted between the offloading node and the second user plane anchor point, it does not need to be protected at the session level. Instead, it can directly rely on node-level security protection between the second user plane anchor point and the offloading node, such as an IPsec or TLS security tunnel between the second user plane anchor point and the offloading node. This is because the deployment locations of the offloading node and the second user plane anchor point are generally located in the core data center, where security is relatively high.
[0130] For example, in the downlink direction, when the first user plane anchor needs to send third user plane data of the first session to the terminal device, the first user plane anchor sends unprotected third user plane data to the offloading node. The offloading node receives the third user plane data, uses the first session key to securely protect the data, and, based on the terminal device information (e.g., port number and / or address) carried in the data, determines that the data needs to be sent to the terminal device. It then sends the securely protected third user plane data to the terminal device via the access network device, which cannot parse this data. This third user plane data is securely protected during transmission between the offloading node and the terminal device. It should be noted that since the offloading node and the first user plane anchor are generally deployed in the core data center, where security is high, even if session-level security protection is not applied during data transmission between the first user plane anchor and the offloading node, and security is directly guaranteed by node-level security protection between them.
[0131] For example, in the downlink direction, when the second user plane anchor needs to send fourth user plane data of the first session to the terminal device, the second user plane anchor sends the unprotected fourth user plane data to the offloading node. The offloading node receives the fourth user plane data, uses the first session key to secure it, and, based on the terminal device information (e.g., port number and / or address) carried in the fourth user plane data, determines that the fourth user plane data needs to be sent to the terminal device. Then, it sends the securely protected fourth user plane data to the terminal device via the access network device, where the access network device cannot parse the fourth user plane data. This fourth user plane data is securely protected during transmission between the offloading node and the terminal device. It should be noted that since the offloading node and the second user plane anchor are generally deployed in the core equipment room, where security is high, even if the data transmission between the second user plane anchor and the offloading node does not involve session-level security protection, but relies directly on node-level security protection between the second user plane anchor and the offloading node, security can still be guaranteed.
[0132] The first session key can be derived from either the session management network element or the traffic distribution node.
[0133] If the first session key is derived from the session management network element, the session management network element can then derive the first session key based on the first intermediate key and the first security algorithm. The first security algorithm includes a first confidentiality protection algorithm and / or a first integrity protection algorithm. For example, if the first security algorithm includes the first confidentiality protection algorithm, the first session key derived by the session management network element includes the first session encryption / decryption key. As another example, if the first security algorithm includes the first integrity protection algorithm, the first session key derived by the session management network element includes the first session integrity protection key. Furthermore, if the first security algorithm includes both the first confidentiality protection algorithm and the first integrity protection algorithm, the first session key derived by the session management network element includes both the first session encryption / decryption key and the first session integrity protection key.
[0134] For example, the session management network element may determine the first security algorithm for deriving the first session key according to any one of the following methods 1 to 3:
[0135] Method 1: The session management network element obtains the user plane security capabilities of the terminal device. These user plane security capabilities indicate the user plane security algorithms supported by the terminal device. Based on the user plane security capabilities of the terminal device, the session management network element determines a first security algorithm. Specifically, the user plane security algorithms supported by the terminal device include the first security algorithm, and the traffic splitting node supports the first security algorithm.
[0136] For example, the user plane security capabilities of a terminal device indicate that the terminal device supports confidentiality protection algorithms #1, #2, and #3, as well as integrity protection algorithms #1, #2, and #3. The session management network element selects confidentiality protection algorithm #1 and integrity protection algorithm #3; that is, the first security algorithms determined by the session management network element include confidentiality protection algorithm #1 and integrity protection algorithm #3.
[0137] For example, the session management network element determines the first security algorithm based on the user plane security capabilities of the terminal device and the user plane security algorithms supported by the traffic splitting node. The session management network element may be locally configured with user plane security algorithms supported by the traffic splitting node, or it may obtain the supported user plane security algorithms from the traffic splitting node.
[0138] Method 2: The session management network element obtains the user plane security capabilities of the terminal device. These user plane security capabilities indicate the user plane security algorithms supported by the terminal device. The session management network element sends the user plane security capabilities of the terminal device to the traffic splitting node. The traffic splitting node determines a first security algorithm based on the user plane security capabilities of the terminal device and sends the first security algorithm to the session management network element. Specifically, the user plane security algorithms supported by the terminal device include the first security algorithm, and the traffic splitting node supports the first security algorithm.
[0139] For example, the user plane security capabilities of the terminal device indicate that the terminal device supports confidentiality protection algorithms #1, #2, and #3, as well as integrity protection algorithms #1, #2, and #3. The traffic splitting node selects confidentiality protection algorithm #1 and integrity protection algorithm #3, meaning the first security algorithm includes confidentiality protection algorithm #1 and integrity protection algorithm #3. Then, the traffic splitting node sends indication information indicating the first security algorithm to the session management network element.
[0140] As one implementation method, the session management network element can obtain the user plane security capabilities of the terminal device from the terminal device, or it can obtain the user plane security capabilities of the terminal device from other network elements (such as UDM network elements, NRF network elements, or UDR, etc.). This application does not limit the implementation method of the session management network element obtaining the user plane security capabilities of the terminal device.
[0141] Method 3: The session management network element determines the first security algorithm based on the second security algorithm. The second security algorithm is used to protect the third user plane data of the first session between the terminal device and the first user plane anchor point.
[0142] Optionally, when selecting a traffic splitting node, the session management network element selects the splitting node according to the second security algorithm. Specifically, the session management network element selects a user plane network element that supports the second security algorithm as the splitting node.
[0143] Step 302a: The session management network element sends the first intermediate key or the first session key to the traffic splitting node. Correspondingly, the traffic splitting node receives the first intermediate key or the first session key.
[0144] In one implementation method, if the first session key is determined by the session management network element, then in step 302a, the session management network element sends the first session key to the first user plane anchor point.
[0145] In another implementation method, if the first session key is determined by the splitting node, then in step 302a, the session management network element sends the first intermediate key to the splitting node, and then the splitting node deduces the first session key based on the first intermediate key.
[0146] For example, if the first session key is derived by the splitter node based on the first intermediate key, then after receiving the first intermediate key from the session management network element, the splitter node can derive the first session key based on the first intermediate key and the first security algorithm. The meaning of the first security algorithm can be found in the relevant description in step 301a.
[0147] In one implementation method, if the first session key is determined by the traffic splitting node, when the session management network element sends the first intermediate key to the traffic splitting node, it can also send the user plane security capabilities of the terminal device to the traffic splitting node. These user plane security capabilities indicate the user plane security algorithms supported by the terminal device. The traffic splitting node determines the first security algorithm based on the user plane security algorithms supported by the terminal device. Specifically, the user plane security algorithms supported by the terminal device include the first security algorithm, and the traffic splitting node supports the first security algorithm. It should be noted that the first intermediate key and the user plane security capabilities of the terminal device sent by the session management network element to the traffic splitting node can be carried in the same message or in separate messages.
[0148] In another implementation, if the first session key is determined by the traffic splitter node, the session management network element can also send the first security algorithm to the traffic splitter node when sending the first intermediate key. Therefore, the traffic splitter node can obtain the first security algorithm used to deduce the first session key from the session management network element. It should be noted that the first intermediate key and the first security algorithm sent by the session management network element to the traffic splitter node can be carried in the same message or in different messages.
[0149] Based on the above scheme, in the scenario of service flow splitting, the splitting node obtains the first session key, and the terminal device also derives the first session key in the same way as the session management network element or the splitting node. Subsequently, when the terminal device and the first user plane anchor point transmit the first user plane data of the first session through the splitting node, the first user plane data is protected by security during transmission between the terminal device and the splitting node. Similarly, when the terminal device and the second user plane anchor point transmit the second user plane data of the first session through the splitting node, the second user plane data is protected by security during transmission between the terminal device and the splitting node. Therefore, this scheme can achieve security protection for user plane data between the terminal device and multiple user plane anchor points in the scenario of service flow splitting.
[0150] Since the user plane data in the first session is used for security protection between the terminal device and the offloading node, the access network device can only forward the encrypted user plane data and cannot obtain the specific content of the transmitted user plane data. Therefore, the security risk of user plane data leakage due to attacks on the access network device can be reduced.
[0151] The following is a detailed description of some implementation details of the embodiment shown in Figure 3(a).
[0152] The following describes the specific implementation of the session management network element determining the first intermediate key in step 301a above. For example, the session management network element determines the first intermediate key based on the session root key of the first session, and a first counter and / or a second counter. For instance, the session management network element determines the first intermediate key based on the session root key and the first counter of the first session. Another example is that the session management network element determines the first intermediate key based on the session root key and the second counter of the first session. Yet another example is that the session management network element determines the first intermediate key based on the session root key, the first counter, and the second counter of the first session.
[0153] The first counter is maintained independently by the session management network element and the terminal device. It is a session-level counter, specifically the counter corresponding to the first session. The first counter records the number of times an intermediate key is derived for the first session; that is, it indicates the number of times the first counter has been used to derive an intermediate key. The recorded count can be incremented or decremented. For example, the initial value of the first counter is set to 0. Each time the session management network element derives an intermediate key using the current recorded value of the first counter, it increments the recorded value by 1. For example, the first counter can also have other names, such as the session management counter (SMcounter).
[0154] The second counter can be maintained independently by the first user plane anchor and the terminal device. The second counter is a session-level counter used to record the number of data packets transmitted in the first session. The transmitted data packets include uplink data packets and / or downlink data packets. For example, if 100 downlink data packets have been transmitted to the terminal device in the first session, and 200 uplink data packets have been transmitted to the first user plane anchor and / or the second user plane anchor, then the value of the second counter can be 100, 200, or 300. Exemplarily, this second counter can also have other names, such as user plane counter (UPcounter). When the session management network element needs to use the second counter to deduce the first intermediate key, the session management network element can send a request message to the first user plane anchor to request the second counter, and then the first user plane anchor sends the second counter to the session management network element. It should be noted that if some data packets in the first session are retransmitted due to packet loss, the retransmitted data packets may not be included in the second counter.
[0155] In one possible implementation, prior to step 301a above, before the insertion of the splitter node and the second user plane anchor, the terminal device and the first user plane anchor can use a second session key for end-to-end security protection. That is, the second session key is used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor. For example, in the uplink direction, when the terminal device needs to send the user plane uplink data of the first session to the first user plane anchor, the second session key is used to securely protect the user plane uplink data, and the securely protected user plane uplink data is sent to the first user plane anchor via the access network device. At this time, the access network device cannot parse the user plane uplink data, but the first user plane anchor can parse the user plane uplink data based on the second session key. As another example, in the downlink direction, when the first user plane anchor needs to send the user plane downlink data of the first session to the terminal device, the second session key is used to securely protect the user plane downlink data, and the securely protected user plane downlink data is sent to the terminal device via the access network device. At this time, the access network device cannot parse the user plane downlink data, but the terminal device can parse the user plane downlink data based on the second session key.
[0156] In one implementation method, a session management network element can determine a second intermediate key based on the session root key of a first session. Then, the session management network element derives a second session key based on the second intermediate key and a second security algorithm. Alternatively, the session management network element can send the second intermediate key to a first user plane anchor point, which then derives the second session key based on the second intermediate key and the second security algorithm. This second session key is used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor point. The second security algorithm includes a second confidentiality protection algorithm and / or a second integrity protection algorithm. For example, if the second security algorithm includes a second confidentiality protection algorithm, the second session key derived by the session management network element or the first user plane anchor point includes a second session encryption / decryption key. Similarly, if the second security algorithm includes a second integrity protection algorithm, the second session key derived by the session management network element or the first user plane anchor point includes a second session integrity protection key. Finally, if the second security algorithm includes both a second confidentiality protection algorithm and a second integrity protection algorithm, the second session key derived by the session management network element or the first user plane anchor point includes both a second session encryption / decryption key and a second session integrity protection key.
[0157] The method by which the session management network element determines the second intermediate key is similar to the method by which it determines the first intermediate key. That is, the session management network element can determine the second intermediate key based on the session root key of the first session, and the first counter and / or the second counter. For example, the session management network element determines the second intermediate key based on the session root key and the first counter of the first session. Another example is that the session management network element determines the second intermediate key based on the session root key and the second counter of the first session. Yet another example is that the session management network element determines the second intermediate key based on the session root key, the first counter, and the second counter of the first session. However, it should be noted that if the value of the first counter is used in determining both the first and second intermediate keys, the value of the first counter used to determine the first intermediate key is different from the value of the first counter used to determine the second intermediate key. If the value of the second counter is used in determining both the first and second intermediate keys, the value of the second counter used to determine the first intermediate key can be the same as or different from the value of the second counter used to determine the second intermediate key.
[0158] For example, if the second session key is derived by the session management network element based on the second intermediate key and the second security algorithm, the session management network element can determine the second security algorithm used to derive the second session key according to any one of the following methods A to B:
[0159] Method A: The session management network element obtains the user plane security capabilities of the terminal device. These user plane security capabilities indicate the user plane security algorithms supported by the terminal device. Based on the user plane security capabilities of the terminal device, the session management network element determines a second security algorithm. Specifically, the user plane security algorithms supported by the terminal device include the second security algorithm, and the first user plane anchor point supports the second security algorithm.
[0160] For example, the user plane security capabilities of a terminal device indicate that the terminal device supports confidentiality protection algorithms #1, #2, and #3, as well as integrity protection algorithms #1, #2, and #3. The session management network element selects confidentiality protection algorithm #2 and integrity protection algorithm #1; that is, the second security algorithm determined by the session management network element includes confidentiality protection algorithm #2 and integrity protection algorithm #1.
[0161] For example, the session management network element determines the second security algorithm based on the user plane security capabilities of the terminal device and the user plane security algorithms supported by the first user plane anchor. The session management network element may be locally configured with the user plane security algorithms supported by the first user plane anchor, or it may obtain the supported user plane security algorithms from the first user plane anchor.
[0162] Method B involves the session management network element acquiring the user plane security capabilities of the terminal device. These user plane security capabilities indicate the user plane security algorithms supported by the terminal device. The session management network element sends the user plane security capabilities of the terminal device to the first user plane anchor point. The traffic splitting node determines a second security algorithm based on the user plane security capabilities of the terminal device and sends the second security algorithm to the session management network element. Specifically, the user plane security algorithms supported by the terminal device include the second security algorithm, and the first user plane anchor point supports the second security algorithm.
[0163] For example, the user plane security capability of the terminal device indicates that the terminal device supports confidentiality protection algorithms #1, #2, and #3, as well as integrity protection algorithms #1, #2, and #3. The first user plane anchor point selects confidentiality protection algorithm #2 and integrity protection algorithm #1, meaning the second security algorithm includes confidentiality protection algorithm #2 and integrity protection algorithm #1. Then, the first user plane anchor point sends indication information to the session management network element to indicate the second security algorithm.
[0164] For example, if the second session key is derived from the second intermediate key and the second security algorithm by the first user plane anchor, the first user plane anchor can determine the second security algorithm for deriving the second session key according to any one of the following methods a to b:
[0165] Method a: The first user plane anchor receives the second security algorithm from the session management network element, that is, the session management network element determines the second security algorithm and sends the second security algorithm to the first user plane anchor.
[0166] Method b: A first user plane anchor point obtains the user plane security capabilities of the terminal device. These user plane security capabilities are used to indicate the user plane security algorithms supported by the terminal device. The first user plane anchor point determines a second security algorithm based on the user plane security algorithms supported by the terminal device. Specifically, the user plane security algorithms supported by the terminal device include the second security algorithm, and the first user plane anchor point supports the second security algorithm.
[0167] In one possible implementation, the session management network element further sends a first indication message to the first user plane anchor point. This first indication message indicates that the downlink user plane data of the first session should not be secured. That is, when the first user plane anchor point needs to send the downlink user plane data of the first session to the terminal device, the first user plane anchor point does not securely protect the downlink user plane data of the first session. After the downlink user plane data of the first session reaches the splitter node, the splitter node uses the first session key to securely protect the downlink user plane data of the first session.
[0168] In one possible implementation, the session management network element further sends a second indication message to the second user plane anchor point. This second indication message indicates that the downlink user plane data of the first session should not be secured. That is, when the second user plane anchor point needs to send the downlink user plane data of the first session to the terminal device, the second user plane anchor point does not securely protect the downlink user plane data of the first session. After the downlink user plane data of the first session reaches the splitter node, the splitter node uses the first session key to securely protect the downlink user plane data of the first session.
[0169] In one possible implementation, prior to step 301a above, the session management network element further determines to offload the user plane data of the first session. That is, when the session management network element determines to offload the user plane data of the first session, it executes step 301a and subsequent steps in the embodiment of FIG3(a). Exemplarily, the session management network element receives an indication from the terminal device or the AF network element, which indicates that the user plane data of the first session should be offloaded.
[0170] In one possible implementation, the session management network element used to perform the method embodiment of FIG3(a) above can be a visited session management network element (e.g., a visited SMF (v-SMF)) or a home session management network element (e.g., a home SMF (h-SMF)). For example, if the visited session management network element determines that the first session uses home route (HR), then the visited session management network element is determined to execute the method embodiment of Figure 3(a) above. Specifically, if the visited session management network element receives information from the home session management network element (e.g., the identifier and address of the home session management network element), then the visited session management network element determines to execute the method embodiment of Figure 3(a) above. If the visited session management network element determines that the first session uses local breakout (LBO), then the visited session management network element is determined to execute the method embodiment of Figure 3(a) above. Specifically, if the visited session management network element does not receive information from the home session management network element (e.g., the identifier and address of the home session management network element), then the visited session management network element determines to execute the method embodiment of Figure 3(a) above.
[0171] Figure 3(b) is a flowchart illustrating a communication method provided in an embodiment of this application. This method is an execution method on the terminal device side corresponding to the embodiment in Figure 3(a) above, therefore the applicable scenarios of this method are the same as those applicable to the embodiment in Figure 3(a) above.
[0172] The method includes the following steps:
[0173] Step 301b: The terminal device determines the first intermediate key based on the session root key of the first session of the terminal device.
[0174] The meanings of the session root key and the first intermediate key can be found in the description of the embodiment in Figure 3(a) above.
[0175] The method by which the terminal device determines the first intermediate key is the same as the method by which the session management network element determines the first intermediate key. Therefore, the first intermediate key determined by the terminal device is the same as the first intermediate key determined by the session management network element.
[0176] Step 302b: The terminal device deduces the first session key based on the first intermediate key.
[0177] The meaning of the first session key can be found in the description of the embodiment in Figure 3(a) above.
[0178] The terminal device determines the first session key based on the first intermediate key. The method by which the terminal device determines the first session key is the same as the method by which the session management network element or the traffic splitter node determines the first session key. Therefore, the first session key determined by the terminal device is the same session key as the first session key determined by the session management network element or the traffic splitter node.
[0179] Based on the above scheme, in the scenario of service flow splitting, when the terminal device obtains the first session key and transmits the first user plane data of the first session between the terminal device and the first user plane anchor point through the splitting node, the first user plane data is protected by security during transmission between the terminal device and the splitting node. Similarly, when the terminal device transmits the second user plane data of the first session between the terminal device and the second user plane anchor point through the splitting node, the second user plane data is protected by security during transmission between the terminal device and the splitting node. Therefore, this scheme can achieve security protection for user plane data between the terminal device and multiple user plane anchor points in the scenario of service flow splitting.
[0180] In one possible implementation, before step 301b above, and before inserting the splitter node and the second user plane anchor, the terminal device further determines a second intermediate key in the same manner as the session management network element, and determines a second session key based on the second intermediate key. This second session key is used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor. The second session key determined by the terminal device is the same session key as the second session key determined by the session management network element or the first user plane anchor.
[0181] In one possible implementation, before step 301b above, the terminal device further determines to offload the user plane data of the first session. That is, when the terminal device determines to offload the user plane data of the first session, it executes step 301b and subsequent steps.
[0182] The embodiments in Figure 3(a) and Figure 3(b) can be implemented in combination. That is, on the network side, the session management network element or the traffic splitter determines the first session key. This first session key is used to protect the first user plane data and the second user plane data of the first session during transmission between the terminal device and the traffic splitter. The first user plane data is transmitted to the first user plane anchor point via the traffic splitter, and the second user plane data is transmitted to the second user plane anchor point via the traffic splitter. On the terminal side, the terminal device determines the first session key, and the network side confirms that the first session key is the same as the first session key determined by the terminal device. When user plane data is subsequently transmitted between the terminal device and the first user plane anchor point, the user plane data is routed via the traffic splitter, and the first session key is used for security protection during transmission between the terminal device and the traffic splitter. When user plane data is transmitted between the terminal device and the second user plane anchor point, the user plane data is routed via the traffic splitter, and the first session key is also used for security protection during transmission between the terminal device and the traffic splitter. Therefore, the splitter node can obtain the specific data content of the user plane data of the first session, and also the packet header of the user plane data of the first session. In the uplink direction, if the terminal device sends the user plane data of the first session to the first user plane anchor point, the packet header carries the information of the first user plane anchor point; if the terminal device sends the user plane data of the first session to the second user plane anchor point, the packet header carries the information of the second user plane anchor point. In the downlink direction, if the first user plane anchor point sends the user plane data of the first session to the terminal device, the packet header carries the information of the terminal device; if the second user plane anchor point sends the user plane data of the first session to the terminal device, the packet header carries the information of the terminal device. For a detailed description of user plane data transmission, please refer to the relevant description in the embodiment of Figure 3(a), which will not be repeated here.
[0183] The following, in conjunction with Figures 4 and 5, provides some specific examples of the embodiments shown in Figures 3(a) and 3(b). In the following embodiments, the Session Management Network Element (SMF) and the User Plane Network Element (UPF) are used as examples for illustration. Furthermore, in the following embodiments, PSA#1 is a specific example of the first User Plane anchor point in the aforementioned embodiments, and PSA#2 is a specific example of the second User Plane anchor point in the aforementioned embodiments. Also, the first session is a PDU session.
[0184] Figure 4 is a flowchart illustrating a communication method provided in an embodiment of this application. The method includes the following steps:
[0185] Step 400: The terminal device executes the registration process and registers with the network.
[0186] In step 401a, the terminal device sends a nonaccess stratum (NAS) message to the AMF. Correspondingly, the AMF receives the NAS message.
[0187] The NAS message carries session-related information and a session establishment request. The session-related information includes, for example, single network slice selection assistance information (S-NSSAI) and data network name (DNN). The session establishment request carries session establishment information, which includes, for example, S-NSSAI and DNN.
[0188] In step 401b, the AMF sends a session establishment request to the SMF. Accordingly, the SMF receives the session establishment request.
[0189] In one implementation, after receiving a NAS message, the AMF retrieves session-related information from the NAS message and sends the session-related information to the UDM network element. The UDM network element retrieves the routing indication information corresponding to the session-related information and sends the routing indication information to the AMF. This routing indication information is used to indicate whether the routing method is HR or LBO.
[0190] In the LBO scenario, the AMF selects the v-SMF based on session-related information and sends a session establishment request to the v-SMF. That is, in the LBO scenario, in step 401b, the AMF sends a session establishment request to the v-SMF, and all SMFs involved in the steps after step 401b are v-SMFs.
[0191] In the HR scenario, the AMF selects the v-SMF and h-SMF based on session-related information. The AM then sends a session establishment request and the h-SMF's identification information to the v-SMF. Upon receiving the h-SMF's identification information, the v-SMF determines not to perform key deduction operations; instead, the h-SMF performs these operations. That is, all subsequent steps after step 401b are performed by the h-SMF. The v-SMF further sends some or all of the session establishment parameters required in the session establishment request to the h-SMF. In other words, in the HR scenario, all SMFs involved in steps after step 401b are h-SMFs.
[0192] Step 402: SMF obtains the session root key of the first session (represented by K_PDU) and derives the second intermediate key corresponding to PSA#1 (represented by K_UPF#2) based on the session root key.
[0193] The session root key is the root key at the session level; that is, each session has a corresponding session root key.
[0194] For a detailed description of the implementation of K_UPF#2 derived from the session root key, please refer to the description of the embodiment in Figure 3(a) above.
[0195] In step 403a, the SMF sends a configuration request to PSA#1. Accordingly, PSA#1 receives the configuration request.
[0196] The configuration request includes the user plane security capabilities of the terminal device. These user plane security capabilities indicate the security algorithms supported by the terminal device in the user plane, including confidentiality protection algorithms and / or integrity protection algorithms.
[0197] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#1 through the interface between the v-SMF and PSA#1, or it can send the configuration request to PSA#1 via the h-SMF.
[0198] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#1 through the interface between the h-SMF and PSA#1, or it can send the configuration request to PSA#1 via the v-SMF.
[0199] In step 403b, PSA#1 sends a configuration response to SMF. Accordingly, SMF receives the configuration response.
[0200] The configuration response is used to instruct PSA#1 to select a second security algorithm for end-to-end security protection between PSA#1 and the terminal device. The second security algorithm includes a second confidentiality protection algorithm and / or a second integrity protection algorithm.
[0201] For example, the configuration request instructs the terminal device to support confidentiality protection algorithms #1, #2, and #3 in the user plane, with PSA #1 selecting confidentiality protection algorithm #1. The configuration request also instructs the terminal device to support integrity protection algorithms #1, #2, and #3 in the user plane, with PSA #1 selecting integrity protection algorithm #3. Accordingly, the configuration response indicates a second security algorithm, which includes the confidentiality protection algorithm #1 and integrity protection algorithm #3 selected by PSA #1.
[0202] Steps 403a and 403b are optional.
[0203] Step 404: SMF deduces the second session key corresponding to PSA#1 based on K_UPF#2 and the second security algorithm.
[0204] The second session key includes a second session encryption / decryption key and / or a second session integrity protection key. The second session encryption / decryption key is derived based on K_UPF#2 and the second confidentiality protection algorithm, and is used for end-to-end confidentiality protection of the user plane data of the first session between PSA#1 and the terminal device. The second session integrity protection key is derived based on K_UPF#2 and the second integrity protection algorithm, and is used for end-to-end integrity protection of the user plane data of the first session between PSA#1 and the terminal device.
[0205] For details on the specific implementation method of deriving the second session key based on K_UPF#2, please refer to the description of the embodiment in Figure 3(a) above.
[0206] In one implementation, if steps 403a and 403b above are performed, the second security algorithm used in step 404 to deduce the second session key is indicated by the configuration response of step 403b.
[0207] In another implementation, if steps 403a and 403b above are not performed, the second security algorithm used in step 404 to deduce the second session key can be determined by the SMF. For example, the SMF selects the second security algorithm for end-to-end security protection between PSA#1 and the terminal device based on the user plane security capabilities of the terminal device.
[0208] Step 405: SMF sends a first message to the terminal device. Correspondingly, the terminal device receives the first message.
[0209] The first message can be a security mode command (SMC) message or a security mode complete (SMP) message.
[0210] The first message is used to instruct the second security algorithm.
[0211] In one implementation method, if the second session integrity protection key corresponding to PSA#1 is deduced in step 404, the first message can be protected for integrity using the second session integrity protection key.
[0212] Step 406: The terminal device obtains the session root key (i.e., K_PDU) of the first session, and derives the second intermediate key (i.e., K_UPF#2) corresponding to PSA#1 based on the session root key, and derives the second session key corresponding to PSA#1 based on K_UPF#2 and the second security algorithm.
[0213] The terminal device uses the same method as SMF to derive K_UPF#2 from K_PDU. The K_PDU used by the terminal device is the same as the K_PDU used by SMF.
[0214] After generating K_UPF#2, the terminal device uses the same method as SMF to deduce the second session key corresponding to PSA#2, that is, the second session key is derived based on K_UPF#2 and the second security algorithm. This second session key is used to protect the user plane data of the first session between the terminal device and PSA#1.
[0215] In step 407, the SMF sends a configuration request to PSA#1. PSA#1 then receives the configuration request.
[0216] The configuration request includes a second session key.
[0217] PSA#1 uses this second session key to protect the user plane data of the first session between PSA#1 and the terminal device.
[0218] Step 407 is executed after step 405, and step 407 can be executed before or after step 406.
[0219] Optionally, after the terminal device completes the user plane security activation process with the SMF, the SMF can save the second security algorithm.
[0220] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#1 through the interface between the v-SMF and PSA#1, or it can send the configuration request to PSA#1 via the h-SMF.
[0221] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#1 through the interface between the h-SMF and PSA#1, or it can send the configuration request to PSA#1 via the v-SMF.
[0222] Step 408: SMF inserts PSA#2 and a traffic splitter node for the first session according to business requirements.
[0223] In one possible implementation, if a second security algorithm is stored on the SMF, the SMF can select a UPF that supports the second security algorithm as the routing node for the first session.
[0224] In step 409, SMF sends a configuration request to PSA#2. PSA#2 then receives the configuration request.
[0225] The configuration request includes a second instruction that instructs the PSA#2 not to provide user plane downlink data security protection for the first session.
[0226] Optionally, the SMF may omit the second indication information in the configuration request message and instead send a stop security protection message, which implicitly indicates that the PSA#2 does not provide user plane downlink data security protection for the first session.
[0227] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#2 through the interface between the v-SMF and PSA#2, or it can send the configuration request to PSA#2 via the h-SMF.
[0228] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#2 through the interface between the h-SMF and PSA#2, or it can send the configuration request to PSA#2 via the v-SMF.
[0229] In step 410, SMF sends a configuration request to PSA#1. PSA#1 then receives the configuration request.
[0230] This configuration requests the recorded value of the second counter. For the meaning and function of this second counter, please refer to the description of the embodiment shown in Figure 3(a) above.
[0231] Optionally, the configuration request may also carry first indication information, which is used to indicate that the PSA#1 does not provide user plane downlink data security protection for the first session.
[0232] Alternatively, the configuration request may not carry the first indication information. Instead, the configuration request may implicitly instruct PSA#1 not to provide user plane downlink data security protection for the first session. That is, when PSA#1 receives a configuration request for the record value of the second counter, it determines that it will not provide user plane downlink data security protection for the first session.
[0233] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#1 through the interface between the v-SMF and PSA#1, or it can send the configuration request to PSA#1 via the h-SMF.
[0234] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#1 through the interface between the h-SMF and PSA#1, or it can send the configuration request to PSA#1 via the v-SMF.
[0235] Step 411, PSA#1 stops sending downlink user plane data.
[0236] In step 412, PSA#1 sends a configuration response to SMF. Accordingly, SMF receives the configuration response.
[0237] The configuration response includes the recorded value of the second counter.
[0238] Steps 410 to 412 above are optional. If the recorded value of the second counter is used when the SMF calculates the first intermediate key corresponding to the split node, then steps 410 to 412 are executed; otherwise, steps 410 to 412 are not executed.
[0239] In step 413a, the SMF sends a configuration request to the splitter node. Correspondingly, the splitter node receives the configuration request.
[0240] The configuration request includes the user plane security capabilities of the terminal device. These user plane security capabilities indicate the security algorithms supported by the terminal device in the user plane.
[0241] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to the splitter node through the interface between the v-SMF and the splitter node, or it can send the configuration request to the splitter node via the h-SMF.
[0242] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to the splitter node through the interface between the h-SMF and the splitter node, or it can send the configuration request to the splitter node via the v-SMF.
[0243] In step 413b, the offloading node sends a configuration response to the SMF. Correspondingly, the SMF receives the configuration response.
[0244] The configuration response indicates the first security algorithm selected by the offloading node for end-to-end security protection between the offloading node and the terminal device. The first security algorithm includes a first confidentiality protection algorithm and / or a first integrity protection algorithm.
[0245] For example, the configuration request instructs the terminal device to support confidentiality protection algorithms #1, #2, and #3 in the user plane, and the traffic splitter selects confidentiality protection algorithm #1. The configuration request also instructs the terminal device to support integrity protection algorithms #1, #2, and #3 in the user plane, and the traffic splitter selects integrity protection algorithm #3. Accordingly, the first security algorithm used in the configuration response to instruct the traffic splitter to select includes confidentiality protection algorithm #1 and integrity protection algorithm #3.
[0246] Steps 413a and 413b are optional.
[0247] Step 414: SMF derives the first intermediate key (represented by K_UPF#1) corresponding to the splitter node based on the session root key (i.e. K_PDU) of the first session, and derives the first session key corresponding to the splitter node based on K_UPF#1 and the first security algorithm.
[0248] The session root key is the same session root key used in the preceding steps to deduce K_UPF#2.
[0249] SMF derives the first session key corresponding to the offloading node based on the first intermediate key (i.e., K_UPF#1) and the first security algorithm. This first session key includes a first session encryption / decryption key and / or a first session integrity protection key. The first session encryption / decryption key, derived from K_UPF#1 and the first confidentiality protection algorithm, is used for end-to-end confidentiality protection of user plane data between the offloading node and the terminal device. The first session integrity protection key, derived from K_UPF#1 and the first integrity protection algorithm, is also used for end-to-end integrity protection of user plane data between the offloading node and the terminal device.
[0250] In one implementation, if steps 413a and 413b above are performed, the first security algorithm used in step 414 to deduce the first session key is indicated by the configuration response of step 413b.
[0251] In another implementation, if steps 413a and 413b above are not performed, the first security algorithm used to deduce the first session key in step 414 can be determined by the SMF. For example, if the SMF locally stores the second security algorithm after step 404 above, then in step 414, the SMF determines the second security algorithm as the first security algorithm used to deduce the first session key. Alternatively, the SMF may determine the first security algorithm based on the user plane security capabilities of the terminal device.
[0252] In step 415, the SMF sends a second message to the terminal device. Correspondingly, the terminal device receives the second message.
[0253] The second message is used to indicate the first security algorithm for end-to-end security protection between the offloading node and the terminal device.
[0254] The second message can be an SMC message or an SMP message.
[0255] In one implementation method, if the first session integrity protection key corresponding to the splitting node is deduced in step 414, the second message can be protected for integrity using the first session integrity protection key.
[0256] Step 416: The terminal device obtains the session root key (K_PDU) of the first session, and derives the first intermediate key (K_UPF#1) corresponding to the splitter node based on the session root key, and derives the session key corresponding to the splitter node based on K_UPF#1 and the first security algorithm.
[0257] The terminal device uses the same method as SMF to derive K_UPF#1 from K_PDU. The K_PDU used by the terminal device is the same as the K_PDU used by SMF.
[0258] After generating K_UPF#1, the terminal device uses the same method as the SMF to deduce the first session key corresponding to the split node, and deduces the first session key corresponding to the split node. That is, the first session key is deduced based on K_UPF#1 and the first security algorithm.
[0259] Step 417: SMF sends a configuration request to the splitter node. Correspondingly, the splitter node receives the configuration request.
[0260] The configuration request includes a first session key, which includes a first session encryption / decryption key and / or a first session integrity key.
[0261] The routing node uses the first session key to protect the user plane data of the first session between the routing node and the terminal device.
[0262] Step 417 is performed after step 415, and step 417 can be performed before or after step 416.
[0263] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to the splitter node through the interface between the v-SMF and the splitter node, or it can send the configuration request to the splitter node via the h-SMF.
[0264] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to the splitter node through the interface between the h-SMF and the splitter node, or it can send the configuration request to the splitter node via the v-SMF.
[0265] In step 418, SMF sends a configuration request to PSA#1. PSA#1 then receives the configuration request.
[0266] Optionally, the configuration request includes first indication information, which instructs the PSA#1 not to provide security protection for the user plane downlink data of the first session.
[0267] In one implementation method, if step 410 is not performed, or if step 410 is performed but the configuration request of step 410 does not carry the first indication information, then the configuration request of step 418 may carry the first indication information.
[0268] In another implementation method, if step 410 is executed and the configuration request of step 410 carries the first indication information, then the configuration request of step 418 may not carry the first indication information.
[0269] After receiving the first instruction from SMF, PSA#1 stops providing security protection for the user plane downlink data of the first session.
[0270] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#1 through the interface between the v-SMF and PSA#1, or it can send the configuration request to PSA#1 via the h-SMF.
[0271] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#1 through the interface between the h-SMF and PSA#1, or it can send the configuration request to PSA#1 via the v-SMF.
[0272] Step 419: SMF configures the uplink tunnel for the access network device and continues the subsequent session process.
[0273] For example, SMF can configure the receiving port of the uplink tunnel of the access network device as the port of the splitter node through AMF.
[0274] Based on the above scheme, after inserting a traffic splitter node into the terminal device's session, the establishment of an end-to-end secure channel between the terminal device and PSA#1 is changed to the establishment of an end-to-end secure channel between the terminal device and the traffic splitter node. This end-to-end secure channel between the terminal device and the traffic splitter node provides security protection for user plane data between the terminal device and multiple PSAs. Therefore, this scheme can achieve security protection for user plane data between the terminal device and multiple PSAs in a traffic splitting scenario. Furthermore, during this process, the terminal device updates the session key using a key update procedure. Therefore, the terminal device cannot distinguish between a regular key update and a key update caused by the insertion or switching of a security anchor; that is, the terminal device is unaware of the insertion or switching of a security anchor.
[0275] Figure 5 is a flowchart illustrating a communication method provided in an embodiment of this application. The method includes the following steps:
[0276] Step 500 is the same as step 400 in the embodiment of Figure 4.
[0277] Step 501a is the same as step 401a in the embodiment of Figure 4.
[0278] Step 501b is the same as step 401b in the embodiment of Figure 4.
[0279] Step 502 is the same as step 402 in the embodiment of Figure 4.
[0280] Step 503a is the same as step 403a in the embodiment of Figure 4.
[0281] Step 503b is the same as step 403b in the embodiment of Figure 4.
[0282] Step 504: SMF sends a configuration request to PSA#1. PSA#1 receives the configuration request accordingly.
[0283] The configuration request includes K_UPF#2.
[0284] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to PSA#1 through the interface between the v-SMF and PSA#1, or it can send the configuration request to PSA#1 via the h-SMF.
[0285] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to PSA#1 through the interface between the h-SMF and PSA#1, or it can send the configuration request to PSA#1 via the v-SMF.
[0286] Step 505: PSA#1 derives the second session key corresponding to PSA#1 based on K_UPF#2 and the second security algorithm.
[0287] The second security algorithm includes a second confidentiality protection algorithm and / or a second integrity protection algorithm. The second session key includes a second session encryption / decryption key and / or a second session integrity protection key. The second session encryption / decryption key is derived from K_UPF#2 and the second confidentiality protection algorithm, and is used for end-to-end confidentiality protection of the user plane data of the first session between PSA#1 and the terminal device. The second session integrity protection key is derived from K_UPF#2 and the second integrity protection algorithm, and is used for end-to-end integrity protection of the user plane data of the first session between PSA#1 and the terminal device.
[0288] For details on the specific implementation method of deriving the second session key based on K_UPF#2, please refer to the description of the embodiment in Figure 3(a) above.
[0289] In one implementation, if steps 503a and 503b above are performed, the second security algorithm used to deduce the second session key in step 505 is indicated by the configuration response of step 503b, that is, the second security algorithm is carried in the configuration request of step 504.
[0290] In another implementation, if steps 503a and 503b above are not performed, the second security algorithm used to deduce the second session key in step 505 can be determined by the SMF. For example, the SMF selects a second security algorithm for end-to-end security protection between PSA#1 and the terminal device based on the user plane security capabilities of the terminal device, and then carries the second security algorithm in the configuration request in step 504.
[0291] In another implementation, if steps 503a and 503b above are not performed, the SMF can carry the user plane security capabilities of the terminal device in the configuration request in step 504, and PSA#1 determines the second security algorithm based on the user plane security capabilities of the terminal device.
[0292] In step 506, PSA#1 sends a first message to the terminal device. Correspondingly, the terminal device receives the first message.
[0293] For example, PSA#1 can send the first message to the terminal device via the control plane, through SMF and AMF forwarding. Alternatively, PSA#1 can send the first message to the terminal device via the user.
[0294] The first message can be an SMC message or an SMP message.
[0295] The first message is used to indicate the second security algorithm for end-to-end security protection between PSA#1 and the terminal device.
[0296] In one implementation, if the second session integrity key corresponding to PSA#1 is determined in step 505, the first message can be protected for integrity using the second session integrity key.
[0297] Step 507: The terminal device obtains the session root key (i.e., K_PDU) of the first session, and derives the second intermediate key (i.e., K_UPF#2) corresponding to PSA#1 based on the session root key, and derives the second session key corresponding to PSA#1 based on K_UPF#2 and the second security algorithm.
[0298] The terminal device uses the same method as SMF to derive K_UPF#2 from K_PDU. The K_PDU used by the terminal device is the same as the K_PDU used by SMF.
[0299] After generating K_UPF#2, the terminal device uses the same method as SMF to deduce the second session key corresponding to PSA#2, that is, the second session key is derived based on K_UPF#2 and the second security algorithm. This second session key is used to protect the user plane data of the first session between the terminal device and PSA#1.
[0300] Steps 508 to 512 are the same as steps 408 to 412 in the embodiment of Figure 4.
[0301] Steps 510 to 512 are optional.
[0302] Step 513a is the same as step 413a in the embodiment of Figure 4.
[0303] Step 513b is the same as step 413b in the embodiment of Figure 4.
[0304] Step 514: SMF deduces the first intermediate key (represented by K_UPF#1) corresponding to the splitter node based on the session root key (i.e., K_PDU) of the first session.
[0305] The session root key is the same session root key used in the preceding steps to deduce K_UPF#2.
[0306] In step 515, SMF sends a configuration request to the splitter node. Correspondingly, the splitter node receives the configuration request.
[0307] The configuration request includes K_UPF#1.
[0308] For example, if the SMF is a v-SMF, the v-SMF can send the configuration request to the splitter node through the interface between the v-SMF and the splitter node, or it can send the configuration request to the splitter node via the h-SMF.
[0309] For example, if the SMF is an h-SMF, the h-SMF can send the configuration request to the splitter node through the interface between the h-SMF and the splitter node, or it can send the configuration request to the splitter node via the v-SMF.
[0310] Step 516: The splitter node deduces the first session key corresponding to the splitter node based on K_UPF#1 and the first security algorithm.
[0311] The traffic splitter node derives its corresponding first session key based on the first intermediate key (K_UPF#1) and the first security algorithm. This first session key includes a first session encryption / decryption key and / or a first session integrity protection key. The first session encryption / decryption key, derived from K_UPF#1 and the first confidentiality protection algorithm, is used for end-to-end confidentiality protection of user plane data between the traffic splitter node and the terminal device. The first session integrity protection key, derived from K_UPF#1 and the first integrity protection algorithm, is also used for end-to-end integrity protection of user plane data between the traffic splitter node and the terminal device.
[0312] In one implementation, if steps 513a and 513b above are performed, the first security algorithm used to deduce the first session key in step 516 is indicated by the configuration response of step 513b, that is, the first security algorithm is carried in the configuration request of step 515.
[0313] In another implementation, if steps 513a and 513b above are not performed, the first security algorithm used to deduce the first session key in step 516 can be determined by the SMF. For example, the SMF selects the first security algorithm based on the user plane security capabilities of the terminal device, and then carries the first security algorithm in the configuration request in step 515.
[0314] In another implementation, if steps 513a and 513b above are not performed, the SMF can carry the user plane security capabilities of the terminal device in the configuration request in step 515, and PSA#1 determines the first security algorithm based on the user plane security capabilities of the terminal device.
[0315] Step 517: The routing node sends a second message to the terminal device. Correspondingly, the terminal device receives the second message.
[0316] For example, the offloading node can send a second message to the terminal device via the control plane, through SMF and AMF forwarding. Alternatively, the offloading node can send a second message to the terminal device via the user.
[0317] The second message can be an SMC message or an SMP message.
[0318] The second message is used to indicate the first security algorithm for end-to-end security protection between the offloading node and the terminal device.
[0319] In one implementation method, if the first session integrity protection key corresponding to the splitter node is determined in step 516, the second message can use the first session integrity protection key for integrity protection.
[0320] Step 518: The terminal device obtains the session root key (i.e., K_PDU) of the first session, and derives the first intermediate key (i.e., K_UPF#1) corresponding to the splitter node based on the session root key, and derives the first session key corresponding to the splitter node based on K_UPF#1 and the first security algorithm.
[0321] The terminal device uses the same method as SMF to derive K_UPF#1 from K_PDU. The K_PDU used by the terminal device is the same as the K_PDU used by SMF.
[0322] After generating K_UPF#1, the terminal device uses the same method as the SMF to deduce the first session key corresponding to the split node, and deduces the first session key corresponding to the split node. That is, the first session key is deduced based on K_UPF#1 and the first security algorithm.
[0323] Steps 519 to 520 are the same as steps 418 to 419 in the embodiment of Figure 4.
[0324] Based on the above scheme, after inserting a traffic splitter node into the terminal device's session, the establishment of an end-to-end secure channel between the terminal device and PSA#1 is changed to the establishment of an end-to-end secure channel between the terminal device and the traffic splitter node. This end-to-end secure channel between the terminal device and the traffic splitter node provides security protection for user plane data between the terminal device and multiple PSAs. Therefore, this scheme can achieve security protection for user plane data between the terminal device and multiple PSAs in a traffic splitting scenario. Furthermore, during this process, the terminal device updates the session key using a key update procedure. Therefore, the terminal device cannot distinguish between a regular key update and a key update caused by the insertion or switching of a security anchor; that is, the terminal device is unaware of the insertion or switching of a security anchor.
[0325] The main difference between the embodiment in Figure 5 and the embodiment in Figure 4 is that in the embodiment in Figure 4, the second session key is derived from SMF and a first message is sent to the terminal device, and the first session key is derived from SMF and a second message is sent to the terminal device; while in the embodiment in Figure 5, the second session key is derived from PSA#1 and a first message is sent to the terminal device, and the first session key is derived from the splitter node and a second message is sent to the terminal device.
[0326] Figure 6 illustrates a possible exemplary block diagram of the communication device involved in the embodiments of this application. As shown in Figure 6, the communication device 600 may include modules or units for implementing the methods described above. In one possible design, the communication device 600 includes a processing unit 602 and a communication unit 603. Optionally, the communication device 600 may further include a storage unit 601 for storing device program code and / or data.
[0327] The communication device 600 can also be a network-side device in the above embodiments, such as a session management network element on the network side, a module (e.g., a circuit, chip, or chip system) in the session management network element, or a logical node, logical module, or software that can implement all or part of the functions of the session management network element.
[0328] For example, in one embodiment, processing unit 602 is configured to determine a first intermediate key based on the session root key of the first session of the terminal device. The first intermediate key is used to deduce the first session key. The first session key is used to protect the first user plane data and the second user plane data of the first session during transmission between the terminal device and the splitter node. The first user plane data is transmitted to the first user plane anchor point through the splitter node, and the second user plane data is transmitted to the second user plane anchor point through the splitter node. Communication unit 603 is configured to send the first intermediate key or the first session key to the splitter node.
[0329] In one possible implementation, the processing unit 602 is configured to determine a first intermediate key based on the session root key of a first session of the terminal device, including: determining the first intermediate key based on the session root key, and a first counter and / or a second counter; wherein the first counter is used to record the number of times the intermediate key is derived for the first session, and the second counter is used to record the number of data packets that have been transmitted in the first session.
[0330] In one possible implementation, the communication unit 603 is further configured to send a request message to the first user plane anchor point, the request message being used to request the acquisition of the second counter; and to receive the second counter from the first user plane anchor point.
[0331] In one possible implementation, the first session key is derived from the first intermediate key and a first security algorithm, the first security algorithm including a first confidentiality protection algorithm and / or a first integrity protection algorithm.
[0332] In one possible implementation, the processing unit 602 is further configured to obtain the user plane security capabilities of the terminal device, the user plane security capabilities being used to indicate the user plane security algorithms supported by the terminal device; and to obtain the first security algorithm based on the security capabilities of the terminal device.
[0333] In one possible implementation, the processing unit 602 is configured to obtain the first security algorithm based on the security capabilities of the terminal device, including: sending the user plane security capabilities to the traffic splitting node via the communication unit 603; and receiving the first security algorithm from the traffic splitting node, wherein the user plane security algorithms supported by the terminal device include the first security algorithm.
[0334] In one possible implementation, the processing unit 602 is further configured to determine the first security algorithm according to the second security algorithm, wherein the second security algorithm is used to protect the third user plane data of the first session between the terminal device and the first user plane anchor point.
[0335] In one possible implementation, the processing unit 602 is further configured to determine a second intermediate key based on the session root key, the second intermediate key being used to deduce a second session key, and the second session key being used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor point; the communication unit 603 is further configured to send the second intermediate key or the second session key to the first user plane anchor point.
[0336] In one possible implementation, the second session key is derived from the second intermediate key and the second security algorithm, which includes a second confidentiality protection algorithm and / or a second integrity protection algorithm.
[0337] In one possible implementation, the processing unit 602 is further configured to obtain the user plane security capabilities of the terminal device, the user plane security capabilities being used to indicate the user plane security algorithms supported by the terminal device; and to obtain the second security algorithm based on the security capabilities of the terminal device.
[0338] In one possible implementation, the processing unit 602 is configured to obtain the second security algorithm based on the security capabilities of the terminal device, including: sending the user plane security capabilities to the first user plane anchor point via the communication unit 603; and receiving the second security algorithm from the first user plane anchor point, wherein the user plane security algorithms supported by the terminal device include the second security algorithm.
[0339] In one possible implementation, the communication unit 603 is further configured to send a first indication message to the first user plane anchor point, the first indication message being used to indicate that the downlink user plane data of the first session is not subject to security protection.
[0340] In one possible implementation, the communication unit 603 is further configured to send a second indication message to the second user plane anchor point, the second indication message being used to indicate that the downlink user plane data of the first session is not subject to security protection.
[0341] In one possible implementation, the processing unit 602 is configured to determine a first intermediate key based on the session root key of the first session of the terminal device, including: determining the first intermediate key based on the session root key if it is determined that no information from the home session management network element has been received.
[0342] In one possible implementation, the processing unit 602 is configured to determine a first intermediate key based on the session root key of the first session of the terminal device, including: determining the first intermediate key based on the session root key when it is determined that user plane data of the first session will be split.
[0343] The communication device 600 can be a terminal device-side device in the above embodiments, such as a terminal device or a communication module in a terminal device, or a circuit or chip in a terminal device that is responsible for communication functions.
[0344] For example, in one embodiment, the processing unit 602 is configured to determine a first intermediate key based on the session root key of the first session of the terminal device; and to deduce a first session key based on the first intermediate key. The first session key is used to protect the first user plane data and the second user plane data of the first session during transmission between the terminal device and the splitter node. The first user plane data is transmitted to the first user plane anchor point through the splitter node, and the second user plane data is transmitted to the second user plane anchor point through the splitter node.
[0345] In one possible implementation, the processing unit 602 is configured to determine a first intermediate key based on the session root key of a first session of the terminal device, including: determining the first intermediate key based on the session root key, and a first counter and / or a second counter; wherein the first counter is used to record the number of times the intermediate key is derived for the first session, and the second counter is used to record the number of data packets that have been transmitted in the first session.
[0346] In one possible implementation, the processing unit 602 is configured to deduce a first session key based on the first intermediate key, including: deduce the first session key based on the first intermediate key and a first security algorithm, wherein the first security algorithm includes a first confidentiality protection algorithm and / or a first integrity protection algorithm.
[0347] In one possible implementation, the communication unit 603 is configured to receive the first security algorithm from the session management network element; or, to receive the first security algorithm from the traffic splitting node.
[0348] In one possible implementation, the processing unit 602 is further configured to determine a second intermediate key based on the session root key; and to deduce a second session key based on the second intermediate key, the second session key being used to protect the third user plane data of the first session during transmission between the terminal device and the first user plane anchor point.
[0349] In one possible implementation, the processing unit 602 is configured to deduce a second session key based on the second intermediate key, including: deduce the second session key based on the second intermediate key and a second security algorithm, wherein the second security algorithm includes a second confidentiality protection algorithm and / or a second integrity protection algorithm.
[0350] In one possible implementation, the communication unit 603 is configured to receive the second security algorithm from the session management network element; or, to receive the second security algorithm from the first user plane anchor point.
[0351] In one possible implementation, the processing unit 602 is further configured to perform security processing on the first user plane data of the first session based on the first session key, and send the security-processed first user plane data of the first session through the communication unit 603, wherein the packet header of the security-processed first user plane data of the first session carries information of the first user plane anchor point; the processing unit 602 is further configured to perform security processing on the second user plane data of the first session based on the first session key, and send the security-processed second user plane data of the first session through the communication unit 603, wherein the packet header of the security-processed second user plane data of the first session carries information of the second user plane anchor point.
[0352] In one possible design, when the communication device 600 is a terminal device or a communication module within a terminal device, the function of the processing unit 602 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 603 can be implemented by transceiver circuitry.
[0353] In one possible design, when the communication device 600 is a circuit or chip responsible for communication functions in a terminal device, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 602 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 603 can be implemented by an interface circuit or data transceiver circuit on the aforementioned chip.
[0354] It is understood that the division of units in the above-described device is merely a logical functional division. One function can correspond to one functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated onto a single physical entity, or distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for specific applications, but such implementations should not be considered beyond the scope of this application.
[0355] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.
[0356] In one example, storage unit 601 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.
[0357] Figure 7 is a schematic diagram of the structure of a terminal device 700 provided in an embodiment of this application. This terminal device 700 can correspond to the terminal device shown in Figure 1 or Figure 2, and is used to implement the operation of the terminal device in the above embodiments. As shown in Figure 7, the terminal device includes: one or more antennas 710, a radio frequency processing system 720, and a processor system 730.
[0358] In the downlink or sidelink direction, the RF processing system 720 receives RF signals through the antenna 710 and sends the RF-processed signals to the processor system 730 for further processing. In the uplink or sidelink direction, the processor system 730 processes the information from the terminal device side and sends it to the RF processing system 720, which then processes the signal and transmits it through the antenna 710.
[0359] In one example, the radio frequency (RF) processing system 720 serves as the communication interface for external communication of the terminal device and may include a radio frequency frontend (RFFE) 721 and an RF transceiver 722. The RFFE 721 is primarily used for one or more processing operations, such as shaping, passband selection, or gain adjustment, on the RF signals received by the antenna or those to be transmitted through the antenna. It may include one or more components such as RF switches, duplexers, filters, power amplifiers, antenna tuners, and low-noise amplifiers. The RFFE 721 can be a circuit system composed of multiple discrete components or integrated into one or more chips. The RF transceiver 722 processes the RF signals received by the RFFE into baseband / IF signals for further processing by the processor system 730, and processes the baseband / IF signals provided by the processor system 730 into RF signals for transmission to the RFFE 721. The baseband / IF signals transmitted between the RF transceiver 722 and the processor system 730 can be digital or analog signals. The RF transceiver 722 can be implemented by one or more chips, which are commonly referred to as RF ICs.
[0360] In one example, the processor system 730 may include one or more processors for processing signals and executing one or more communication protocols. Optionally, the processor system 730 may also include a memory 736. In one example, the one or more processors include at least one baseband processor 731 (also known as a modem processor). The memory 736 is used to store data and / or computer program instructions. Optionally, the processor system 730 may also include one or more application processors 732 for implementing processing of the terminal device's operating system and application layer. Optionally, the processor system 730 may also include one or more of a voice subsystem 733, a multimedia subsystem 734, or an interface circuit 735. The voice subsystem 733 is used to process voice signals, the multimedia subsystem 734 is used to handle multimedia-related operations, such as video encoding / decoding, image processing, etc., and the interface circuit 735 is used to enable communication with other terminal device components, such as a display 740, an input device 750, a memory 760, etc. The above-mentioned components in the processor system 730 can communicate with each other via a bus or communication interface circuit.
[0361] In one example, the processor system 730 can be packaged as a single processor chip, such as a SoC chip or a SIP chip. In another example, the processor system 730 can be a system composed of multiple chips; for example, the baseband processor 731 can be packaged as a single chip, or packaged with part or all of the circuitry of the radio frequency processing system into a single chip.
[0362] In one example, memory 736 can be on-chip memory, i.e., located on the processor system 730 chip. In another example, memory 760 can be off-chip memory, i.e. located outside the processor system 730 chip.
[0363] In one example, the baseband processor 731 may include one or more processor cores 7311 and interface circuitry 7314. The one or more processor cores 7311 are used to process signals and execute one or more communication protocols. Optionally, the baseband processor 731 may also include a memory 7312 for storing at least a portion of the corresponding computer program instructions and / or data. In one example, the one or more processor cores 7311 execute the computer program instructions stored in the memory 7312 to implement the relevant operations in the above method embodiments. In this disclosure, the memory 7312 storing the corresponding computer program instructions and / or data may mean that the memory 7312 stores all the corresponding computer program instructions and / or data for the processor core 7311 to execute; or it may mean that the memory 7312 stores a portion of the corresponding computer program instructions and / or data, which includes the computer program instructions and / or data currently needed to be executed by the processor core 7311. The memory 7312 can store different portions of computer program instructions and / or data multiple times for the processor core 7311 to execute in order to implement the relevant operations in the above method embodiments. Interface circuit 7314 serves as a communication interface for communication with other components, such as transmitting signals with RF processing system 720, communicating with other subsystems and related components of processor system 730 via bus, such as transmitting data control signals with application processor 732, and transmitting data or computer program instructions with memory 736 or memory 760. Optionally, to reduce the load on the processor core, baseband signal processing circuit 7313 can also be provided to perform at least some baseband signal processing, including one or more of signal demodulation, modulation, encoding, or decoding.
[0364] In one example, the communication device provided in this application may be a terminal device 700, including a communication module comprising a processor system 730 and a radio frequency processing system 720, or a baseband processor 731.
[0365] The processor, processor system, application processor, baseband processor, processor circuit, or processor core mentioned above can be collectively referred to as a processor. The processor may include one or more of the following: central processing unit (CPU), digital signal processor (DSP), microprocessor unit (MPU), microcontroller unit (MCU), graphics processing unit (GPU), field programmable gate array (FPGA), artificial intelligence processor (AI processor), or neural processing unit (NPU).
[0366] The aforementioned memory may include one or more of the following storage media: random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), phase-change memory (PCM), resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), cache, register, read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), hard disk, etc. In one example, computer program instructions for executing the above embodiments may be stored on non-volatile memory, such as at least a portion of the aforementioned memory 760 (e.g., one or more of ROM, flash memory, EPROM, or hard disk). When the terminal device is running, the corresponding computer program instructions may be partially or wholly loaded onto a memory with a faster transfer speed than the processor, such as at least a portion of the memory 736 and / or memory 7312 described above (e.g., one or more of RAM, SRAM, DRAM, PCM, RERAM, MRAM, FRAM, cache, or register), for the processor to execute in order to implement the steps in the above method embodiments.
[0367] In one example, the RF transceiver 722 and the RF front-end 721 can also be packaged in a single chip. In another example, the RF transceiver 722, the RF front-end 721, and the baseband processor 731 can also be packaged in a single chip.
[0368] The terms "system" and "network" in this application embodiment are used interchangeably. "At least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B, or C" includes A, B, C, AB, AC, BC, or ABC; "at least one of A, B, and C" can also be understood as including A, B, C, AB, AC, BC, or ABC. Furthermore, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in this application embodiment are used to distinguish multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects.
[0369] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.
[0370] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0371] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0372] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0373] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A communication method characterized by comprising: Comprising: determining a first intermediate key according to a session root key of a first session of a terminal device, the first intermediate key being used to derive a first session key, the first session key being used to protect first user plane data of the first session and second user plane data of the first session in a transmission process between the terminal device and a split node, the first user plane data being transmitted to a first user plane anchor point through the split node, the second user plane data being transmitted to a second user plane anchor point through the split node; sending the first intermediate key or the first session key to the split node.
2. The method of claim 1, wherein, The determining a first intermediate key according to a session root key of a first session of a terminal device comprises: determining the first intermediate key according to the session root key, and a first counter and / or a second counter; wherein the first counter is used to record a number of times of deriving intermediate keys for the first session, and the second counter is used to record a number of data packets of the first session that have been transmitted.
3. The method of claim 2, wherein, Further comprising: sending a request message to the first user plane anchor point, the request message being used to request to obtain the second counter; receiving the second counter from the first user plane anchor point.
4. The method of any one of claims 1 to 3, wherein, The first session key is derived according to the first intermediate key and a first security algorithm, the first security algorithm comprising a first confidentiality protection algorithm and / or a first integrity protection algorithm.
5. The method of claim 4, wherein, Further comprising: obtaining a user plane security capability of the terminal device, the user plane security capability being used to indicate user plane security algorithms supported by the terminal device; obtaining the first security algorithm according to the security capability of the terminal device.
6. The method of claim 5, wherein, The obtaining the first security algorithm according to the security capability of the terminal device comprises: sending the user plane security capability to the split node; receiving the first security algorithm from the split node, the user plane security algorithms supported by the terminal device comprising the first security algorithm.
7. The method of claim 4, wherein, Further comprising: determining the first security algorithm according to a second security algorithm, the second security algorithm being used to protect third user plane data of the first session between the terminal device and the first user plane anchor point.
8. The method of any one of claims 1 to 6, wherein, Further comprising: determining a second intermediate key according to the session root key, the second intermediate key being used to derive a second session key, the second session key being used to protect the third user plane data of the first session in a transmission process between the terminal device and the first user plane anchor point; sending the second intermediate key or the second session key to the first user plane anchor point.
9. The method of claim 8, wherein, The second session key is derived according to the second intermediate key and a second security algorithm, the second security algorithm comprising a second confidentiality protection algorithm and / or a second integrity protection algorithm.
10. The method of claim 9, wherein, Further comprising: obtaining a user plane security capability of the terminal device, the user plane security capability being used to indicate user plane security algorithms supported by the terminal device; obtaining the second security algorithm according to the security capability of the terminal device.
11. The method of claim 10, wherein, The obtaining the second security algorithm according to the security capability of the terminal device comprises: sending, to the first user plane anchor point, the user plane security capability; receiving, from the first user plane anchor point, the second security algorithm, the user plane security algorithm supported by the terminal device including the second security algorithm.
12. The method of any one of claims 1 to 11, wherein, Further comprising: sending, to the first user plane anchor point, first indication information, the first indication information being used to indicate that the downlink user plane data of the first session is not to be protected by security.
13. The method of any one of claims 1 to 12, wherein, Further comprising: sending, to the second user plane anchor point, second indication information, the second indication information being used to indicate that the downlink user plane data of the first session is not to be protected by security.
14. The method of any one of claims 1 to 13, wherein, The determining, according to a session root key of a first session of a terminal device, of a first intermediate key comprises: In a case where it is determined to split the user plane data of the first session, determining, according to the session root key, the first intermediate key.
15. A method of communication, comprising: Comprise: determining, according to a session root key of a first session of a terminal device, a first intermediate key; deriving, according to the first intermediate key, a first session key, the first session key being used to protect first user plane data of the first session and second user plane data of the first session in a transmission process between the terminal device and a split node, the first user plane data being transmitted to a first user plane anchor point through the split node, and the second user plane data being transmitted to a second user plane anchor point through the split node.
16. The method of claim 15, wherein, The determining, according to a session root key of a first session of a terminal device, of a first intermediate key comprises: determining, according to the session root key and a first counter and / or a second counter, the first intermediate key; The first counter is used to record a number of times of deriving intermediate keys for the first session, and the second counter is used to record a number of data packets of the first session that have been transmitted.
17. The method of claim 15 or 16, wherein, The deriving, according to the first intermediate key, of a first session key comprises: deriving, according to the first intermediate key and a first security algorithm, the first session key, the first security algorithm including a first confidentiality protection algorithm and / or a first integrity protection algorithm.
18. The method of claim 17, wherein, Further comprising: receiving, from a session management network element, the first security algorithm; or receiving, from the split node, the first security algorithm.
19. The method of any one of claims 15 to 18, wherein, Further comprising: determining, according to the session root key, a second intermediate key; deriving, according to the second intermediate key, a second session key, the second session key being used to protect third user plane data of the first session in a transmission process between the terminal device and the first user plane anchor point.
20. The method of claim 19, wherein, The deriving, according to the second intermediate key, of a second session key comprises: deriving, according to the second intermediate key and a second security algorithm, the second session key, the second security algorithm including a second confidentiality protection algorithm and / or a second integrity protection algorithm.
21. The method of claim 20, wherein, Further comprising: receiving, from a session management network element, the second security algorithm; or receiving, from the first user plane anchor point, the second security algorithm.
22. The method of any one of claims 15 to 21, wherein, Further comprising: security processing the first user plane data of the first session based on the first session key, and sending the security processed first user plane data of the first session, wherein a packet header of the security processed first user plane data of the first session carries information of the first user plane anchor point; security processing the second user plane data of the first session based on the first session key, and sending the security processed second user plane data of the first session, wherein a packet header of the security processed second user plane data of the first session carries information of the second user plane anchor point.
23. A communications device, characterized by A module for performing the method of any one of claims 1 to 14, or the method of any one of claims 15 to 22.
24. A communications device, characterized by A processor and an interface circuit, wherein the processor is configured to communicate with other devices via the interface circuit to implement the method of any one of claims 1 to 14, or implement the method of any one of claims 15 to 22.
25. A computer program product, characterised in that, The computer program product comprises instructions which, when executed, implement the method of any one of claims 1 to 14, or implement the method of any one of claims 15 to 22.
26. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions which, when executed, implement the method of any one of claims 1 to 14, or implement the method of any one of claims 15 to 22.
27. A communication system, characterized by comprising: a session management network element configured to implement the method of any one of claims 1 to 14; a split node configured to receive a first intermediate key or a first session key from the session management network element.
28. The system of claim 27, wherein, Further comprising: the split node is further configured to, in a case where the first intermediate key is received, derive the first session key based on the first intermediate key and a first security algorithm.
29. The system of claim 27 or 28, wherein, The system further comprises a terminal device configured to implement the method of any one of claims 15 to 22.
30. The system of any one of claims 27 to 29, wherein, The system further comprises a first user plane anchor point and a second user plane anchor point; the first user plane anchor point is configured to send or receive first user plane data of the first session between the terminal device and the first user plane anchor point; the second user plane anchor point is configured to send or receive second user plane data of the first session between the terminal device and the second user plane anchor point.
Citation Information
Patent Citations
Secure session method and device
CN110830991A
Communication method and apparatus, and computer-readable storage medium
WO2021244622A1
Communication method and communication apparatus
WO2024093738A1