WO2026016802A1 - 通信方法及装置 - Google Patents

通信方法及装置

Info

Publication number
WO2026016802A1
WO2026016802A1 PCT/CN2025/104636 CN2025104636W WO2026016802A1 WO 2026016802 A1 WO2026016802 A1 WO 2026016802A1 CN 2025104636 W CN2025104636 W CN 2025104636W WO 2026016802 A1 WO2026016802 A1 WO 2026016802A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
value
terminal device
key
session establishment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/104636
Other languages
English (en)
French (fr)
Inventor
郭燕飞
吴义壮
李�赫
雷骜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2026016802A1 publication Critical patent/WO2026016802A1/zh
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement

Definitions

  • This application relates to the field of communications, and more particularly to communication methods and apparatus.
  • user plane data is protected hop-by-hop during transmission. This means that user plane data is protected between the terminal device and the base station, and between the base station and the user plane function. This results in user plane data appearing in plaintext at the base station, making it vulnerable to near-end probing and physical attacks. Therefore, it is desirable to establish end-to-end security protection between the terminal device and the user plane function, whereby the base station does not perform integrity verification and decryption of user plane data, but can only forward encrypted data.
  • user plane protection keys are designed at the terminal device level.
  • both the terminal device and the base station can maintain the counter values input by the terminal device during user plane data protection.
  • the output key stream will not be reused due to differences in the input counter values.
  • the terminal device and user plane function cannot maintain the same input counter values for user plane data protection as in hop-by-hop security protection scenarios to ensure the output key stream is not reused. Therefore, how to solve the user plane data security problem in end-to-end security protection scenarios between terminal devices and user plane functions is an urgent issue to address.
  • This application provides a communication method and apparatus that, in an end-to-end security protection scenario, uses session-level keys to securely protect user plane data, ensuring that keys used by different sessions are not reused within a master authentication cycle, thereby improving the security of user plane data transmission.
  • a communication method is provided. This method can be executed by a first network element, or by a component of the first network element, such as a processor, chip, or chip system of the first network element, or by a logic module or software capable of implementing all or part of the first network element.
  • the method includes: receiving a first message from a terminal device, the first message including a session establishment request and a session identifier corresponding to the session establishment request; sending the session establishment request, the session identifier, and a first key, the first key being used for secure processing of data in the session corresponding to the session identifier, wherein the first key is determined based on the session identifier and a first value, the first value being a count value or a random value, and different session establishment requests correspond to different first values.
  • the first network element can generate a first key for each session establishment request initiated by the terminal device using a first value and the session identifier of the requested session, and send it to the corresponding user plane network element.
  • the terminal device will also generate the same first key as the first network element for each session establishment request it initiates.
  • the first key is used to securely protect the data in the requested session or the session corresponding to the session identifier.
  • Each session establishment request is assigned a different first value, which can be assigned by the first network element or the terminal device. Thus, regardless of whether the terminal device sends multiple session establishment requests with the same session identifier, the generated first key will be different.
  • the first key for securely processing user plane data can be guaranteed not to be reused, thus ensuring end-to-end user plane data security.
  • the count value can be obtained by using a counter.
  • This counter can be used to count the number of session establishment requests requested by the terminal device, the number of Non-Access Stratum (NAS) messages sent by the terminal device, or the number of NAS messages sent to the terminal device. Therefore, by adding new counters or reusing NAS counters, different count values can be generated for different sessions, ensuring that the first key is different for each session and thus guaranteeing end-to-end user plane data security.
  • NAS Non-Access Stratum
  • the method described in the first aspect may further include: receiving a second message, the second message indicating that the count value be incremented by one; and incrementing the count value by one according to the second message.
  • the first network element can change the count value based on the triggering of the message, thereby ensuring that different sessions correspond to different count values, resulting in different first keys for different sessions, and thus ensuring the security of user plane data between ends.
  • the method described in the first aspect may further include: when the count value reaches its maximum value, sending a first indication message, the first indication message being used to instruct the terminal device to re-perform master authentication. After the master authentication is completed, the count value is reset to zero.
  • master authentication of the terminal device can be triggered, allowing the count value to be flipped, such as the count value changing from its maximum value to 0 and restarting counting.
  • the key of the first network element used to generate the first key is updated after master authentication, ensuring that the first key is not reused.
  • the method described in the first aspect may further include: storing the correspondence between the random value and the session identifier; and sending the random value to the terminal device.
  • the first network element can assign different random values to different sessions to generate different first keys, and send the random values to the terminal device to ensure that the first keys generated for the same session on both sides are the same, thereby ensuring the security of user plane data between ends.
  • the method described in the first aspect may further include: clearing all stored random values after performing master authentication on the terminal device.
  • the method described in the first aspect may further include: receiving a random value from the terminal device.
  • the random value can be generated by the terminal device, and the first network element can obtain the random value from the terminal device to ensure that the first keys generated by both sides for the same session are identical, thereby guaranteeing end-to-end user plane data security.
  • the random value can be carried in the first message.
  • different session establishment requests correspond to different first values, which may include: session establishment requests with different session identifiers corresponding to different first values, and session establishment requests with the same session identifier corresponding to different first values.
  • a communication method is provided. This method can be executed by a terminal device, or by a component of the terminal device, such as a processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the terminal device.
  • the method includes: sending a first message, the first message including a session establishment request and a session identifier corresponding to the session establishment request; determining a first key based on the session identifier and a first value, the first key being used for secure processing of data in the session corresponding to the session identifier; the first value being a counter value or a random value, with different first values corresponding to different session establishment requests.
  • the count value can be obtained by counting with a counter, which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of NAS messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • the method described in the second aspect may further include: incrementing the count value by one after sending the first message or after receiving the session establishment acceptance message.
  • the method described in the second aspect may further include: setting the count value to zero after completing the primary authentication.
  • the method described in the second aspect may further include: receiving a random value.
  • the random value can be carried in the session establishment and acceptance message.
  • the method described in the second aspect may further include: after completing the primary authentication, clearing all stored random values.
  • the method described in the second aspect may further include: storing the correspondence between the session identifier and the random value; and sending the random value.
  • the random value can be carried in the first message.
  • different session establishment requests correspond to different first values, which may include: session establishment requests with different session identifiers corresponding to different first values, and session establishment requests with the same session identifier corresponding to different first values.
  • the method described in the second aspect may further include: performing secure processing on the data in the session corresponding to the session identifier based on the first key.
  • a communication method is provided. This method can be executed by a session management network element, or by a component of the session management network element, such as a processor, chip, or chip system of the session management network element, or by a logic module or software capable of implementing all or part of the session management network element.
  • the method includes: receiving a session establishment request, a session identifier corresponding to the session establishment request, and a first key.
  • the first key is used for secure processing of data in the session corresponding to the session identifier.
  • the first key is determined based on the session identifier and a first value, where the first value is a count value or a random value, and different session establishment requests correspond to different first values.
  • the method also involves sending the session identifier and the first key to a user plane network element.
  • the count value can be obtained by counting with a counter, which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of NAS messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • the method described in the third aspect may further include: sending a second message, the second message being used to instruct the count value to be incremented by one.
  • the method described in the third aspect may further include: sending a third message, the third message being used to instruct the terminal device to send a random value.
  • a communication device for implementing the various methods described above.
  • This communication device can be the first network element in the first aspect, or a device containing the first network element, or a device included in the first network element, such as a chip.
  • the communication device includes corresponding modules, units, or means for implementing the methods described in the first aspect. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the functions described above.
  • the communication device includes a processing module and a transceiver module.
  • the transceiver module receives a first message from a terminal device, the first message including a session establishment request and a session identifier corresponding to the session establishment request.
  • the processing module determines a first key based on the session identifier and a first value.
  • the transceiver module also sends the session establishment request, the session identifier, and the first key.
  • the first key is used for secure processing of data in the session corresponding to the session identifier, and the first value is a counter value or a random value; different session establishment requests correspond to different first values.
  • the count value can be obtained by counting with a counter, which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of non-access stratum (NAS) messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • a counter which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of non-access stratum (NAS) messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • NAS non-access stratum
  • the transceiver module is further configured to receive a second message, which instructs the count value to be incremented by one. The count value is then incremented by one according to the second message.
  • the transceiver module when the count value reaches its maximum value, is further configured to send a first indication message, which instructs the terminal device to re-perform master authentication. After the master authentication is completed, the processing module is further configured to set the count value to zero.
  • the processing module is also used to store the correspondence between the random value and the session identifier.
  • the transceiver module is also used to send the random value to the terminal device.
  • the processing module after performing primary authentication on the terminal device, the processing module is also used to clear all stored random values.
  • the transceiver module is also used to receive a random value from the terminal device.
  • the random value can be carried in the first message.
  • different session establishment requests correspond to different first values, which may include: session establishment requests with different session identifiers corresponding to different first values, and session establishment requests with the same session identifier corresponding to different first values.
  • the transceiver module may include a receiving module and a sending module.
  • the sending module implements the sending function of the communication device described in the fourth aspect
  • the receiving module implements the receiving function of the communication device described in the fourth aspect.
  • the communication device described in the fourth aspect may further include a storage module storing programs or instructions.
  • the processing module executes the program or instructions, the communication device described in the fourth aspect can perform the method described in the first aspect.
  • a communication device for implementing the various methods described above.
  • This communication device can be a terminal device as described in the second aspect, or a device comprising the terminal device, or a device included in the terminal device, such as a chip.
  • the communication device includes corresponding modules, units, or means for implementing the methods described in the second aspect. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the functions described above.
  • the communication device includes a processing module and a transceiver module.
  • the transceiver module is used to send a first message, which includes a session establishment request and a session identifier corresponding to the session establishment request.
  • the processing module is used to determine a first key based on the session identifier and a first value.
  • the first key is used to securely process data in the session corresponding to the session identifier.
  • the first value is a counter value or a random value, and different session establishment requests correspond to different first values.
  • the count value can be obtained by counting with a counter, which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of NAS messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • the processing module is further configured to increment the count value by one after sending the first message or after receiving the session establishment acceptance message.
  • the processing module is also used to set the count value to zero after the master authentication is completed.
  • the transceiver module is also used to receive random values.
  • the random value can be carried in the session establishment and acceptance message.
  • the processing module is also used to clear all stored random values after the master authentication is completed.
  • the processing module is also used to store the correspondence between the session identifier and the random value.
  • the transceiver module is also used to send the random value.
  • the random value can be carried in the first message.
  • different session establishment requests correspond to different first values, which may include: session establishment requests with different session identifiers corresponding to different first values, and session establishment requests with the same session identifier corresponding to different first values.
  • the processing module is also used to perform secure processing on the data in the session corresponding to the session identifier based on the first key.
  • the transceiver module may include a receiving module and a sending module.
  • the sending module implements the sending function of the communication device described in the fifth aspect
  • the receiving module implements the receiving function of the communication device described in the fifth aspect.
  • the communication device described in the fifth aspect may further include a storage module storing programs or instructions.
  • the processing module executes the program or instructions, the communication device described in the fifth aspect can perform the method described in the second aspect.
  • a communication device for implementing the various methods described above.
  • This communication device may be a session management network element as described in the third aspect, or a device containing the session management network element, or a device included in the session management network element, such as a chip.
  • the communication device includes corresponding modules, units, or means for implementing the methods described in the third aspect. These modules, units, or means may be implemented in hardware, software, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the functions described above.
  • the communication device includes a processing module and a transceiver module.
  • the transceiver module receives a session establishment request, a session identifier corresponding to the session establishment request, and a first key.
  • the first key is used for secure processing of data in the session corresponding to the session identifier.
  • the first key is determined based on the session identifier and a first value, which can be a count value or a random value; different session establishment requests correspond to different first values.
  • the processing module determines the user plane network element.
  • the transceiver module also sends the session identifier and the first key to the user plane network element.
  • the count value can be obtained by counting with a counter, which is used to count the number of session establishment requests requested by the terminal device, or the counter is used to count the number of NAS messages sent by the terminal device, or the counter is used to count the number of NAS messages sent to the terminal device.
  • the transceiver module is also used to send a second message, which is used to indicate that the count value should be incremented by one.
  • the transceiver module is also used to send a third message, which is used to instruct the terminal device to send a random value.
  • the transceiver module may include a receiving module and a transmitting module.
  • the transmitting module implements the transmitting function of the communication device described in the sixth aspect
  • the receiving module implements the receiving function of the communication device described in the sixth aspect.
  • the communication device described in the sixth aspect may further include a storage module storing programs or instructions.
  • the processing module executes the program or instructions, the communication device described in the sixth aspect can perform the method described in the third aspect.
  • a seventh aspect provides a communication device (e.g., the communication device may be a chip or a chip system).
  • the communication device includes a processor for implementing the functions involved in any of the preceding aspects.
  • the communication device may further include a memory for storing necessary program instructions and data.
  • a processor is coupled to the memory and is used to execute the computer program or instructions stored in the memory, causing the communication device to perform the method described in any of the possible implementations of the first to third aspects.
  • the communication device described in the seventh aspect may further include a transceiver.
  • This transceiver may be a transceiver circuit or an interface circuit.
  • the transceiver can be used for communication between the communication device described in the seventh aspect and other communication devices.
  • the processor can be integrated with the memory.
  • the device when it is a chip system, it can be composed of chips or contain chips and other discrete components.
  • a communication device including a processor and an interface circuit, the interface circuit being configured to receive signals from other communication devices outside the communication device and transmit them to the processor or to send signals from the processor to other communication devices outside the communication device, the processor being configured to implement the method as described in any one of the possible implementations of the first to third aspects via logic circuits or execution code instructions.
  • the aforementioned transmitting action/function can be understood as an output
  • the aforementioned receiving action/function can be understood as an input.
  • a computer-readable storage medium stores a computer program or instructions that, when executed on a communication device, enable the communication device to perform the method described in any one of the first to third aspects.
  • a computer program product including instructions, comprising computer program code, which, when executed on a communication device, enables the communication device to perform the method described in any one of the first to third aspects.
  • a communication system comprising: a first network element for implementing the method described in the first aspect, a terminal device for implementing the method described in the second aspect, and a session management network element for implementing the method described in the third aspect.
  • Figure 1 is a schematic diagram of the architecture of a non-roaming 5G system based on service-oriented interfaces
  • Figure 2 is a schematic diagram of a key deduction architecture in a 5G system
  • Figure 3 is a schematic diagram of an algorithm negotiation process
  • Figure 4 is a flowchart illustrating a UP security activation mechanism
  • Figure 7 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application.
  • Figure 8 is a flowchart illustrating a communication method provided in an embodiment of this application.
  • Figure 9 is a flowchart illustrating another communication method provided in an embodiment of this application.
  • Figure 10 is a flowchart illustrating another communication method provided in an embodiment of this application.
  • FIG 11 is a flowchart illustrating another communication method provided in an embodiment of this application.
  • Figure 12 is a schematic diagram of the structure of a communication device provided in an embodiment of this application.
  • Figure 13 is a schematic diagram of another communication device provided in an embodiment of this application.
  • Wi-Fi wireless fidelity
  • V2X vehicle-to-everything
  • D2D device-to-device
  • V2X vehicle-to-everything
  • WiMAX worldwide interoperability for microwave access
  • 4th generation (4G) mobile communication systems such as long term evolution (LTE) systems
  • 5th generation (5G) mobile communication systems such as new radio (NR) systems
  • NR new radio
  • 5G is a new generation of broadband mobile communication technology characterized by high speed, low latency, and massive connectivity.
  • 5G communication facilities are the network infrastructure for realizing the interconnection of humans, machines, and things.
  • Figure 1 shows a schematic diagram of the architecture of a non-roaming 5G system based on a service-oriented interface.
  • This 5G system includes terminal equipment, a radio (R) access network (AN), and a core network (CN).
  • R radio
  • CN core network
  • the terminal equipment accesses the data network (DN) through the AN and CN.
  • DN data network
  • the terminal device can be a terminal device with transceiver capabilities, or it can be a chip or chip system installed in the terminal device.
  • the terminal device can also be referred to as user equipment (UE), access terminal, subscriber unit, user station, mobile station (MS), mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device.
  • the terminal device can be a mobile phone, cellular phone, smartphone, tablet computer, wireless data card, personal digital assistant computer (PDA), wireless modem, handset, laptop computer, machine-type communication (MTC) terminal, Internet of Things (IoT) terminal, computer with wireless transceiver capabilities, virtual reality (VR) terminal, or augmented reality (AR) terminal.
  • PDA personal digital assistant computer
  • IoT Internet of Things
  • VR virtual reality
  • AR augmented reality
  • the terminal equipment described in this application can be an on-board module, on-board unit, on-board component, on-board chip, or on-board unit integrated into a vehicle as one or more components or units.
  • the terminal equipment can also be other devices with terminal functions; for example, it can be a device that functions as a terminal in D2D communication.
  • the embodiments of this application do not limit the device form of the terminal device.
  • the device used to implement the function of the terminal device can be the terminal device itself; it can also be a device that supports the terminal device in implementing the function, such as a chip system.
  • the device can be installed in the terminal device or used in conjunction with the terminal device.
  • the chip system can be composed of chips or can include chips and other discrete components.
  • An Access Network is used to implement access-related functions. It can provide network access for authorized users in a specific area and determine different quality transmission links to transmit user data based on user level, service requirements, etc.
  • the AN forwards control signals and user data between the terminal equipment and the Network Controller (CN).
  • An AN may include: access network equipment, also known as access network nodes, radio access network (RAN) nodes, RAN equipment, RAN entities, or access nodes, etc., located on the network side of the aforementioned communication system. It is used to help terminal equipment achieve wireless access and is a device with wireless transceiver capabilities, or a chip or chip system that can be installed in the device.
  • RAN radio access network
  • the access network equipment includes, but is not limited to: base stations, evolved Node Bs (eNodeB/eNB), access points (APs), transmission reception points (TRPs or transmission points (TPs), next-generation Node Bs (gNBs), base stations in future mobile communication systems, or access nodes in Wi-Fi systems.
  • Access network equipment can be macro base stations, micro base stations or indoor stations, relay nodes or donor nodes, open radio access networks (ORANs), or radio controllers in centralized radio access network (CRAN) scenarios.
  • Access network equipment can also be one or a group of antenna panels (including multiple antenna panels) of a 5G base station, or it can be a network node constituting a gNB, TRP, TP, or transmission measurement function (TMF), such as a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), a radio unit (RU), or a roadside unit (RSU) with base station functionality.
  • TMF transmission measurement function
  • CU central unit
  • DU distributed unit
  • CP a CU-control plane
  • UP CU-user plane
  • RU radio unit
  • RSU roadside unit
  • access network equipment can also be a server, wearable device, vehicle, or in-vehicle equipment.
  • the access network equipment in V2X technology can be an RSU.
  • All or part of the functions of the access network equipment 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 equipment in this application can also be a logical node, logical module, or software capable of implementing all or part of the access network equipment functions.
  • CU and DU can be configured separately or included in the same network element, such as a baseband unit (BBU).
  • RU can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRU), active antenna units (AAU), or remote radio heads (RRH).
  • RRU remote radio units
  • AAU active antenna units
  • RRH remote radio heads
  • access network equipment can be CU nodes, DU nodes, or equipment including both CU and DU nodes.
  • CU can be classified as a network device in the access network RAN or as a network device in the CN; no restrictions are placed here.
  • CU or CU-CP and CU-UP
  • DU or RU
  • RU may have different names, but those skilled in the art will understand their meaning.
  • 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
  • RU can also be called O-RU.
  • 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 software modules, hardware modules, or a combination of software and hardware modules.
  • the form of the access network device is not limited.
  • the device used to implement the function of the access network device can be the access network device itself; it can also be a device that supports the access network device in implementing the function, such as a chip system.
  • the device can be installed in the access network device or used in conjunction with the access network device.
  • the CN is primarily responsible for maintaining the subscription data of the mobile network and providing terminal devices with functions such as session management, mobility management, policy management, and security authentication.
  • the CN mainly includes the following network elements: UPF, AUSF, AMF, session management function (SMF), network slice selection function (NSSF), network exposure function (NEF), network function repository function (NRF), policy control function (PCF), unified data management (UDM), application function (AF), edge application server discovery function (EASDF), the network slice admission control function (NSACF), service communication proxy (SCP), and network slice-specific and SNPN authentication and authorization function (NSSAAF).
  • UPF User Planet Configuration Function
  • AUSF Access Management Function
  • AMF session management function
  • SMF network slice selection function
  • NEF network exposure function
  • NRF network function repository function
  • PCF policy control function
  • UDM unified data management
  • AF application function
  • EASDF edge application server discovery function
  • SCP service communication proxy
  • NSSAAF network slice-specific and SN
  • the UPF User Provider Function
  • the UPF is primarily responsible for user data processing (forwarding, receiving, billing, etc.).
  • the UPF can receive user data from the DN (Digital Network Node) and forward it to the terminal device through the access network equipment.
  • the UPF can also receive user data from the terminal device through the access network equipment and forward it to the DN.
  • PDU Protocol Data Unit
  • N6 the UPF directly connected to the DN via N6 is also called the Protocol Data Unit Session Anchor (PSA).
  • PSA Protocol Data Unit Session Anchor
  • AUSF is primarily used to perform security authentication for terminal devices.
  • AMF is primarily used for mobility management in mobile networks. Examples include user location updates, user network registration, and user handover.
  • SMF is primarily used for session management in mobile networks. This includes session establishment, modification, and release. Specific functions include assigning Internet Protocol (IP) addresses to users and selecting a UPF (User-Defined Provider) to handle packet forwarding.
  • IP Internet Protocol
  • UPF User-Defined Provider
  • NSSF is primarily used to select network slices for end devices.
  • the NEF is primarily used to support the opening of capabilities and events.
  • the NEF can expose some capabilities of the 5G network to third-party applications through application programming interfaces (APIs).
  • Third-party applications can obtain some capabilities of the 5G network by calling the APIs provided by the NEF through the AF, enabling them to control certain behaviors of the 5G network and terminal devices.
  • NRF is mainly used to provide network element discovery functions. Based on requests from other network elements, it provides network element information corresponding to the network element type. It also provides network element management services, such as network element registration, updating, deregistration, and network element status subscription and push.
  • the PCF primarily supports providing a unified policy framework to control network behavior, delivering policy rules to control-layer network functions, and acquiring user subscription information related to policy decisions.
  • the PCF can provide policies to the AMF and SMF, such as Quality of Service (QoS) policies and slice selection policies.
  • QoS Quality of Service
  • UDM is primarily used to store user data, such as contract data and authentication/authorization data.
  • AF Application Filter
  • PCF Process Control Fund
  • EASDF primarily processes Domain Name System (DNS) messages according to the instructions of the SMF, including exchanging DNS messages from terminal devices and forwarding DNS messages to central (C)-DNS or local (L)-DNS for DNS queries.
  • DNS Domain Name System
  • NSACF primarily monitors and controls the number of registered terminal devices on each network slice and the number of PDU sessions established on each network slice. It provides event-based network slice status notifications and reports to users (network functions, NFs).
  • SCP primarily supports Hypertext Transfer Protocol (HTTP) signaling indirect communication functions, providing signaling message routing and forwarding between NFs in the CN.
  • HTTP Hypertext Transfer Protocol
  • NSSAAF can be used to support slice authentication and authorization, as well as to support access to independent, non-public networks using the credentials of the credential holder.
  • the above examples illustrate several core network elements included in the CN.
  • other core network elements may also be included, such as the unified data repository (UDR), which is mainly used to store structured data.
  • the stored content includes contract data and policy data, structured data exposed to the outside world, and application-related data.
  • NF can be implemented in hardware or software.
  • a Data Network 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.
  • 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 the internal office network of a company. Employees' mobile phones or computers can act as terminal devices, accessing information and data resources on the company's internal office network.
  • Nnef, Nnrf, Npcf, Nudm, Nudr, Nnwdaf, Naf, Nausf, Namf, Nsmf, N1, N2, N3, N4, and N6 are interface sequence numbers.
  • the meanings of these interface sequence numbers can be found in the 3GPP standard protocols, and this application does not limit the meaning of these interface sequence numbers.
  • the interface names between the various network functions in Figure 1 are merely examples; in specific implementations, the interface names of this system architecture may be other names, and this application does not limit them.
  • the names of the messages (or signaling) transmitted between the various network elements are also merely examples and do not constitute any limitation on the function of the messages themselves.
  • the interface between (R)AN and CN can also be called the NG interface (not shown in Figure 1).
  • (R)AN and CN are connected through the NG interface.
  • the NG interface can include the NG-C interface and the NG-U interface.
  • the NG-C interface is the control plane interface, connecting (R)AN and AMF, and is used to transmit control plane data.
  • the NG-U interface is the user plane interface, connecting (R)AN and UPF, and is used to transmit user plane data.
  • AMF, SMF, UPF, NEF, AUSF, NRF, PCF, and UDM shown in Figure 1 can be understood as network elements in the core network used to implement different functions, such as network slices that can be combined as needed. These core network elements can be independent devices or integrated into the same device to implement different functions. This application does not limit the specific form of the above network elements.
  • User plane data transmission includes uplink user plane data transmission and downlink user plane data transmission.
  • Uplink user plane data transmission refers to the user plane data from the terminal device being transmitted to the DN sequentially via the base station and UPF
  • downlink user plane data transmission refers to the user plane data from the DN being transmitted to the terminal device sequentially via the UPF and the base station.
  • 5G systems employ hop-by-hop security protection to ensure secure communication by protecting user plane data between terminal devices and the Data Network (DN). This includes protecting transmitted user plane data between the terminal device and the base station, and establishing an Internet Protocol Security (IPSec) tunnel between the base station and the UPF.
  • IPSec Internet Protocol Security
  • the 5G system can allocate necessary air interface resources to the terminal device, obtain the security protection key between the terminal device and the base station, and activate user plane security protection between them during the establishment of the PDU session for transmitting the data packet, thus ensuring secure communication between the terminal device and the base station.
  • the security protection of user plane data includes:
  • the security protection of user plane data includes confidentiality protection (or encryption protection) and integrity protection.
  • the key used for user plane data protection is derived by the terminal device through the authentication process after it registers with the network.
  • FIG. 2 shows a schematic diagram of a key derivation architecture in a 5G system.
  • the terminal device's long-term key K is stored on both the Universal Subscriber Identity Module (USIM) of the terminal device and the UDM/Authentication Repository Function (ARPF) on the network side.
  • USIM Universal Subscriber Identity Module
  • ARPF UDM/Authentication Repository Function
  • CK encryption key
  • IK integrity key
  • K SEAF is derived
  • K AMF is derived
  • K gNB and NH are derived.
  • the control plane non-access stratum (NAS) key (NAS integrity protection key K NASint , NAS confidentiality protection key K NASenc ), the radio resource control (RRC) key (RRC integrity protection key K RRCint , RRC confidentiality protection key K RRCenc ), and the user plane key (user plane integrity protection key K UPint , user plane confidentiality protection key K UPenc )
  • K N3IWF can be generated through K AMF to protect the data traffic of subsequent non-3GPP access.
  • KDF key derivation function
  • K AUSF the derivation of K AUSF is as follows: Where CK
  • TS technical specification
  • L1 is... The length.
  • K SEAF KDF(K AUSF ,0x6C,serving network name,L0).
  • K AMF KDF(K SEAF , 0x6D, IMSI/NAI/GCI/GLI, L0, ABBA parameter, L1).
  • IMSI, NAI, GCI, and GLI are four types of subscription permanent identifiers (SUPI)
  • IMSI is the international mobile station identity
  • NAI is the network access identifier
  • GCI is the global cable identifier
  • GLI is the global line identifier
  • ABBA parameter is the anti-bidding down between architectures (AABA) parameter
  • L1 is the length of the ABBA parameter.
  • KgNB KDF( KAMF , 0x6E, Uplink NAS COUNT, Length of Uplink NAS COUNT, Access Type Distinguisher, Length of Access Type Distinguisher).
  • the value of the access type distinguisher is 0x01
  • the value of the access type distinguisher is 0x02.
  • KNAS / KRRC / KUP KDF( KAMF / KgNB , 0x69, Algorithm Type Discriminator, Algorithm Type Discriminator Length, Algorithm Identifier, Algorithm Identifier Length).
  • the algorithm type distinguisher is N-NAS-enc-alg; for the NAS integrity protection algorithm, the algorithm type distinguisher is N-NAS-int-alg; for the RRC encryption algorithm, the algorithm type distinguisher is N-RRC-enc-alg; for the RRC integrity protection algorithm, the algorithm type distinguisher is N-RRC-int-alg; for the UP encryption algorithm, the algorithm type distinguisher is N-UP-enc-alg; for the UP integrity protection algorithm, the algorithm type distinguisher is N-UP-int-alg.
  • Table 1 The values of each algorithm type distinguisher are shown in Table 1 below:
  • the algorithm identifier includes an encryption algorithm identifier and an integrity algorithm identifier.
  • Each encryption algorithm (NEA) and integrity algorithm (NIA) is assigned a 4-bit encryption algorithm identifier, with different identifiers corresponding to different encryption/integrity algorithms. For example, the identifier for encryption algorithm NEA0 is 0000, the identifier for encryption algorithm 128-NEA1 is 0001, the identifier for encryption algorithm 128-NEA2 is 0010, and the identifier for encryption algorithm 128-NEA3 is 0011.
  • the identifier for integrity algorithm NIA0 is 0000
  • the identifier for integrity algorithm 128-NIA1 is 0001
  • the identifier for integrity algorithm 128-NIA2 is 0010
  • the identifier for integrity algorithm 128-NIA3 is 0011.
  • the algorithm identifier of the encryption algorithm or integrity algorithm will be used as input, and the distinction between encryption and integrity protection will be made.
  • the security algorithm used to protect user plane data between the terminal device and the base station is the highest-priority security algorithm selected by the base station based on the security capabilities of the terminal device and the base station's local security capabilities.
  • the base station can send the selected security algorithm to the terminal device through the Access Stratum (AS) Security Mode Command (SMC) procedure.
  • AS Access Stratum
  • SMC Security Mode Command
  • the base station sends its selected confidentiality and integrity protection algorithms (chosen based on the highest priority of the terminal device's security capabilities and the base station's local security capabilities) to the terminal device.
  • the terminal device carries its security capabilities during the registration process.
  • the negotiation process for confidentiality and integrity protection algorithms may include the following steps:
  • the base station initiates RRC integrity protection.
  • the base station sends an AS Security Mode Command to the terminal device.
  • the terminal device receives the AS Security Mode Command from the base station.
  • the AS Security Mode Command includes the integrity algorithm, encryption algorithm, and MAC-I.
  • base station initiates RRC downlink encryption.
  • base station initiates RRC uplink decryption.
  • the terminal device verifies the integrity of the AS SMC. If successful, it initiates RRC integrity protection and RRC downlink decryption.
  • the terminal device sends an AS Security Mode Complete message to the base station.
  • the base station receives the AS Security Mode Complete message from the terminal device.
  • the AS Security Mode Complete message includes MAC-I.
  • terminal device initiates RRC uplink encryption.
  • the security policy for user plane data is at the PDU session granularity. Specifically, during the establishment of a PDU session, the SMF obtains the security policy for that PDU session (including whether confidentiality protection and encryption protection are required, not needed, and preferred) and sends the corresponding security policy to the base station. The base station then applies this security policy to all data radio bearers (DRBs) allocated for that PDU session. Specifically, AS UP integrity protection and encryption activation should be part of the DRB addition process, completed using the RRC connection reconfiguration process shown in Figure 4.
  • DRBs data radio bearers
  • FIG. 4 shows a flowchart of a UP security activation mechanism, which includes the following steps:
  • the base station determines that RRC security is activated, such as RRC encryption and RRC integrity protection being activated.
  • the base station sends an RRC Connection Reconfiguration message to the terminal device.
  • the terminal device receives the RRC Connection Reconfiguration message from the base station.
  • the RRC Connection Reconfiguration message includes a UP integrity indication and a UP ciphering indication for each DRB.
  • the terminal device verifies the integrity of the RRC connection reconfiguration. If successful, for each DRB, if UP integrity is activated, uplink UP integrity protection and downlink UP integrity verification are initiated; for each DRB, if UP encryption is activated, uplink UP encryption and downlink UP decryption are initiated.
  • S42b The terminal device sends an RRC Connection Reconfiguration Complete message to the base station.
  • the base station receives the RRC Connection Reconfiguration Complete message from the terminal device.
  • UP integrity indication and UP ciphering indication both refer to whether protection is enabled, and do not include specific encryption and integrity protection algorithms.
  • the encryption and integrity protection algorithms are sent to the terminal device by the base station during the AS SMC process mentioned above (this process may be earlier than user plane activation, and AS covers RRC signaling and user plane air interface transmission).
  • the terminal device and the base station can perform encryption and integrity protection based on DRB and corresponding security policies.
  • the security policy is at the PDU session granularity, and the security policy of the DRB corresponding to a certain PDU session is the same.
  • FIG. 5 shows a schematic diagram of a data encryption and decryption process defined in 3GPP.
  • the sending end inputs the key KEY, COUNT, BEARER, DIRECTION, and LENGTH into the NEA, outputting a keystream KEYSTREAM BLOCK.
  • the output keystream KEYSTREAM BLOCK is XORed with the plaintext PLAINTEXT BLOCK to encrypt the data, outputting the corresponding ciphertext CIPHERTEXT BLOCK.
  • the receiving end also inputs the keys KEY, COUNT, BEARER, DIRECTION, and LENGTH into NEA, outputs the key stream KEYSTREAM BLOCK, and then uses the key stream KEYSTREAM BLOCK to perform XOR with the received ciphertext CIPHERTEXT BLOCK to decrypt, and can output the corresponding plaintext PLAINTEXT BLOCK.
  • KEY is a 128-bit key
  • COUNT is a 32-bit counter value (uplink and uplink packet data convergence protocol (PDCP) COUNT value)
  • BEARER is a 5-bit bearer identifier
  • DIRECTION is a 1-bit transmission direction (0 for uplink, 1 for downlink)
  • LENGTH is the length of the required key stream.
  • FIG. 6 illustrates a flowchart of an integrity protection and verification process defined in 3GPP.
  • the sending end inputs the key KEY, COUNT, MESSAGE, DIRECTION, and BEARER into the NIA and outputs the corresponding message authentication code (MAC) value (e.g., MAC-I/NAS-MAC).
  • MAC message authentication code
  • the receiving end also inputs the key KEY, COUNT, MESSAGE, DIRECTION, and BEARER into the NIA, calculates the MAC value (e.g., XMAC-I/XNAS-MAC), and compares the received MAC value with the locally calculated MAC value.
  • MESSAGE is the message itself used for integrity protection and verification, with a length of LENGTH.
  • the entire key deduction architecture and data protection described above are based on a hop-by-hop security protection design.
  • the terminal device and the base station share the user plane encryption and integrity protection key and use the key to protect the data, thereby performing decryption and integrity verification on the base station side.
  • a PDU (protocol data unit) session is the carrier of PDU services.
  • PDU connection services involve the exchange of PDU data packets between the terminal device and the DN;
  • PDU connection services are implemented by the terminal device initiating the establishment of a PDU session. Once a PDU session is established, a data transmission channel between the terminal device and the DN is established.
  • terminal devices request the establishment of a PDU session from the network side. Depending on different DN and slice information, multiple PDU sessions may need to be established.
  • the terminal device randomly assigns a PDU session identifier to the session.
  • the PDU session identifier is indicated by 8 bits (1 byte), so there are a maximum of 255 possible values. 00000001 to 00001111 (1 to 15) are the 8 allocated PDU session identifier values, and the remaining values are reserved. If the PDU session identifier is assigned by the network side to a terminal device that does not support N1 mode, then the PDU session identifier with values of 64 to 95 is reserved for this scenario. The reserved PDU session identifier is only visible on the core network side.
  • embodiments of this application provide a communication method and apparatus that uses session-level keys to securely protect user plane data, ensuring that keys used by different sessions are not reused within a master authentication cycle, thereby improving the security of user plane data transmission.
  • "for indicating” can include both direct and indirect indication.
  • indication information for indicating A
  • it can include whether the indication information directly indicates A or indirectly indicates A, but does not necessarily mean that the indication information carries A.
  • the information indicated by the instruction is called the information to be instructed.
  • the information to be instructed there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also be indirectly indicated by indicating other information, where there is a relationship between the other information and the information to be instructed. It can also indicate only a part of the information to be indicated, while the other parts are known or pre-agreed upon.
  • the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent.
  • a pre-agreed e.g., protocol-defined
  • the specific indication method can also be any existing indication method, such as, but not limited to, the above-mentioned indication methods and their various combinations. Specific details of various indication methods can be found in existing technologies, and will not be repeated here. As described above, for example, when multiple pieces of information of the same type need to be indicated, the indication methods for different pieces of information may differ.
  • the required indication method can be selected according to specific needs. This application embodiment does not limit the selected indication method; therefore, the indication methods involved in this application embodiment should be understood to cover various methods that enable the party to be indicated to obtain the information to be indicated.
  • the information to be instructed can be sent as a whole or divided into multiple sub-information messages, and the sending period and/or timing of these sub-information messages can be the same or different.
  • This application does not limit the specific sending method.
  • the sending period and/or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the transmitting device by sending configuration information to the receiving device.
  • the communication system includes a first network element, a terminal device, and a session management network element.
  • the communication system may further include a user plane network element.
  • the first network element is used to deduce and generate a key at the session granularity. This key is used for secure processing or protection of data within the corresponding session.
  • the first network element typically refers to an access and mobility management network element or a security anchor network element.
  • the access and mobility management network element and the security anchor network element are co-located, or the security anchor network element is part of the access and mobility management network element; this is not limited.
  • the first network element can also be an authentication service network element or a session management network element; this is not limited.
  • Access and mobility management (AM) network elements are used to implement access management and mobility management for terminal devices. For example, they are responsible for maintaining the status of terminal devices, managing their reachability, forwarding NAS messages for non-mobility management (MM), and forwarding N2 messages for session management (SM).
  • AM can be an example of the AMF in a 5G mobile communication system, as shown in Figure 1 above.
  • the security anchor network element is used to initiate authentication requests to the authentication service network element and complete the authentication of the terminal device by the network side during the authentication process.
  • the security anchor network element can be the security anchor function (SEAF) in the 5G mobile communication system.
  • the authentication service network element is used for authentication services, generating keys to achieve two-way authentication of terminal devices, supporting a unified authentication framework, and performing security authentication of terminal devices.
  • This authentication service network element can be an AUSF in a 5G mobile communication system as shown in Figure 1 above.
  • the session management network element is used to manage the sessions of terminal devices, allocating and releasing resources for the sessions of terminal devices. These resources include pre-defined parameters such as QoS, session paths, and forwarding rules.
  • the session management network element can be an SMF (Session Management Function) as shown in Figure 1 above in a 5G mobile communication system.
  • User plane network elements are used for packet routing and forwarding, as well as QoS processing of user plane data.
  • User plane network elements can perform user packet forwarding according to the routing rules of the session management network element, such as sending uplink data to the data network or other user plane network elements, and forwarding downlink data to other user plane network elements or (R)AN.
  • This user plane network element can be a UPF in a 5G mobile communication system as shown in Figure 1 above.
  • the terminal device sends a first message to a first network element.
  • the first message includes a session establishment request and a session identifier corresponding to the session establishment request.
  • the first value is a random value or a count value.
  • This key can then be sent by the first network element to a session management network element, which in turn sends it to a user plane network element. Therefore, after session establishment, in an end-to-end security protection scenario, the terminal device and the user plane network element use the first key to securely process data within the session corresponding to the session identifier.
  • different sessions use different first keys, preventing the reuse of the first key.
  • Figure 8 is a flowchart illustrating a communication method provided in an embodiment of this application.
  • This communication method is illustrated using the communication between the first network element, the terminal device, and the session management network element shown in Figure 7 as an example.
  • the subject executing the action of the first network element in this method can also be a device/module in the first network element, such as a chip, processor, or processing unit in the first network element, and there is no limitation thereto;
  • the subject executing the action of the terminal device in this method can also be a device/module in the terminal device, such as a chip, processor, or processing unit in the terminal device, and there is no limitation thereto;
  • the subject executing the action of the session management network element in this method can also be a device/module in the session management network element, such as a chip, processor, or processing unit in the session management network element, and there is no limitation thereto.
  • the communication method includes:
  • the terminal device sends a first message to the first network element.
  • the first network element receives the first message from the terminal device.
  • the first network element typically refers to an access and mobility management network element (such as the AMF in 5G) or a security anchor point network element (such as the SEAF in 5G), and the first message can be a NAS message.
  • the first message includes a session establishment request and a session identifier corresponding to the session establishment request.
  • the session establishment request is used to request the establishment of a session
  • the session identifier corresponding to the session establishment request is an identifier assigned by the terminal device for the requested session, used to identify the requested session.
  • the terminal device can send a session establishment request and the identifier of the session to be established to the first network element via a first message.
  • the first message is a NAS message
  • the session establishment request is used to request the establishment of session #1
  • the session identifier of session #1 is ID1
  • the NAS message includes the session establishment request and ID1
  • the session establishment request can be carried in the N1 SM container.
  • the master authentication cycle can refer to the time between completing one master authentication process for a terminal device and starting the next master authentication process.
  • the first network element sends a session establishment request, a session identifier, and a first key to the session management network element.
  • the session management network element receives the session establishment request, session identifier, and first key from the first network element.
  • the first key is used to securely process the data in the session corresponding to the session identifier, or in other words, the first key is used to securely process the data in the requested session.
  • This security processing includes, but is not limited to, encryption, decryption, integrity protection, and integrity verification.
  • the first key is used for secure processing of data in the end-to-end transmission session between the terminal device and the user plane network element. Therefore, the first network element is the first key derived for the user plane network element that performs end-to-end transmission with the terminal device.
  • the user plane network element can further deduce the encryption key and integrity protection key based on the first key, which are used for data encryption/decryption and integrity protection/verification, respectively.
  • the first key is determined based on the session identifier and the first value.
  • Different session establishment requests correspond to different first values.
  • different session establishment requests refer to session establishment requests initiated by the terminal device at different times. Session establishment requests sent at different times may contain session establishment requests with the same session identifier, that is, session establishment requests initiated by the terminal device at different times can be used to request the establishment of the same session, or they may contain session establishment requests with different session identifiers, that is, session establishment requests initiated by the terminal device at different times can be used to request the establishment of different sessions, without limitation.
  • different first values for different session establishment requests can include: different first values for session establishment requests associated with different session identifiers, and different first values for session establishment requests associated with the same session identifier.
  • the first network element obtains a first value to generate a first key.
  • the first network element takes the session identifier from the currently received first message and the obtained first value as input, and outputs the first key through a key deduction algorithm.
  • the input of the key deduction algorithm may also include the key of the first network element, which may be obtained during the main authentication process of the terminal device.
  • the key of the first network element is updated once for each main authentication.
  • the first network element assigns a different first value to each session establishment request received at different times, generating a different first key. This ensures that when the terminal device performs end-to-end user plane data transmission with different user plane network elements, even if sessions with the same session identifier are established, the first key used for secure processing of user plane data is not reused, thus guaranteeing end-to-end user plane data security.
  • the first network element at least guarantees that different first values are assigned to session establishment requests with the same session identifier sent at different times.
  • the first network element will obtain a first value for the currently received session establishment request that is different from the first value corresponding to any previously received session establishment request.
  • the first network element will obtain a first value that is different from the first value corresponding to a previous session establishment request with the same identifier.
  • the first network element receives a first message, which includes a session establishment request #1 for requesting the establishment of session #1 and a session identifier ID1 for session #1.
  • the first network element obtains a first value ⁇ 1 for this session establishment request #1.
  • the first network element receives another first message, which includes a session establishment request #2 for requesting the establishment of session #2 and a session identifier ID2 for session #2, the first network element obtains a first value ⁇ 2 for this session establishment request # 2 , where ⁇ 1 ⁇ ⁇ 2 . Therefore, the first key for securely processing session #1 requested by session establishment request #1 can be KDF( Kl , ID1, ⁇ 1 ), and the first key for securely processing session #2 requested by session establishment request #2 can be KDF( Kl , ID2, ⁇ 2 ).
  • the first value can be a count value or a random value.
  • the following description addresses the two cases where the first value is a count value and the first value is a random value.
  • Case 1 The first value is a count value.
  • the count value can be obtained by counting using a counter (COUNT).
  • the counter can be a new or newly defined counter added by the first network element for the terminal device when the initial main authentication process for the terminal device is completed, such as a session counter (session COUNT).
  • This counter is used to count the number of session establishment requests requested by the terminal device, that is, the count value is the number of session establishment requests requested by the terminal device (session COUNT value).
  • the count value of the counter is stored in the context maintained for the terminal device, and the initial count value of the counter can be set to 0.
  • the counter value of the first network element is incremented by one.
  • the count changes from 0 to 1.
  • the count of 1 is used to generate the first key for the session requested by the first session establishment request.
  • the count changes from 1 to 2.
  • the count of 2 is then used to generate the first key for the session requested by the second session establishment request. This process continues, with subsequent session establishment requests causing similar changes in the count.
  • the first network element receives the first session establishment request, it does not immediately change the count value from 0 to 1 upon receiving the request. Instead, it maintains the current count value of 0 and uses the count value of 0 to generate the first key for the session requested by the first session establishment request. After generating or sending the first key, the first network element increments the count value, changing it from 0 to 1.
  • the second network element receives the second session establishment request, the first network element also does not immediately change the count value from 1 to 2 upon receiving the request. Instead, it maintains the current count value of 1 and uses the count value of 1 to generate the first key for the session requested by the second request. After generating or sending the first key, the first network element increments the count value, changing it from 1 to 2. This process continues, with subsequent received session establishment requests causing similar changes in the count value.
  • the first network element can further trigger a change in the count value after sending a session establishment request, session identifier, and first key to the session management network element, based on a second message fed back by the session management network element, or in other words, after receiving a second message from the session management network element.
  • the second message instructs the count value to be incremented by one.
  • This second message can be a message sent by the session management network element after verifying the validity of the received session establishment request, session identifier, and first key, and selecting a user plane network element for establishing the session based on the acquired session-related policies.
  • the first network element receives the second message from the session management network element and increments the count value by one accordingly.
  • the second message can be a session establishment acceptance message, or a message that can carry a session establishment acceptance message, such as the N1N2 message transfer request (Namf_communition_N1N2messageTransfer request) message.
  • the N1N2 message transfer request message includes a session establishment acceptance message, which indicates that the current request for session establishment is accepted. That is, after receiving the session establishment acceptance message, the first network element increments the count value by one according to the session establishment acceptance message, or in other words, the first network element increments the count value by one after completing the session establishment process.
  • the first network element receives the first session establishment request, it does not immediately change the count value from 0 to 1 upon receiving the request. Instead, it maintains the current count value of 0. Using this count value of 0, it generates a first key for the session requested by the first session establishment request, and then sends the first key, session establishment request, and session identifier to the session management network element. Based on the second message sent by the session management network element, it changes the count value from 0 to 1. Similarly, when the first network element receives a second session establishment request, it again does not immediately change the count value from 1 to 2, maintaining the current count value of 1.
  • this count value of 1 uses this count value of 1, it generates a first key for the session requested by the second session establishment request, and then sends the first key, session establishment request, and session identifier to the session management network element. Based on the second message sent by the session management network element, it changes the count value from 1 to 2. This process continues, with subsequent session establishment requests showing similar changes in their count values.
  • the counter can be a NAS counter (NAS COUNT) jointly maintained by the first network element and the terminal device.
  • This NAS counter can be an uplink NAS counter or a downlink NAS counter.
  • the uplink NAS counter is used to count the number of NAS messages sent by the terminal device to the network side or the network side to count the number of NAS messages received from the terminal device.
  • the downlink NAS counter is used to count the number of NAS messages sent to the terminal device. That is, the count value is the number of NAS messages received by the terminal device or sent to the terminal device by the network side.
  • the first network element can either infer the first key for the current request session or send the first key, or the first network can obtain the second message from the session management network element.
  • the NAS counter value can be incremented by one, which will not be elaborated here.
  • the first network element can re-trigger primary authentication for the terminal device, and after primary authentication is completed, reset the count value to zero.
  • the first network element can send a first indication message to instruct the terminal device to re-perform primary authentication.
  • the first network element resets the count value to zero.
  • the first network element can send the first indication message to the authentication service network element (such as AUSF in 5G), thereby causing the authentication service network element to re-perform primary authentication with the terminal device.
  • the terminal device can execute the above steps in a new primary authentication cycle.
  • Case 2 The first value is a random value.
  • the random value can be locally generated by the first network element.
  • each time the first network element receives a session establishment request it can randomly generate a random value for the session requested by the received session establishment request. If the randomly generated random value is the same as the random value randomly generated for any previously received session establishment request, a new random value is generated until the generated random value is different from the random value randomly generated for any previously received session establishment request.
  • the first network element stores the correspondence between the session identifier of each received session establishment request and the random value. In some implementations, the first network element can also store a ternary correspondence between the session establishment request identifier, the session identifier, and the random value.
  • the first network element receives a first message at time t1, which includes a session establishment request #1 and a session identifier ID1 for session #1, then a random value R1 is generated for session #1 requested by session establishment request #1, and the corresponding relationship ⁇ ID1, R1 ⁇ is stored. If the first network element receives a first message at time t2, which includes a session establishment request #2 and a session identifier ID2 for session #2, then a random value R2 is generated for session #2 requested by session establishment request #2, and the corresponding relationship ⁇ ID2, R2 ⁇ is stored.
  • the first network element receives a first message at time t3, which includes a session establishment request #3 and a session identifier ID3 for session #3, then a random value R3 is generated for session #3 requested by session establishment request #3, and the corresponding relationship ⁇ ID3, R3 ⁇ is stored.
  • R1, R2, and R3 are all different.
  • the first network element may receive different session establishment requests with the same session identifier at different times, when a session establishment request is received, the first network element can determine whether the session identifier of the currently requested session has a corresponding random value stored according to the correspondence between the currently stored session identifier and the random number. If not, the first network element can directly randomly select a random value for the session identifier. If so, the first network element must ensure that the currently selected random value is different from the random value previously selected for the session identifier.
  • the first network element receives a first message at time t1, which includes a session establishment request #1 and a session identifier ID1 for session #1, then a random value R1 is generated for session #1 requested by the session establishment request #1, and the corresponding relationship ⁇ ID1, R1 ⁇ is stored; if the first network element receives a first message at time t2, which includes a session establishment request #2 and a session identifier ID2 for session #2, then a random value is generated for session #2 requested by the session establishment request #2. R2 stores the corresponding relationship ⁇ ID2, R2 ⁇ .
  • the first network element receives a first message, which includes a session establishment request #3 for requesting the establishment of session #1 and the session identifier ID1 for session #1.
  • the first network element can determine from the already stored ⁇ IDx, Rx ⁇ that the session identifier ID1 has previously been assigned a random value R1. Therefore, the first network element must ensure that it generates a random value different from R1 for the session identifier ID1, such as generating a random value R3, and stores the corresponding relationship ⁇ ID1, R3 ⁇ .
  • R1, R2, and R3 are all different.
  • the first network element after the first network element generates a random value, or generates a first key based on the random value, or receives a session establishment acceptance request, the first network element can also send a random value to the terminal device, so that the terminal device can deduce the same first key as the first network element using the same random value.
  • the random value can be carried in the session establishment acceptance message sent by the first network element to the terminal device.
  • the random value can be generated locally by the terminal device and then sent to the first network element.
  • the terminal device when preparing to initiate a session establishment request, the terminal device generates a random value for the requested session, ensuring that the generated random value is different from the random values of previously requested sessions. If they are the same, a new random value is generated until the generated random value is different from the random values generated for previously requested sessions.
  • the correspondence between the session identifier and the random value for each requested session is saved, and the random value corresponding to the currently requested session is sent to the first network element. This allows the first network element to generate a first key for the currently requested session based on the received random value from the terminal device. It should be understood that the method by which the terminal device generates the random value locally is similar to the method by which the first network element generates the random value locally, and will not be elaborated upon further.
  • the random value can be carried in the first message, that is, the terminal device can carry the random value in the first message and send it to the first network element along with the session establishment request.
  • the first network element and the terminal device can clear the stored correspondence between all random values and corresponding session identifiers.
  • the first network element can send the received session establishment request, session identifier, and the first key generated for the session established for the request to the session management network element.
  • the session establishment request, session identifier, and first key can be sent in the same message, or partially in the same message and partially in another message; there is no limitation on this.
  • the first network element after the first network element receives the first message, it can first send the session establishment request and session identifier to the session management network element. After the session management network element verifies the legitimacy of the session, it can obtain the first value based on the trigger of the session management network element and the session identifier to generate the first key, and then send the first key to the session management network element. This is not limited here.
  • the session management network element sends the session identifier and the first key to the user plane network element.
  • the user plane network element receives the session identifier and the first key from the session management network element.
  • the session management network element can select a suitable user plane network element that can be used to establish the session according to the session-related policy. For example, a user plane network element with low load or a user plane network element that is close to the access network device. Then, it sends the session identifier and first key of the session to be established to the user plane network element, so that the user plane network element can obtain the first key and the session identifier of the session corresponding to the first key.
  • the session identifier and the first key can be carried in the N4 session establishment request.
  • the user plane network element after the user plane network element obtains the first key, it can further deduce the corresponding encryption key and integrity protection key based on the first key.
  • the input parameters for key deduction include the first key, the algorithm identifier of the encryption or integrity protection algorithm, whether it is encryption or integrity protection (distinguisher), the length of the corresponding parameters, etc.
  • the deduction of the encryption key and integrity protection key of K UP in the related technology 2 above please refer to the deduction of the encryption key and integrity protection key of K UP in the related technology 2 above, which will not be elaborated here.
  • the session management network element can send a second message to the first network element, the second message indicating that the count value be incremented by one.
  • the session management network element can send a third message to the first network element, the third message indicating that a random value be sent to the terminal device.
  • the second and third messages can be session establishment acceptance messages, or messages that can be used to carry session establishment acceptance messages, such as the N1N2 message transfer request (Namf_communition_N1N2messageTransfer request) message.
  • the N1N2 message transfer request message includes a session establishment acceptance message, which is used to indicate acceptance of the current request for session establishment.
  • the terminal device determines the first key based on the session identifier and the first value.
  • the terminal device Since the first key is used for secure processing of end-to-end user plane data between the terminal device and the user plane network element, after sending the first message, the terminal device will also use the same deduction algorithm and parameters as the first network element to deduce the same first key as the network side for the currently initiated session establishment request. Therefore, the terminal device can use the first key to decrypt and/or verify the integrity of downlink data in the session from the user plane network element, or it can use the first key to encrypt and/or protect the integrity of uplink data in the session sent to the user plane network element.
  • the process by which the terminal device deduces the first key using the first key and the session identifier is similar to that of the first network element.
  • the relevant description in S802 above regarding the deduction of the first key by the first network element. It will not be repeated here.
  • the terminal device when the first value is a count value, can also synchronously add or define a new identical counter to count the number of session establishment requests requested by the terminal device, generate a different count value for each session establishment request requested by the terminal device, generate the context corresponding to the counter, and set the initial count value in the context to 0.
  • the counter value on the terminal device side is incremented by one each time the terminal device sends the first session establishment request.
  • the count value changes from 0 to 1.
  • the first key is generated for the session requested by the first session establishment request using the count value of 1.
  • the terminal device sends the second session establishment request the count value changes from 1 to 2.
  • the first key is generated for the session requested by the second session establishment request using the count value of 2. And so on, with the count value changing similarly for subsequent session establishment requests.
  • the change in the count value based on Implementation 1 on the terminal device side can be matched with the change in the count value based on Implementation 1 on the first network element side, so that the change in the count value on the terminal device side and the first network element side can be kept consistent, so that both sides use the same count value to generate the same first key for the currently requested session.
  • the terminal device may increment the counter value by one after completing the generation of the first key or receiving the session establishment acceptance message.
  • the counter value after incrementing is the number of session establishment requests that have been sent.
  • the counter value used by the terminal device to generate the first key is the counter value before incrementing.
  • the terminal device During the main authentication cycle, for example, if the initial count value is 0, and the terminal device sends the first session establishment request, the terminal device does not immediately change the count value from 0 to 1 upon sending the session establishment request; instead, it maintains the current count value of 0.
  • the first key is generated for the session requested by this first session establishment request using the count value of 0.
  • the first network element increments the count value by one, changing it from 0 to 1.
  • the terminal device sends a second session establishment request, it again does not immediately change the count value from 1 to 2 upon sending the session establishment request; instead, it maintains the current count value of 1.
  • the first key is generated for the session requested by this second session establishment request using the count value of 1.
  • the terminal device increments the count value by one, changing it from 1 to 2. This process continues, with subsequent session establishment requests exhibiting similar count changes.
  • the change in the count value based on implementation 2 on the terminal device side can be matched with the change in the count value based on implementation 2 or implementation 3 on the first network element side, so that the change in the count value on the terminal device side and the first network element side can be kept consistent, so that both sides use the same count value to generate the same first key for the currently requested session.
  • the terminal device also reuses the NAS counter corresponding to the first network element to generate different count values for different session establishment requests.
  • the terminal device uses an uplink NAS counter; if the first network element uses a downlink NAS counter, then the terminal device uses a downlink NAS counter.
  • the terminal device after the terminal device obtains the first key for the current request session or after the terminal device sends a session establishment request, it can also increment the NAS counter value by one, which will not be elaborated here.
  • the terminal device can re-authenticate and reset the count value to zero after the primary authentication is completed.
  • the terminal device can receive a random value from the first network element, which is a random value generated by the first network element for the session currently requested by the terminal device. Therefore, the terminal device can generate a first key based on the received random value and the session identifier of the requested session.
  • the terminal device can initiate the generation of the first key after obtaining the random value.
  • the terminal device locally generates a random value for the currently requested session.
  • the terminal device can then directly begin deriving the first key based on the session identifier and the random value, or it can begin deriving the first key after receiving the session establishment acceptance message.
  • the terminal device can send a random value to the first network element, so that the first network element can generate the same first key as the terminal device based on the same random value for the currently requested session.
  • the first network element receiving random values above please refer to the relevant description of the first network element receiving random values above; it will not be repeated here.
  • the terminal device can further deduce the corresponding encryption key and integrity protection key based on the first key.
  • the input parameters for key deduction include the first key, the algorithm identifier of the encryption or integrity protection algorithm, whether it is encryption or integrity protection (distinguisher), the length of the corresponding parameters, etc.
  • the deduction of the encryption key and integrity protection key of K UP in the related technology 2 above which will not be elaborated here.
  • the terminal device can generate a first key for each session establishment request it initiates, and correspondingly, the first network element will also generate a first key identical to that on the terminal device side for each session establishment request it receives, and send it to the corresponding user plane network element.
  • the terminal device can use the first key corresponding to the session establishment request to encrypt and/or protect the integrity of the data in the session request.
  • the user plane network element can use the corresponding first key to decrypt and/or verify the integrity of the data in the session request.
  • the terminal device can use the corresponding first key to decrypt and/or verify the integrity of the data in the session request.
  • the first network element can generate a first key for each session establishment request initiated by the terminal device using a first value and the session identifier of the requested session, and send it to the corresponding user plane network element.
  • the terminal device will also generate the same first key as the first network element for each session establishment request it initiates.
  • the first key is used to securely protect the data in the requested session or the session corresponding to the session identifier.
  • Each session establishment request is assigned a different first value, which can be assigned by the first network element or the terminal device. Thus, regardless of whether the terminal device sends multiple session establishment requests with the same session identifier, the generated first key will be different.
  • the first key for securely processing user plane data can be guaranteed not to be reused, thereby ensuring the security of user plane data between ends.
  • the first key for security protection of user plane data between end-to-end is mainly generated at the session granularity.
  • the key for the QoS stream corresponding to a specific session can also be deduced.
  • the identifier of the QoS stream can be reused, if the session key does not have a COUNT value, the corresponding COUNT value needs to be added when deducing the key for the QoS stream, such as a NAS COUNT value or an independently maintained COUNT value. This will not be elaborated further.
  • the first network element is the authentication service network element
  • the terminal device sends the first message
  • it can be forwarded by the access and mobility management network element to the authentication service network element.
  • the authentication service network element then generates a first key based on the session identifier and the first value, and sends the generated first key to the access and mobility management network element.
  • the access and mobility management network element then sends the first key, the session establishment request, and the session identifier to the session management network element.
  • the terminal device is UE
  • the first network element is AMF
  • the session management network element is SMF
  • the user plane network element is UPF
  • the first key is K session
  • the session is PDU session.
  • Figure 9 is a flowchart illustrating a communication method provided in an embodiment of this application, taking a first numerical value as an example. As shown in Figure 9, the communication method includes:
  • the registration request carries the UE's subscription concealed identifier (SUCI).
  • SUCI subscription concealed identifier
  • AMF sends an authentication request to UDM.
  • UDM receives the authentication request from AMF.
  • S903 and UDM obtain SUPI based on SUCI.
  • the authentication request may include the aforementioned SUCI. If the authentication request includes SUCI, it will be decrypted by UDM to obtain the corresponding SUPI and sent to AUSF.
  • UDM sends SUPI to AUSF.
  • AUSF receives the SUPI from UDM.
  • the main authentication process is performed between S905, AUSF, and UE.
  • a K AMF is generated.
  • the AMF adds a session count value to the context maintained by the UE. This session count is used to count the number of PDU session establishment requests requested by the UE, with an initial value of 0.
  • the UE also generates a session count context and sets its session count value to 0.
  • the AMF and UE can use a jointly maintained NAS count value. Taking the uplink NAS count value as an example, for the UE, this uplink NAS count value counts the number of NAS messages sent by the UE; for the AMF, this uplink NAS count value counts the number of NAS messages received from the UE.
  • the UE sends a NAS message to the AMF.
  • the AMF receives the NAS message from the UE.
  • the NAS message can correspond to the first message mentioned above.
  • the NAS message carries a PDU session identifier of ID1 and an N1 SM container.
  • the N1 SM container includes a PDU session establishment request, which is used to request the establishment of a PDU session with the PDU session identifier of ID1.
  • the PDU session establishment request message may also include information such as the requested PDU session type and the requested session and service continuity (SSC) mode.
  • SSC session and service continuity
  • AMF determines K session based on ID1, count value COUNT1 and K AMF .
  • COUNT1 is obtained by the AMF counting the PDU session establishment requests received from the UE, and is used by the AMF to generate K sessions for the PDU sessions requested by the currently received PDU session establishment requests.
  • the count value COUNT1 used to determine K session can be 0 or 1.
  • the count value COUNT1 used to determine K session can be N-1 or N.
  • the AMF increments the count value by one after receiving the PDU session establishment request before performing key deduction.
  • the count value is 0 or N-1
  • the AMF performs key deduction first after receiving the PDU session establishment request before incrementing the count value by one.
  • COUNT1 is obtained by the AMF counting the NAS messages received from the UE. It is used by the AMF to generate K sessions for the PDU session requested by the currently received PDU session establishment request. For each NAS message received from the UE, the AMF can increment the NAS COUNT value.
  • the NAS COUNT value used by the AMF to generate K sessions for the PDU session requested by the currently received PDU session establishment request can be the number of uplink NAS messages counted up to the time the PDU session establishment request is received. It can include the NAS messages carried by the PDU session establishment request, or it can exclude the NAS messages carried by the PDU session establishment request. There is no limitation on this.
  • the AMF sends a PDU session creation session management context request (Nsmf_PDUSession_CreateSMContext request) message to the SMF.
  • the SMF receives the PDU session creation session management context request message from the AMF.
  • the PDU session creation session management context request message includes the aforementioned PDU session establishment request, PDU session identifier ID1, and K session .
  • the PDU session creation session management context request message may also include the radio access technology (RAT) type, data network name, slice information, etc.
  • RAT radio access technology
  • the RAT type is used to indicate the radio technology the UE accesses through the CN.
  • SMF selects UPF.
  • the SMF can execute the authentication/authorization process for the PDU session. Upon completion, it can select a UPF suitable for the current session. For example, a UPF with low load or a UPF that is close to the RAN equipment.
  • the SMF sends an N4 session establishment request message to the UPF.
  • the UPF receives the N4 session establishment request message from the SMF.
  • the N4 session establishment request message includes the aforementioned PDU session identifier ID1 and K session .
  • the N4 session establishment request message may also include: an N4 session identifier and packet inspection rules.
  • Packet inspection rules are used to instruct the UPF to perform appropriate processing on packets that conform to the packet inspection rules, such as quality of service guarantees, etc.
  • the UPF can further send an N4 session establishment response message to the SMF.
  • the SMF receives the N4 session establishment response message from the UPF (not shown in Figure 9).
  • the N4 session establishment response message may include: the CN tunnel information of the N4 session, used by the RAN device to locate the UPF.
  • SMF sends a communication N1N2 message transfer request (Namf_communition_N1N2messageTransfer request) message to AMF.
  • AMF receives the communication N1N2 message transfer request message from SMF.
  • the communication N1N2 message transmission request message includes the PDU session establishment accept message, which can correspond to the second or third message mentioned above.
  • AMF increments the count value by one.
  • the AMF can increment the count value by one according to the received PDU session establishment accept message, that is, the count value changes from 0 to 1 or from N-1 to N.
  • the AMF sends an AN-specific resource setup message to the UE.
  • the UE receives the AN-specific resource setup message from the AMF.
  • the specific resource establishment message includes the aforementioned PDU session establishment acceptance message.
  • the UE determines the K session based on ID1, the count value COUNT1, and K AMF .
  • the count value is the newly added session count value (session COUNT value), corresponding to S907 above, if the PDU session establishment request in the first message is the first PDU session establishment request sent by the UE after the master authentication is completed, then the count value COUNT1 used to determine K session can be 0 or 1.
  • the count value used to determine K session can be N-1 or N.
  • the UE can use K AMF , the current PDU session identifier ID1, and the count value N-1/N as inputs to the key deduction algorithm to obtain K session .
  • K session KDF(K AMF , ID1, N-1/N).
  • the UE increments the count value by one after completing the K session derivation, that is, the count value changes from 0 to 1 or from N-1 to N.
  • the UE can increment the count value before or after sending a session establishment request carrying a PDU.
  • the AMF can increment the count value after receiving a NAS message carrying a session establishment request carrying a PDU or after sending a K session , without any limitation.
  • the AMF can also execute the following S916:
  • AMF sends the first instruction information to AUSF.
  • AUSF receives the first instruction information from AMF.
  • the first indication information is used to instruct the UE to re-authenticate the primary authentication, and the first indication information may include the UE's SUPI.
  • the count values on both the UE and SMF sides are set to zero, and the K AMF will also be updated.
  • Figure 10 is a flowchart illustrating a communication method provided in an embodiment of this application, taking the first value as a random value generated by AMF as an example.
  • the communication method includes:
  • the UE sends a registration request to the AMF.
  • the AMF receives the registration request from the UE.
  • AMF sends an authentication request to UDM.
  • UDM receives the authentication request from AMF.
  • UDM obtains SUPI based on SUCI.
  • UDM sends SUPI to AUSF.
  • AUSF receives the SUPI from UDM.
  • the main authentication process is performed between S1005, AUSF, and UE.
  • a K AMF is generated, and the UE and AMF clear all stored random values.
  • the UE sends a NAS message to the AMF.
  • the AMF receives the NAS message from the UE.
  • the random value R1 is used by the AMF to generate a random value for the PDU session ID1 that was requested to be established by the AMF after receiving a PDU session establishment request.
  • the AMF generates R1 randomly and saves the correspondence between ID1 and R1.
  • the AMF must ensure that the generated R1 is different from the random value generated after the master authentication for the previously received PDU session establishment request. Alternatively, the AMF needs to check whether the selected PDU session ID has been used after the master authentication. If it has been used, the AMF must ensure that the generated random value R1 is different from the random value R1' corresponding to the last time that PDU session ID was used.
  • AMF sends a PDU session creation session management context request (Nsmf_PDUSession_CreateSMContext request) message to SMF.
  • SMF receives the PDU session creation session management context request message from AMF.
  • SMF should be set to UPF.
  • the SMF sends an N4 session establishment request message to the UPF.
  • the UPF receives the N4 session establishment request message from the SMF.
  • S1011 SMF sends a communication N1N2 message transfer request (Namf_communition_N1N2messageTransfer request) message to AMF.
  • AMF receives the communication N1N2 message transfer request message from SMF.
  • the AMF sends an AN-specific resource setup message to the UE.
  • the UE receives the AN-specific resource setup message from the AMF.
  • the specific resource establishment message includes the PDU session establishment acceptance message and the aforementioned random value R1.
  • the UE determines the K session based on ID1, random value R1 and K AMF .
  • K session KDF(K AMF , ID1, R1).
  • the UE and AMF can generate a key K session for data security processing for the session identified as ID1 in the PDU session.
  • the AMF can generate a random value different from the previously requested session to generate the K session used by the currently requested session, and then execute the above steps again. Therefore, when deducing the key for the PDU session, a random value is randomly selected as the input parameter to ensure that not only the PDU session ID is used as the deduction parameter. The random number is then sent to the UE in the PDU session acceptance message to ensure that the session key is not duplicated.
  • Figure 11 is a flowchart illustrating a communication method provided in an embodiment of this application, taking the first value as a random value generated by the UE as an example.
  • the communication method includes:
  • the UE sends a registration request to the AMF.
  • the AMF receives the registration request from the UE.
  • AMF sends a registration request to UDM.
  • UDM receives the registration request from AMF.
  • UDM obtains SUPI based on SUCI.
  • UDM sends SUPI to AUSF.
  • AUSF receives the SUPI from UDM.
  • a K AMF is generated, and the UE and AMF clear all stored random values.
  • the UE sends a NAS message to the AMF.
  • the AMF receives the NAS message from the UE.
  • the NAS message includes a PDU session establishment request, a PDU session identifier ID1, and a random value R1. That is, when the UE initiates a request to establish a PDU session with PDU session identifier ID1, it can randomly generate a random value R1 for the requested session and store the correspondence between ID1 and R1. Simultaneously, the UE must ensure that the generated R1 is different from the random value generated after primary authentication for the PDU session establishment request sent previously. Alternatively, the UE needs to check whether the selected PDU session ID has been used after primary authentication; if so, it must ensure that the generated random value R1 is different from the random value R1' corresponding to the last use of that PDU session ID.
  • AMF determines K session based on ID1, random value R1, and K AMF .
  • the AMF sends a PDU session creation session management context request (Nsmf_PDUSession_CreateSMContext request) message to the SMF.
  • the SMF receives the PDU session creation session management context request message from the AMF.
  • SMF should be selected as UPF.
  • SMF sends an N4 session establishment request message to UPF.
  • UPF receives the N4 session establishment request message from SMF.
  • S1111 SMF sends a communication N1N2 message transfer request (Namf_communition_N1N2messageTransfer request) message to AMF.
  • AMF receives the communication N1N2 message transfer request message from SMF.
  • the AMF sends an AN-specific resource setup message to the UE.
  • the UE receives the AN-specific resource setup message from the AMF.
  • the specific resource establishment message includes the PDU session establishment acceptance message.
  • the UE determines the K session based on ID1, random value R1 and K AMF .
  • K session KDF( KAMF , ID1, R1).
  • the UE and AMF can generate a key K session for data security processing for the session identified as ID1 in the PDU session.
  • S1113 and S1106 are not limited in the embodiments of this application.
  • S1113 can be executed after S1106 or after S1112.
  • the UE can generate a different random value than the previously requested session to generate the K session used for the current session, and then repeat the above steps. Therefore, when deducing the key for the PDU session, the UE generates a random number and sends it directly to the network side when sending the PDU session establishment request.
  • the network side does not need to maintain the corresponding random value state; instead, it randomly selects a random value as the input parameter, ensuring that not only the PDU session ID is used as the deduction parameter, thus guaranteeing that the session key is not duplicated.
  • the AMF may not deduce the first key immediately. Instead, it may send the PDU session establishment request to the SMF.
  • the AMF can deduce the key based on the SMF's request and send the first key to the SMF. For example, the AMF sends a PDU session establishment request and a PDU session identifier to the SMF.
  • the SMF can determine whether to establish the PDU session.
  • the AMF If established, it sends a message to the AMF to request the first key (such as a PDU session establishment acceptance message), so that the AMF can deduce the first key based on the message and send the first key to the SMF. Further, the first key is sent by the SMF to the UPF.
  • the first key such as a PDU session establishment acceptance message
  • the SMF upon receiving the PDU session establishment request and the PDU session identifier, determines that the PDU session can be established. After completing the N4 session establishment with the UPF, it requests the first key from the AMF upon triggering the UPF. This allows the AMF to deduce the first key from the message and send it to the SMF, which in turn sends it to the UPF. For example, after the UPF and SMF complete the N4 session establishment, the UPF can request the first key from the SMF. The SMF, based on the UPF's request, then requests the first key from the AMF, triggering the AMF to deduce the first key and send it back to the SMF, which in turn sends it back to the UPF.
  • the UPF can directly request the first key from the AMF, so that the AMF can trigger the deduction of the first key based on the UPF's request and send the first key to the UPF.
  • the embodiments of this application do not limit the method of obtaining the first key by UPF or SMF.
  • the methods and/or steps implemented by the first network element can also be implemented by components (e.g., processors, chips, chip systems, circuits, logic modules, or software) that can be used with the first network element;
  • the methods and/or steps implemented by the terminal device can also be implemented by components (e.g., processors, chips, chip systems, circuits, logic modules, or software) that can be used with the terminal device;
  • the methods and/or steps implemented by the session management network element can also be implemented by components (e.g., processors, chips, chip systems, circuits, logic modules, or software) that can be used with the session management network element.
  • this application also provides a communication device for implementing various methods in the above method embodiments.
  • This communication device can be a first network element in the above method embodiments, or a device containing a first network element, or a component usable in a first network element, such as a chip or chip system.
  • the communication device can be a terminal device in the above method embodiments, or a device containing a terminal device, or a component usable in a terminal device, such as a chip or chip system.
  • the communication device can be a session management network element in the above method embodiments, or a device containing a session management network element, or a component usable in a session management network element, such as a chip or chip system.
  • the communication device includes hardware structures and/or software modules corresponding to the execution of each function in order to achieve the above-described functions.
  • this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware 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 each specific application, but such implementation should not be considered beyond the scope of this application.
  • This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module.
  • the integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
  • the transceiver module 1202 may include a receiving module and a transmitting module (not shown in FIG12).
  • the transmitting module and the receiving module are respectively used to implement the transmitting and receiving functions of the communication device 1200.
  • the communication device 1200 may further include a storage module (not shown in FIG. 12) that stores programs or instructions.
  • the processing module 1201 executes the program or instructions, the communication device 1200 can perform the functions of the first network element, terminal device, or session management network element in any of the methods shown in FIG. 8-FIG. 11.
  • the processing module 1201 involved in the communication device 1200 may be implemented by a processor or processor-related circuit components, and may be a processor or processing unit;
  • the transceiver module 1202 may be implemented by a transceiver or transceiver-related circuit components, and may be a transceiver or transceiver unit.
  • Figure 13 is a schematic diagram of another communication device provided in an embodiment of this application.
  • This communication device can be a first network element, a terminal device, or a session management network element in the above method embodiments, or it can be a chip (system) or other component or assembly that can be disposed in the first network element, the terminal device, or the session management network element.
  • the communication device 1300 may include a processor 1301, a bus 1302, a communication interface 1303, and a memory 1304.
  • the processor 1301, the memory 1304, and the communication interface 1303 communicate via the bus 1302. It should be understood that this application does not limit the number of processors and memories in the communication device 1300.
  • Processor 1301 may include any one or more of the following processors: central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP).
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • the memory 1304 may include volatile memory, such as random access memory (RAM).
  • RAM random access memory
  • the processor 1301 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 1304 stores executable program code, and the processor 1301 executes the executable program code to implement the functions of the first network element, the terminal device, or the session management network element in the aforementioned method embodiments. That is, the memory 1304 stores instructions for executing the above methods.
  • embodiments of this application also provide a computer program product containing instructions, including computer program code, which, when run on a communication device, enables the communication device to execute the methods described in any of the above embodiments.
  • embodiments of this application also provide a computer-readable storage medium.
  • This computer-readable storage medium stores a computer program or instructions that, when executed on a communication device, enable the communication device to perform the methods described in any of the above embodiments.
  • embodiments of this application also provide a communication system, including: a first network element, a terminal device, and a session management network element for implementing the above method embodiments.
  • implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof.
  • implementation can be, in whole or in part, in the form of a computer program product.
  • This computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another.
  • computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium.
  • the available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., SSDs).
  • the disclosed systems, apparatuses, and methods can be implemented in other ways.
  • the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
  • the units described as separate components may or may not be physically separate.
  • the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
  • the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
  • the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or an access network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
  • the aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, random access memory (RAM), magnetic disks, or optical disks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种通信方法及装置,涉及通信领域,可以解决终端设备与用户面功能之间端到端的安全保护场景下的用户面数据安全问题。该方法中,第一网元可以针对终端设备发起的每个会话建立请求,利用第一数值和请求建立会话的会话标识生成第一密钥,第一密钥用于对请求建立的会话或者会话标识对应的会话中的数据进行安全保护,并且为每个会话建立请求分配不同的第一数值,这样使得不同会话的第一密钥均不同,可以保证端到端之间的用户面数据安全。

Description

通信方法及装置
本申请要求于2024年07月17日提交国家知识产权局、申请号为202410966052.8、申请名称为“通信方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及通信方法及装置。
背景技术
当前移动通信网络中,用户面数据在传输过程中是进行的逐跳的安全保护,即用户面数据在终端设备和基站之间进行安全保护,以及在基站与用户面功能之间进行安全保护,这样会使得用户面数据在基站侧明文出现,易遭受近端探测、物理攻击等,因此希望能够在终端设备与用户面功能之间建立端到端的安全保护,即基站不对用户面数据做完整性校验和解密,只能转发加密后的数据。
在逐跳的安全保护场景下,用户面保护密钥是以终端设备为粒度设计的,在一次主认证周期内,同一终端设备发起的不同会话进行安全保护时,终端设备和基站可以维护该终端设备进行用户面数据保护时输入的计数器的计数值,在相同用户面保护密钥输入的情况下因输入的计数值的不同,输出的密钥流不会被重用。然而,在终端设备与用户面功能之间端到端的安全保护场景下,由于服务不同会话的用户面功能网元可能不相同,终端设备和用户面功能之间也无法如逐跳的安全保护场景中的终端设备与基站之间一样,通过统一维护进行用户面数据保护时输入的计数值,来保证输出的密钥流不会被重用,因此,如何解决终端设备与用户面功能之间端到端的安全保护场景下的用户面数据安全问题,是亟待解决的。
发明内容
本申请提供一种通信方法及装置,在端到端的安全保护场景下,通过以会话为粒度的密钥对用户面数据进行安全保护,可以保证在一个主认证周期内,不同会话使用的密钥不被重用,从而可以提高用户面数据传输的安全性。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种通信方法,该方法可以由第一网元执行,也可以由第一网元的部件,例如第一网元的处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分第一网元的逻辑模块或软件实现。该方法包括:接收来自终端设备的第一消息,第一消息包括会话建立请求和会话建立请求对应的会话标识。发送会话建立请求、会话标识和第一密钥,第一密钥用于对会话标识对应的会话中的数据进行安全处理,其中,第一密钥根据会话标识和第一数值确定,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
在该方法中,第一网元可以针对终端设备发起的每个会话建立请求,利用第一数值和请求建立的会话的会话标识生成第一密钥,并发送给对应的用户面网元,相应的,终端设备也会针对其发起的每个会话建立请求,生成与第一网元侧相同的第一密钥,第一密钥用于对请求建立的会话或是会话标识对应的会话中的数据进行安全保护,并且每个会话建立请求被分配不同的第一数值,第一数值可以由第一网元或终端设备分配,这样无论终端设备是否发送有多个相同会话标识的会话建立请求,生成的第一密钥均不同。由此,在终端设备与用户面网元之间进行端到端的安全保护时,终端设备与不同的用户面网元进行端到端的用户面数据传输,即使存在相同会话标识的会话建立,也可以保证对用户面数据进行安全处理的第一密钥不被重用,从而可以保证端到端之间的用户面数据安全。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的非接入层NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。由此,可以通过新增计数器或者复用NAS计数器来获取计数值,以保证为不同的会话生成不同的计数值,从而使得不同会话的第一密钥不同,从而可以保证端到端之间的用户面数据安全。
一种可能的设计方案中,在第一数值为计数值、且计数值对应的计数器用于对终端设备请求的会话建立请求的个数进行计数的情况下,第一方面所述的方法还可以包括:接收第二消息,第二消息用于指示将计数值加一。根据第二消息将计数值加一。由此,第一网元可以基于消息的触发来改变计数值,从而可以保证不同的会话对应不同的计数值,从而使得不同会话的第一密钥不同,从而可以保证端到端之间的用户面数据安全。
一种可能的设计方案中,第一方面所述的方法还可以包括:在计数值达到最大值的情况下,发送第一指示信息,第一指示信息用于指示对终端设备重新进行主认证。在主认证完成之后,将计数值置零。由此,在计数值达到最大值时,可以触发对终端设备的主认证,以使得可以翻转计数值,如计数值从最大值变为0开始重新计数,且主认证后用于生成第一密钥的第一网元的密钥发生更新,也可以保证第一密钥不被重用。
一种可能的设计方案中,在第一数值为随机值的情况下,第一方面所述的方法还可以包括:保存随机值与会话标识的对应关系。向终端设备发送随机值。由此,第一网元可以为不同会话分配不同的随机值来生成不同的第一密钥,并向终端设备发送随机值,以保证两侧的对同一会话生成的第一密钥相同,从而可以保证端到端之间的用户面数据安全。
一种可能的设计方案中,第一方面所述的方法还可以包括:在对终端设备进行主认证后,清除存储的所有随机值。
一种可能的设计方案中,在第一数值为随机值的情况下,第一方面所述的方法还可以包括:接收来自终端设备的随机值。由此,随机值可以由终端设备生成,第一网元可以从终端设备处获取随机值,以保证两侧的对同一会话生成的第一密钥相同,从而可以保证端到端之间的用户面数据安全。
一种可能的设计方案中,随机值可以承载在第一消息中。
一种可能的设计方案中,不同的会话建立请求对应不同的第一数值,可以包括:不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
第二方面,提供一种通信方法,该方法可以由终端设备执行,也可以由终端设备的部件,例如终端设备的处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分终端设备的逻辑模块或软件实现。该方法包括:发送第一消息,第一消息包括会话建立请求和会话建立请求对应的会话标识。根据会话标识和第一数值确定第一密钥,第一密钥用于对会话标识对应的会话中的数据进行安全处理,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。
一种可能的设计方案中,在第一数值为计数值、且计数值对应的计数器用于对终端设备请求的会话建立请求的个数进行计数的情况下,第二方面所述的方法还可以包括:发送第一消息后或者接收到会话建立接受消息后,将计数值加一。
一种可能的设计方案中,第二方面所述的方法还可以包括:完成主认证后,将计数值置零。
一种可能的设计方案中,在第一数值为随机值的情况下,第二方面所述的方法还可以包括:接收随机值。
一种可能的设计方案中,随机值可以承载在会话建立接受消息中。
一种可能的设计方案中,第二方面所述的方法还可以包括:完成主认证后,清除存储的所有随机值。
一种可能的设计方案中,在第一数值为随机值的情况下,第二方面所述的方法还可以包括:存储会话标识与随机值的对应关系。发送随机值。
一种可能的设计方案中,随机值可以承载在第一消息中。
一种可能的设计方案中,不同的会话建立请求对应不同的第一数值,可以包括:不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
一种可能的设计方案中,第二方面所述的方法还可以包括:根据第一密钥对会话标识对应的会话中的数据进行安全处理。
其中,第二方面所述的方法的技术效果描述可以参见上述第一方面所述方法的技术效果的相关描述,对此不做赘述。
第三方面,提供一种通信方法,该方法可以由会话管理网元执行,也可以由会话管理网元的部件,例如会话管理网元的处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分会话管理网元的逻辑模块或软件实现。该方法包括:接收会话建立请求、会话建立请求对应的会话标识和第一密钥,第一密钥用于对会话标识对应的会话中的数据进行安全处理,第一密钥根据会话标识和第一数值确定,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。向用户面网元发送会话标识和第一密钥。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。
一种可能的设计方案中,在第一数值为计数值的情况下,第三方面所述的方法还可以包括:发送第二消息,第二消息用于指示将计数值加一。
一种可能的设计方案中,在第一数值为随机值的情况下,第三方面所述的方法还可以包括:发送第三消息,第三消息用于指示向终端设备发送随机值。
其中,第三方面所述的方法的技术效果描述可以参见上述第一方面所述方法的技术效果的相关描述,对此不做赘述。
第四方面,提供了一种通信装置用于实现上述各种方法。该通信装置可以为上述第一方面中的第一网元,或者包含上述第一网元的装置,或者上述第一网元中包含的装置,比如芯片。所述通信装置包括实现上述第一方面所述方法的相应模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
在一些可能的设计中,该通信装置包括:处理模块和收发模块。其中,收发模块,用于接收来自终端设备的第一消息,第一消息包括会话建立请求和会话建立请求对应的会话标识。处理模块,用于根据会话标识和第一数值确定第一密钥。收发模块,还用于发送会话建立请求、会话标识和第一密钥。其中,第一密钥用于对会话标识对应的会话中的数据进行安全处理,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的非接入层NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。
一种可能的设计方案中,在第一数值为计数值、且计数值对应的计数器用于对终端设备请求的会话建立请求的个数进行计数的情况下,收发模块,还用于接收第二消息,第二消息用于指示将计数值加一。根据第二消息将计数值加一。
一种可能的设计方案中,在计数值达到最大值的情况下,收发模块,还用于发送第一指示信息,第一指示信息用于指示对终端设备重新进行主认证。在主认证完成之后,处理模块,还用于将计数值置零。
一种可能的设计方案中,在第一数值为随机值的情况下,处理模块,还用于保存随机值与会话标识的对应关系。收发模块,还用于向终端设备发送随机值。
一种可能的设计方案中,在对终端设备进行主认证后,处理模块,还用于清除存储的所有随机值。
一种可能的设计方案中,在第一数值为随机值的情况下,收发模块,还用于接收来自终端设备的随机值。
一种可能的设计方案中,随机值可以承载在第一消息中。
一种可能的设计方案中,不同的会话建立请求对应不同的第一数值,可以包括:不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
一种可能的设计方案中,收发模块可以包括接收模块和发送模块。其中,发送模块用于实现第四方面所述的通信装置的发送功能,接收模块用于实现第四方面所述的通信装置的接收功能。
一种可能的设计方案中,第四方面所述的通信装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第四方面所述的通信装置可以执行第一方面所述的方法。
第五方面,提供了一种通信装置用于实现上述各种方法。该通信装置可以为上述第二方面中的终端设备,或者包含上述终端设备的装置,或者上述终端设备中包含的装置,比如芯片。所述通信装置包括实现上述第二方面所述方法的相应模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
在一些可能的设计中,该通信装置包括:处理模块和收发模块。其中,收发模块,用于发送第一消息,第一消息包括会话建立请求和会话建立请求对应的会话标识。处理模块,用于根据会话标识和第一数值确定第一密钥,第一密钥用于对会话标识对应的会话中的数据进行安全处理,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。
一种可能的设计方案中,在第一数值为计数值、且计数值对应的计数器用于对终端设备请求的会话建立请求的个数进行计数的情况下,处理模块,还用于发送第一消息后或者接收到会话建立接受消息后,将计数值加一。
一种可能的设计方案中,处理模块,还用于完成主认证后,将计数值置零。
一种可能的设计方案中,在第一数值为随机值的情况下,收发模块,还用于接收随机值。
一种可能的设计方案中,随机值可以承载在会话建立接受消息中。
一种可能的设计方案中,处理模块,还用于完成主认证后,清除存储的所有随机值。
一种可能的设计方案中,在第一数值为随机值的情况下,处理模块,还用于存储会话标识与随机值的对应关系。收发模块,还用于发送随机值。
一种可能的设计方案中,随机值可以承载在第一消息中。
一种可能的设计方案中,不同的会话建立请求对应不同的第一数值,可以包括:不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
一种可能的设计方案中,处理模块,还用于根据第一密钥对会话标识对应的会话中的数据进行安全处理。
一种可能的设计方案中,收发模块可以包括接收模块和发送模块。其中,发送模块用于实现第五方面所述的通信装置的发送功能,接收模块用于实现第五方面所述的通信装置的接收功能。
一种可能的设计方案中,第五方面所述的通信装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第五方面所述的通信装置可以执行第二方面所述的方法。
第六方面,提供了一种通信装置用于实现上述各种方法。该通信装置可以为上述第三方面中的会话管理网元,或者包含上述会话管理网元的装置,或者上述会话管理网元中包含的装置,比如芯片。所述通信装置包括实现上述第三方面所述方法的相应模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
在一些可能的设计中,该通信装置包括:处理模块和收发模块。其中,收发模块,用于接收会话建立请求、会话建立请求对应的会话标识和第一密钥,第一密钥用于对会话标识对应的会话中的数据进行安全处理,第一密钥根据会话标识和第一数值确定,第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。处理模块,用于确定用户面网元。收发模块还用于向用户面网元发送会话标识和第一密钥。
一种可能的设计方案中,计数值可以是通过计数器计数得到的,计数器用于对终端设备请求的会话建立请求的个数进行计数,或者计数器用于对终端设备发送的NAS消息的个数进行计数,或者计数器用于对向终端设备发送的NAS消息的个数进行计数。
一种可能的设计方案中,在第一数值为计数值的情况下,收发模块还用于发送第二消息,第二消息用于指示将计数值加一。
一种可能的设计方案中,在第一数值为随机值的情况下,收发模块还用于发送第三消息,第三消息用于指示向终端设备发送随机值。
一种可能的设计方案中,收发模块可以包括接收模块和发送模块。其中,发送模块用于实现第六方面所述的通信装置的发送功能,接收模块用于实现第六方面所述的通信装置的接收功能。
一种可能的设计方案中,第六方面所述的通信装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第六方面所述的通信装置可以执行第三方面所述的方法。
第七方面,提供一种通信装置(例如,该通信装置可以是芯片或芯片系统)。该通信装置包括:处理器,用于实现上述任一方面中所涉及的功能。
一种可能的设计方案中,该通信装置还可以包括存储器,该存储器,用于保存必要的程序指令和数据。处理器与存储器耦合,该处理器用于执行存储器中存储的计算机程序或指令,以使得该通信装置执行第一方面至第三方面中任意一种可能的实现方式所述的方法。
一种可能的设计方案中,第七方面所述的通信装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第七方面所述的通信装置与其他通信装置通信。
一种可能的设计方案中,处理器可以与存储器集成在一起。
在一些可能的设计中,该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
第八方面,提供一种通信装置,该通信装置包括处理器和接口电路,接口电路用于接收来自通信装置之外的其它通信装置的信号并传输至处理器或将来自处理器的信号发送给通信装置之外的其它通信装置,处理器通过逻辑电路或执行代码指令用于实现如第一方面至第三方面中任意一种可能的实现方式所述的方法。
可以理解的是,第七方面或第八方面中任一方面提供的通信装置是芯片时,上述的发送动作/功能可以理解为输出,上述的接收动作/功能可以理解为输入。
第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当其在通信装置上运行时,使得通信装置可以执行上述第一方面至第三方面中任一方面所述的方法。
第十方面,提供了一种包含指令的计算机程序产品,包括计算机程序代码,当计算机程序代码在通信装置上运行时,使得该通信装置可以执行上述第一方面至第三方面中任一方面所述的方法。
第十一方面,提供了一种通信系统,包括:用于实现上述第一方面所述方法的第一网元、用于实现上述第二方面中所述方法的终端设备、以及用于实现上述第三方面中所述方法的会话管理网元。
附图说明
图1为一种基于服务化接口的非漫游5G系统的架构示意图;
图2为5G系统中的一种密钥推演的架构示意图;
图3为一种算法协商的流程示意图;
图4为一种UP安全激活机制的流程示意图;
图5为3GPP中定义的一种数据加密和解密的流程示意图;
图6为3GPP中定义的一种完整性保护和校验的流程示意图;
图7为本申请实施例提供的一种通信系统的架构示意图;
图8为本申请实施例提供的一种通信方法的流程示意图;
图9为本申请实施例提供的另一种通信方法的流程示意图;
图10为本申请实施例提供的又一种通信方法的流程示意图;
图11为本申请实施例提供的又一种通信方法的流程示意图;
图12为本申请实施例提供的一种通信装置的结构示意图;
图13为本申请实施例提供的另一种通信装置的结构示意图。
具体实施方式
本申请实施例将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
本申请实施例的技术方案可以应用于各种通信系统,例如无线保真(wireless fidelity,Wi-Fi)系统,车到任意物体(vehicle to everything,V2X)通信系统、设备间(device-to-device,D2D)通信系统、车联网通信系统、全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统、第4代(4th generation,4G)移动通信系统,如长期演进(long term evolution,LTE)系统、第5代(5th generation,5G)移动通信系统,如新空口(new radio,NR)系统,以及未来的通信系统等。
下面对本申请实施例可能涉及相关术语、概念或者技术进行介绍:
1、5G移动通信系统
5G是具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设施。如图1所示,为一种基于服务化接口的非漫游(Non-Roaming)5G系统的架构示意图,该5G系统包括终端设备、无线(radio,R)接入网(access network,AN)和核心网(core network,CN),终端设备通过AN和CN接入数据网络(data network,DN)。
终端设备可以是具有收发功能的终端设备,或也可以是设置于该终端设备的芯片或芯片系统。该终端设备也可以称为用户设备(user equipment,UE)、接入终端、用户单元(subscriber unit)、用户站、移动站(mobile station,MS)、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备可以是手机(mobile phone)、蜂窝电话(cellular phone)、智能电话(smart phone)、平板电脑(Pad)、无线数据卡、个人数字助理电脑(personal digital assistant,PDA)、无线调制解调器(modem)、手持设备(handset)、膝上型电脑(laptop computer)、机器类型通信(machine type communication,MTC)终端、物联网(internet of things,IoT)终端、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、智能家居设备(例如,冰箱、电视、空调、电表等)、智能机器人、机械臂、车间设备、无人驾驶中的无线终端、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、车载终端、具有终端功能的路边单元(road side unit,RSU)等、飞行设备(例如,智能机器人、热气球、无人机、飞机)等。本申请的终端设备还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元。终端设备还可以是其他具有终端功能的设备,例如,终端设备还可以是D2D通信中担任终端功能的设备。
本申请的实施例对终端设备的设备形态不做限定,用于实现终端设备的功能的装置可以是终端设备;也可以是能够支持终端设备实现该功能的装置,例如芯片系统。该装置可以被安装在终端设备中或者和终端设备匹配使用。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
AN用于实现接入有关的功能,可以为特定区域的授权用户提供入网功能,并能够根据用户的级别,业务的需求等确定不同质量的传输链路以传输用户数据。AN在终端设备与CN之间转发控制信号和用户数据。AN可以包括:接入网设备,接入网设备也可以称为接入网节点、无线接入网(radio access network,RAN)节点、RAN设备、RAN实体或接入节点等,位于上述通信系统的网络侧,用以帮助终端设备实现无线接入,且具有无线收发功能的设备或可设置于该设备的芯片或芯片系统。
该接入网设备包括但不限于:基站(base station)、演进型基站(evolved Node B,eNodeB/eNB)、接入点(access point,AP)、发送接收点(transmission reception point,TRP或者transmission point,TP)、下一代基站(next generation NodeB,gNB)、未来移动通信系统中的基站、或Wi-Fi系统中的接入节点等。接入网设备可以是宏基站、微基站或室内站、中继节点或施主节点、开放式无线接入网(open radio access network,ORAN)或者是集中式无线接入网(centralized radio access network,CRAN)场景下的无线控制器。接入网设备也可以是5G中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB、TRP或者TP或传输测量功能(transmission measurement function,TMF)的网络节点,如集中式单元(central unit,CU),分布式单元(distributed unit,DU),CU-控制面(control plane,CP),CU-用户面(user plane,UP),或者无线单元(radio unit,RU)、具有基站功能的路侧单元(road side unit,RSU),可选的,接入网设备还可以是服务器,可穿戴设备,车辆或车载设备等。例如,V2X技术中的接入网设备可以为RSU。本申请中的接入网设备的全部或部分功能也可以通过在硬件上运行的软件功能来实现,或者通过平台(例如云平台)上实例化的虚拟化功能来实现。本申请中的接入网设备还可以是能实现全部或部分接入网设备功能的逻辑节点、逻辑模块或软件。
其中,CU和DU可以是单独设置,或者也可以包括在同一个网元中,例如基带单元(baseband unit,BBU)中。RU可以包括在射频设备或者射频单元中,例如包括在射频拉远单元(remote radio unit,RRU)、有源天线处理单元(active antenna unit,AAU)或远程射频头(remote radio head,RRH)中。可以理解的是,接入网设备可以为CU节点、或DU节点、或包括CU节点和DU节点的设备。此外,CU可以划分为接入网RAN中的网络设备,也可以将CU划分为CN中的网络设备,在此不做限制。
在不同系统中,CU(或CU-CP和CU-UP)、DU或RU也可以有不同的名称,但是本领域的技术人员可以理解其含义。例如,在ORAN系统中,CU也可以称为O-CU(开放式CU),DU也可以称为O-DU,CU-CP也可以称为O-CU-CP,CU-UP也可以称为O-CU-UP,RU也可以称为O-RU。为描述方便,本申请中以CU,CU-CP,CU-UP、DU和RU为例进行描述。本申请中的CU(或CU-CP、CU-UP)、DU和RU中的任一单元,可以是通过软件模块、硬件模块、或者软件模块与硬件模块结合来实现。
本申请实施例中对接入网设备的形态不作限定,用于实现接入网设备的功能的装置可以是接入网设备;也可以是能够支持接入网设备实现该功能的装置,例如芯片系统。该装置可以被安装在接入网设备中或者和接入网设备匹配使用。
CN主要负责维护移动网络的签约数据,为终端设备提供会话管理、移动性管理、策略管理以及安全认证等功能。CN主要包括如下网元:UPF、AUSF、AMF、会话管理功能(session management function,SMF)、网络切片选择功能(network slice selection function,NSSF)、网络开放功能(network exposure function,NEF)、网络功能仓储功能(network function repository function,NRF)、策略控制功能(policy control function,PCF)、统一数据管理(unified data management,UDM)、应用功能(application function,AF)、边缘应用服务发现功能(edge application server discovery function,EASDF)、网络切片准入控制功能(the network slice admission control function,NSACF)、服务通信代理(service communication proxy,SCP)以及网络切片和独立非公共网络(standalone non-public network,SNPN)的鉴权授权功能(network slice-specific and SNPN authentication and authorization function,NSSAAF)。
其中,UPF主要负责用户数据处理(转发、接收、计费等)。例如,UPF可以接收来自DN的用户数据,通过接入网设备向终端设备转发该用户数据。UPF也可以通过接入网设备接收来自终端设备的用户数据,并向DN转发该用户数据。在PDU会话中,通过N6与DN直接相连的UPF,也称为协议数据单元会话锚点(protocol data unit Session Anchor,PSA)。
AUSF主要用于执行终端设备的安全认证。
AMF主要用于移动网络中的移动性管理。例如用户位置更新、用户注册网络、用户切换等。
SMF主要用于移动网络中的会话管理。例如会话建立、修改、释放。具体功能例如为用户分配互联网协议(internet protocol,IP)地址,选择提供数据包转发功能的UPF等。
NSSF主要用于为终端设备选择网络切片。
NEF主要用于支持能力和事件的开放。例如,NEF可以将5G网络的一些能力通过应用程序接口(application program interface,API)开放给第三方应用,第三方应用通过AF调用NEF提供的API获得5G网络的一些能力,使得第三方应用可以对5G网络和终端设备的某些行为进行控制。
NRF主要用于提供网元发现功能,基于其他网元的请求,提供网元类型对应的网元信息,并且还提供网元管理服务,如网元注册、更新、去注册以及网元状态订阅和推送等。
PCF主要支持提供统一的策略框架来控制网络行为,提供策略规则给控制层网络功能,同时负责获取与策略决策相关的用户签约信息。PCF可以向AMF、SMF提供策略,例如服务质量(quality of service,QoS)策略、切片选择策略等。
UDM主要用于存储用户数据,例如签约数据、鉴权/授权数据等。
AF是部署在第三方的功能网元,传递应用侧对网络侧的需求,例如,QoS需求或用户状态事件订阅等。主要作用就是告诉PCF最新的第三方企业对于某个应用的业务要求,PCF会根据要求生成相应的QoS规则,确保网络提供的服务满足第三方所提出的要求。
EASDF主要是根据SMF的指示处理(domain name system,DNS)消息,包括从终端设备交换DNS消息、将DNS消息转发到中心(central,C)-DNS或本地(local,L)L-DNS以进行DNS查询等。
NSACF主要是监视和控制每个网络片上注册终端设备的数量、监视和控制每个网络片建立的PDU会话数。基于事件的网络切片状态通知,并向使用者(network function,NF)报告。
SCP主要支持超文本传输协议(hypertext transfer protocol,HTTP)信令间接通信功能,为CN中各NF间提供信令消息路由及转发。
NSSAAF可用于支持切片认证和授权,以及支持使用凭据持有者的凭据访问独立非公共网络。
应理解,上述示例性的示出了CN中包含的几种核心网网元,除此之外,还可以包括其他核心网网元,例如,统一数据存储(unified data repository,UDR),主要用于存储结构化数据,存储的内容包括签约数据和策略数据、对外暴露的结构化数据和应用相关的数据。
可以理解的是,上述网元或者功能既可以是硬件设备中的物理实体,也可以是在专用硬件上运行的软件实例,或者是共享平台(例如,云平台)上实例化的虚拟化功能。简单来说,一个NF可以由硬件来实现,也可以由软件来实现。
DN是位于运营商网络之外的网络,运营商网络可以接入多个DN,DN上可部署多种业务,可为终端设备提供数据和/或语音等服务。例如,DN是某智能工厂的私有网络,智能工厂安装在车间的传感器可为终端设备,DN中部署了传感器的控制服务器,控制服务器可为传感器提供服务。传感器可与控制服务器通信,获取控制服务器的指令,根据指令将采集的传感器数据传送给控制服务器等。又例如,DN是某公司的内部办公网络,该公司员工的手机或者电脑可为终端设备,员工的手机或者电脑可以访问公司内部办公网络上的信息、数据资源等。
图1中Nnef、Nnrf、Npcf、Nudm、Nudr、Nnwdaf、Naf、Nausf、Namf、Nsmf、N1、N2、N3、N4,以及N6等为接口序列号。示例性地,上述接口序列号的含义可参见3GPP标准协议中定义的含义,本申请对于上述接口序列号的含义不作限制。需要说明的是,图1中的各个网络功能之间的接口名称仅仅是一个示例,在具体实现中,该系统架构的接口名称还可能为其他名称,本申请对此不作限定。此外,上述各个网元之间的所传输的消息(或信令)的名称也仅仅是一个示例,对消息本身的功能不构成任何限定。
需要说明的是,在图1所示的架构中,(R)AN与CN之间的接口也可以称为NG接口(图1中未示出),(R)AN与CN之间通过NG接口进行连接。NG接口可以包括NG-C接口和NG-U接口,其中,NG-C接口为控制面接口,连接双方为(R)AN和AMF,用于传输控制面数据;NG-U接口为用户面接口,连接双方为(R)AN和UPF,用于传输用户面数据。
应理解,图1中所示的AMF、SMF、UPF、NEF、AUSF、NRF、PCF、UDM可以理解为核心网中用于实现不同功能的网元,例如可以按需组合成网络切片。这些核心网网元可以是各自独立的设备,也可以集成于同一设备中实现不同的功能,本申请对于上述网元的具体形态不作限定。
还应理解,上述命名仅为便于区分不同的功能而定义,不应对本申请构成任何限定。本申请并不排除在5G网络以及未来其它的网络中采用其他命名的可能。
2、用户面数据安全保护
在用户面数据传输包括:上行用户面数据传输和下行用户面数据传输。其中,上行用户面数据传输是指终端设备的用户面数据可以依次经过基站和UPF发向DN,下行用户面数据传输是指DN的用户面数据可以依次经过UPF和基站发向终端设备。
5G系统是通过逐跳安全保护的方式来实现终端设备与DN之间的用户面数据的安全保护,以确保通信安全。例如,终端设备与基站之间对传输的用户面数据进行安全保护,以及基站与UPF之间建立因特网协议安全(internet protocol security,IPSec)隧道。对于需要安全保护的数据包,5G系统可以在建立用于传输该数据包的PDU会话的过程中,为该终端设备分配需要的空口资源,获得终端设备与基站之间安全保护的密钥,并激活终端设备与基站之间用户面的安全保护,确保终端设备与基站之间的通信安全。
在逐跳的安全保护的场景下,用户面数据的安全保护包括:
2-1、密钥推演
用户面数据的安全保护包含机密性保护(或者称为加密保护)和完整性保护,用户面数据保护所使用的密钥是终端设备在注册到网络中后,通过认证流程推演得到的。
如图2所示,为5G系统中的一种密钥推演的架构示意图。其中,终端设备的全球用户识别卡(universal subscriber identity module,USIM)和网络侧的UDM/认证签约存储功能(authentication repository function,ARPF)侧保存终端设备的长期密钥K。终端设备向网络注册时,会进行身份认证,即主认证,主认证流程中的加密密钥(cipher key,CK)、完整性密钥(integrity key,IK),通过5G认证和密钥协商(authentication and key agreement,AKA)或者可扩展认证协议(extensible authentication protocol-AKA’,EAP-AKA’)可以导出KAUSF,通过KAUSF导出KSEAF,再通过KSEAF导出KAMF,从而通过KAMF导出KgNB、NH,进而通过KgNB、NH可以导出控制面非接入层(non-access stratum,NAS)密钥(NAS完整性保护密钥KNASint、NAS机密性保护密钥KNASenc)、和无线资源控制(radio resource control,RRC)密钥(RRC完整性保护密钥KRRCint、RRC机密性保护密钥KRRCenc)和用户面密钥(用户面完整性保护密钥KUPint、用户面机密性保护密钥KUPenc)。对于非第三代合作伙伴计划(3rd generation partnership project,3GPP)接入,还可以通过KAMF产生KN3IWF,用于保护后续的非3GPP接入的数据流量。
假设密钥的推演通过密钥推演函数(key derivation function,KDF)得到:
5G AKA中,KAUSF的推演如下:其中,CK||IK为CK和IK的级联,0x6A为推导标识,serving network name为服务网络名称,L0为服务网络名称的长度,SQN为序列号(sequence number),AK为匿名密钥(anonymity key),SQN和AK的异或(exclusive OR,XOR)作为身份验证令牌(authentication token,AUTN)的一部分发送到终端设备,请参见技术规范(technical specification,TS)33.102,L1为的长度。
KSEAF的推演如下:KSEAF=KDF(KAUSF,0x6C,serving network name,L0)。
KAMF的推演如下:KAMF=KDF(KSEAF,0x6D,IMSI/NAI/GCI/GLI,L0,ABBA paramter,L1)。其中,IMSI、NAI、GCI、GLI为四种订阅永久标识(subscription permanent identifier,SUPI)类型,IMSI为国际移动用户标识(international mobile station identity),NAI为网络接入标识(network access identifier),GCI为全球电缆标识符(global cable identifier),GLI为全球线路标识符(global line identifier),ABBA paramter是架构间抗降维(anti-bidding down between architectures,AABA)参数、L1为ABBA paramter的长度。
KgNB即基站的密钥的推演如下:KgNB=KDF(KAMF,0x6E,上行NAS COUNT,上行NAS COUNT的长度,访问类型区分器,访问类型区分器的长度)。其中,在3GPP接入时,访问类型区分器(access type distinguisher)的值为0x01,非3GPP接入时,访问类型区分器的值为0x02。
从KAMF推演KNASenc或者KNASint,从KgNB推演KRRCenc和KRRCint、KUPenc和KUPint的过程如下:KNAS/KRRC/KUP=KDF(KAMF/KgNB,0x69,算法类型区分器,算法类型区分器的长度,算法标识,算法标识长度)。其中,对于NAS加密算法,算法类型区分器为N-NAS-enc-alg;对于NAS完整性保护算法,算法类型区分器为N-NAS-int-alg;对于RRC加密算法,算法类型区分器为N-RRC-enc-alg;对于RRC完整性保护算法,算法类型区分器为N-RRC-int-alg;对于UP加密算法,算法类型区分器为N-UP-enc-alg;对于UP完整性保护算法,算法类型区分器为N-UP-int-alg。各算法类型区分器的取值如下表1所示:
表1
算法标识包括加密算法标识和完整性算法标识,每个加密算法(network encryption algorithm,NEA)和完整性算法(network integrity algorithm,NIA)被分配一个4位的加密算法标识,不同的标识对应不同的加密算法/完整性算法。例如,加密算法NEA0的标识为0000,加密算法128-NEA1的标识为0001,加密算法128-NEA2的标识为0010,加密算法128-NEA3的标识为0011。又例如,完整性算法NIA0的标识为0000,完整性算法128-NIA1的标识为0001,完整性算法128-NIA2的标识为0010,完整性算法128-NIA3的标识为0011。
由此可知,在KNAS/KRRC/KUP推演时,会将加密算法或者完整性算法的算法标识作为输入,并区分是加密还是完整性保护。
2-2、算法协商
对于逐跳的安全保护场景中,用户面数据在终端设备和基站之间进行安全保护所使用的安全算法,是基站侧根据终端设备的安全能力和基站本地的安全能力,选择的优先级最高的安全算法。基站可以通过接入层(access stratum,AS)安全模型命令(security mode command,SMC)流程将选定的安全算法发送给终端设备。具体的,基站侧在进行AS SMC的过程中,会向终端设备发送其选定的(通过终端设备的安全能力和基站本地的安全能力选择的优先级最高的)机密性保护和完整性保护算法,其中,终端设备在注册过程中携带终端设备的安全能力。
如图3所示,机密性保护和完整性保护算法的协商流程,可以包括如下步骤:
S31a、基站启动RRC完整性保护。
S31b、基站向终端设备发送AS安全模式命令(AS Security Mode Command)。相应的,终端设备接收来自基站的AS安全模式命令。其中,AS安全模式命令包括完整性算法、加密算法、MAC-I。
S31c、基站启动RRC下行加密。
S31d、基站启动RRC上行解密。
S32a、终端设备验证AS SMC完整性,如果成功,启动RRC完整性保护和RRC下行解密。
S32b、终端设备向基站发送AS安全模式完成(AS Security Mode Complete)。相应的,基站接收来自终端设备的AS安全模式完成。其中,AS安全模式完成包括MAC-I。
S33c、终端设备启动RRC上行加密。
2-3、安全策略
用户面数据的安全策略是PDU会话粒度的,具体来说,终端设备在建立PDU会话过程中,SMF会获得该PDU会话的安全策略(包括是否机密性保护、是否加密保护,具体分为required、not needed和preferred),并将相应安全策略发给基站,基站根据该安全策略,会对为该PDU会话分配的所有数据无线承载(data radio bearer,DRB)使用该安全策略。具体来说,AS UP完整性保护和加密激活应作为DRB添加过程的一部分,使用如图4所示的RRC连接重配置过程来完成。
如图4所示,为一种UP安全激活机制的流程示意图,包括如下步骤:
S41a、基站确定RRC安全被激活,如RRC加密和RRC完整性保护被激活。
S41b、基站向终端设备发送RRC连接重配置(RRC Connection Reconfiguration)消息。相应的,终端设备接收来自基站的RRC连接重配置消息。其中,RRC连接重配置消息包括每个DRB的UP完整性指示(UP integrity indication)和UP加密指示(UP ciphering indication)。
S41c、基站对于每个DRB,如果UP完整性被激活,启动上行UP完整性验证和下行UP完整性保护;对于每个DRB,如果UP加密被激活,启动上行UP解密和下行UP加密。
S42a、终端设备验证RRC连接重配置的完整性,如果成功,对于每个DRB,如果UP完整性被激活,启动上行UP完整性保护和下行UP完整性验证;对于每个DRB,如果UP加密被激活,启动上行UP加密和下行UP解密。
S42b、终端设备向基站发送RRC连接重配置完成(RRC Connection Reconfiguration Complete)消息。相应的,基站接收来自终端设备的RRC连接重配置完成消息。
这里,UP integrity indication和UP ciphering indication都是指是否开启保护,不包含具体的加密和完整性保护算法,加密和完整性保护算法是在上述AS SMC过程中(该过程可能早于用户面激活,AS涵盖RRC信令和用户面空口传输)通过基站发给终端设备的。
这样,终端设备和基站之间可以基于DRB及对应的安全策略进行加密和完整性保护,安全策略是PDU会话粒度,某PDU会话对应的DRB的安全策略是一样的。
2-4、机密性保护和完整性保护
在推演得到对应的密钥,并确定对应的安全保护算法和安全策略后,可以对用户面数据进行机密性保护和完整性保护。其中,机密性保护是指对数据进行加密,输出密文,攻击者拿到密文,无法推导出对应的明文信息。如图5所示,为3GPP中定义的一种数据加密和解密的流程示意图,发送端将密钥KEY、COUNT、BEARER、DIRECTION、LENGTH输入到NEA中,输出密钥流KEYSTREAM BLOCK,然后使用输出的密钥流KEYSTREAM BLOCK与明文PLAINTEXT BLOCK做异或进行加密,可以输出对应的密文CIPHERTEXT BLOCK。相应的,接收端也将密钥KEY、COUNT、BEARER、DIRECTION、LENGTH输入到NEA中,输出密钥流KEYSTREAM BLOCK,再使用密钥流KEYSTREAM BLOCK与接收到密文CIPHERTEXT BLOCK做异或进行解密,可以输出对应的明文PLAINTEXT BLOCK。
其中,KEY为一个128位比特的密钥,COUNT为一个32位比特的计数值(上行和上行分组数据会聚协议(packet data convergence protocol,PDCP)COUNT值),BEARER为一个5位比特的承载标识,DIRECTION为1位比特的传输方向(上行链路为0,下行链路为1),LENGTH为所需密钥流的长度。
如图6所示,为3GPP中定义的一种完整性保护和校验的流程示意图,发送端将密钥KEY、COUNT、MESSAGE、DIRECTION、BEARER输入NIA,输出对应的消息认证码(message authentication code,MAC)值(如MAC-I/NAS-MAC)。相应的,接收端也将密钥KEY、COUNT、MESSAGE、DIRECTION、BEARER输入NIA,计算MAC值(如XMAC-I/XNAS-MAC),并比对收到的MAC值是否等于本地计算的MAC值。其中,MESSAGE为进行完整性保护和校验的消息本身,位长为LENGTH。
上述整个密钥推演架构及数据保护是基于逐跳的安全保护设计的,在逐跳的安全保护场景下,终端设备和基站之间共享用户面加密和完整性保护密钥,并使用该密钥对数据进行保护,从而在基站侧会进行解密和完整性校验。
3、PDU会话标识
PDU(protocol data unit,协议数据单元)会话是PDU业务的载体。PDU连接业务就是终端设备和DN之间交换PDU数据包的业务;PDU连接业务通过终端设备发起PDU会话的建立来实现。一个PDU会话建立后,也就是建立了一条终端设备和DN的数据传输通道。
移动通信网络中,终端设备会向网络侧请求建立PDU会话,根据不同的DN和切片信息,可能需要建立多个PDU会话,在请求建立PDU会话的过程中,终端设备会为该会话随机分配PDU会话标识,PDU会话标识通过8比特(1字节)1指示,所以最多有255个取值,00000001~00001111(1~15)为已分配的8个PDU会话标识值,剩余取值为预留值。如果PDU会话标识是网络侧分配给不支持N1模式的终端设备的,则取值为64~95的PDU会话标识是预留给这种场景的。对于预留的PDU会话标识,只在核心网侧可见。
终端设备如何分配PDU会话标识取决于各厂商的内部实现。
由上述可知,在当前逐跳的安全保护场景下,即用户面数据在终端设备和基站之间进行安全保护,以及在基站与用户面功能之间进行安全保护,这样会使得用户面数据在安全传输过程在基站侧明文出现,易遭受近端探测、物理攻击等,因此希望能够在终端设备与用户面功能之间建立端到端的安全保护,即基站不对用户面数据做完整性校验和解密,只能转发加密和完整性保护后的数据。
在逐跳的安全保护场景下,用户面保护密钥是以终端设备为粒度设计的,在一次主认证周期内,同一终端设备发起的不同会话进行安全保护时,终端设备和基站可以维护该终端设备进行用户面数据保护时输入的计数器的计数值,在相同用户面保护密钥输入的情况下因输入的计数值的不同,输出的密钥流不会被重用。
在端到端的安全保护场景下,不需要在基站侧终结安全,所以不需要为基站推演对应的密钥,而需要聚焦在终端设备和用户面功能的安全控制上,然而,由于服务不同会话的用户面功能可能不相同,终端设备和用户面功能之间也无法如逐跳的安全保护场景中的终端设备与基站之间一样,通过统一维护进行用户面数据保护时输入的计数值,来保证输出的密钥流不会被重用,因此,如何解决终端设备与用户面功能之间端到端的安全保护场景下的用户面数据安全问题,是亟待解决的。
为此,本申请实施例提供一种通信方法及装置,通过以会话为粒度的密钥来对用户面数据进行安全保护,可以保证在一个主认证周期内,不同会话使用的密钥不被重用,提高用户面数据传输的安全性。
为了更好地理解本申请实施例,在介绍本申请实施例之前,做出如下几点说明。
第一,在本申请实施例中,“用于指示”可以包括用于直接指示和用于间接指示。当描述某一“指示信息”用于指示A时,可以包括该指示信息直接指示A或间接指示A,而并不代表该指示信息中一定携带有A。
将指示信息所指示的信息称为待指示信息,则具体实现过程中,对待指示信息进行指示的方式有很多种,例如但不限于,可以直接指示待指示信息,如待指示信息本身或者该待指示信息的索引等。也可以通过指示其他信息来间接指示待指示信息,其中该其他信息与待指示信息之间存在关联关系。还可以仅仅指示待指示信息的一部分,而待指示信息的其他部分则是已知的或者提前约定的。例如,还可以借助预先约定(例如协议规定)的各个信息的排列顺序来实现对特定信息的指示,从而在一定程度上降低指示开销。同时,还可以识别各个信息的通用部分并统一指示,以降低单独指示同样的信息而带来的指示开销。
此外,具体的指示方式还可以是现有各种指示方式,例如但不限于,上述指示方式及其各种组合等。各种指示方式的具体细节可以参考现有技术,本文不再赘述。由上文所述可知,举例来说,当需要指示相同类型的多个信息时,可能会出现不同信息的指示方式不相同的情形。具体实现过程中,可以根据具体的需要选择所需的指示方式,本申请实施例对选择的指示方式不做限定,如此一来,本申请实施例涉及的指示方式应理解为涵盖可以使得待指示方获知待指示信息的各种方法。
待指示信息可以作为一个整体一起发送,也可以分成多个子信息分开发送,而且这些子信息的发送周期和/或发送时机可以相同,也可以不同。具体发送方法本申请不进行限定。其中,这些子信息的发送周期和/或发送时机可以是预先定义的,例如根据协议预先定义的,也可以是发射端设备通过向接收端设备发送配置信息来配置的。
第二,在本申请实施例中,第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的指示信息。又例如,第一指示信息和第二指示信息仅仅是为了区分不同的指示信息,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
第三,在本申请实施例中,“当……时”、“在……的情况下”、“若”以及“如果”等描述均指在某种客观情况下设备会做出相应的处理,并非是限定时间,且也不要求设备在实现时一定要有判断的动作,也不意味着存在其它限定。
同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
最后,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
参见图7,为本申请实施例提供的一种通信系统的架构示意图。如图7所示,该通信系统包括第一网元、终端设备、和会话管理网元。可选的,该通信系统还可以包括用户面网元。
其中,第一网元用于推演和生成以会话粒度的密钥,该密钥用于对对应会话中的数据进行安全处理或者安全保护。本申请实施例中,第一网元通常是指接入和移动性管理网元或安全锚点网元,在一些场景中,接入和移动性管理网元和安全锚点网元是合设在一起的,或者是安全锚点网元是属于接入和移动性管理网元中的一部分,对此不做限定。在一些实现中,第一网元也可以是鉴权服务网元、或者会话管理网元,对此不做限定。
接入和移动性管理网元,用于实现终端设备的接入管理和移动性管理。例如,负责终端设备的状态维护,终端设备的可达性管理,非移动性管理(mobility management,MM)的NAS消息的转发,会话管理(session management,SM)N2消息的转发等。接入和移动性管理网元可以为如上述图1示出的5G移动通信系统中的AMF。
安全锚点网元,用于向鉴权服务网元发起鉴权请求,在鉴权过程完成网络侧对终端设备的认证。安全锚点网元可以为5G移动通信系统中安全锚点功能(security anchor function,SEAF)。
鉴权服务网元,用于鉴权服务、产生密钥实现对终端设备的双向鉴权,支持统一的鉴权框架,执行终端设备的安全认证。该鉴权服务网元可以为如上述图1示出的5G移动通信系统中的AUSF。
会话管理网元,用于实现终端设备的会话管理,为终端设备的会话分配资源和释放资源。其中,资源包括资源预置参数QoS,会话路径,转发规则等。会话管理网元可以为如上述图1示出的5G移动通信系统中的SMF。
用户面网元,用于分组路由和转发以及用户面数据的QoS处理等。用户面网元可以根据会话管理网元的路由规则执行用户数据包转发,如上行数据发送到数据网络或其他用户面网元,下行数据转发到其他用户面网元或者(R)AN。该用户面网元可以为如上述图1示出的5G移动通信系统中的UPF。
终端设备的具体介绍可以参见上述5G移动通信系统中的终端设备的介绍,此处不做赘述。
本申请实施例中,终端设备通过向第一网元发送第一消息,第一消息包括会话建立请求和会话建立请求对应的会话标识,以使得第一网元和终端设备可以根据会话标识和第一数值确定用于对会话标识对应的会话中的数据进行安全处理的第一密钥,其中,第一数值为随机值或者计数值,从而可以由第一网元发送给会话管理网元,进而由会话管理网元发送给用户面网元。由此,以在会话建立完成后,在端到端的安全保护场景下,终端设备和用户面网元通过第一密钥对会话标识对应的会话中的数据进行安全处理,并且在一次主认证周期内,不同会话所使用的第一密钥不同,可以避免第一密钥被重用。具体实现可以参见下述方法实施例中的相关描述,此处不做赘述。
应理解,本申请实施例中示例性的给出了不同场景或架构或系统中的节点、模块、设备或网元的名称、以及节点、模块、设备或网元两两之间的通信接口的名称,并不排除在未来通信系统或场景或架构下存在名称变化的可能。
下面将结合图8-图11对本申请实施例提供的通信方法进行具体阐述。
示例性的,图8为本申请实施例提供的一种通信方法的流程示意图,该通信方法以图7所示的第一网元、终端设备和会话管理网元之间的通信为例进行说明。当然,执行该方法中第一网元动作的主体还可以为第一网元中的装置/模块,例如第一网元中的芯片、处理器、处理单元等,对此不做限定;执行该方法中终端设备动作的主体还可以为终端设备中的装置/模块,例如终端设备中的芯片、处理器、处理单元等,对此不做限定;执行该方法中会话管理网元动作的主体还可以为会话管理网元中的装置/模块,例如会话管理网元中的芯片、处理器、处理单元等,对此不做限定。
如图8所示,该通信方法包括:
S801、终端设备向第一网元发送第一消息。相应的,第一网元接收来自终端设备的第一消息。
本申请实施例中,第一网元通常是指接入和移动性管理网元(如5G中的AMF)或安全锚点网元(如5G中的SEAF),第一消息可以是NAS消息。其中,第一消息包括会话建立请求和会话建立请求对应的会话标识,会话建立请求用于请求建立会话,会话建立请求对应的会话标识是终端设备为请求建立的会话分配的一个标识,用于标识该请求建立的会话。
终端设备在完成主认证流程后,在一个主认证周期内,每次请求建立会话时,可以将会话建立请求和请求建立的会话的标识通过第一消息发送给第一网元。例如,第一消息为NAS消息,会话建立请求用于请求建立会话#1,会话#1的会话标识为ID1,那么该NAS消息包括会话建立请求和ID1,会话建立请求可以承载在N1 SM container中。
应理解,主认证周期可以是指,完成对终端设备的一次主认证流程到开始下一次主认证流程之间的时间。
S802、第一网元向会话管理网元发送会话建立请求、会话标识和第一密钥。相应的,会话管理网元接收来自第一网元的会话建立请求、会话标识和第一密钥。
第一密钥用于对会话标识对应的会话中的数据进行安全处理,或者说第一密钥用于对请求建立的会话中的数据进行安全处理。其中,安全处理包括但不限于加密、解密、完整性保护和完整性校验。
应理解,本申请实施例中,第一密钥是用于终端设备与用户面网元之间的端到端传输的会话中的数据的安全处理,因此第一网元是为与终端设备进行端到端传输的用户面网元推演的第一密钥。
第一网元在接收到第一消息后,可以先验证终端设备的合法性及该终端设备是否可以发起会话建立请求,如果确认该终端设备可以发起会话建立请求,则第一网元可以为当前终端设备请求建立的会话推演第一密钥,以将该第一密钥通过会话管理网元发送给对应的用户面网元,从而使得在进行端到端的会话传输时,用户面网元可以根据该第一密钥对对应会话中的数据进行安全处理。
例如,会话建立请求用于请求建立会话#1,会话#1的会话标识为ID1,用户面网元可以根据第一密钥对来自终端设备的会话#1中的上行数据进行解密和/或完整性校验,或者可以根据第一密钥来对发送给终端设备的会话#1中的下行数据进行加密和/或完整性保护。
可选的,用户面网元还可以根据第一密钥进一步地推演加密密钥和完整性保护密钥,分别用于对数据进行加/解密和完整性保护/校验。
本申请实施例中,安全处理也可以称为安全保护、保护处理等,对此不做限定。
第一密钥是根据会话标识和第一数值确定的,不同的会话建立请求对应不同的第一数值。本申请实施例中,不同的会话建立请求是指终端设备不同时刻发起的会话建立请求,不同时刻发送的会话建立请求中可以存在相同会话标识的会话建立请求,也即终端设备在不同时刻发起的会话建立请求可以用于请求建立同一会话,也可以存在不同会话标识的会话建立请求,也即终端设备在不同时刻发起的会话建立请求可以用于请求建立不同的会话,对此不做限定。
换言之,不同的会话建立请求对应不同的第一数值可以包括:不同会话标识关联的会话建立请求对应不同的第一数值,以及相同会话标识关联的会话建立请求对应不同的第一数值。
由此可知,针对终端设备每次发起的会话建立请求,第一网元都会获取第一数值来生成第一密钥。第一网元将当前收到的第一消息中的会话标识和获取的第一数值作为输入,通过密钥推演算法输出得到第一密钥。可选的,该密钥推演算法的输入还可以包括第一网元的密钥,该第一网元的密钥可以是在对终端设备进行主认证的过程中获取得到的,每进行一次主认证,第一网元的密钥会更新一次。示例性的,第一密钥表示为Ksession,Ksession=KDF(Kl,ID,θi),其中,Kl为第一网元的密钥,ID为第一密钥对应的请求建立的会话的标识(会话标识),θi为第一数值。
在一个主认证周期内,即在对终端设备完成一次主认证后,直至对终端设备重新进行主认证期间,针对不同时刻接收到的会话建立请求,第一网元会为不同时刻请求建立的会话分配不同的第一数值来生成不同的第一密钥,这样可以使得终端设备与不同的用户面网元进行端到端的用户面数据传输时,即使存在相同会话标识的会话建立,也可以保证对用户面数据进行安全处理的第一密钥不被重用,从而可以保证端到端之间的用户面数据安全。或者说,第一网元至少保证为不同时刻发送的相同会话标识的会话建立请求分配不同的第一数值。
也就是说,对于每次获取的会话建立请求,无论当前请求建立的会话是否与之前请求建立的会话相同,即会话标识相同,第一网元均会为当前接收的会话建立请求,获取一个与之前任一次接收的会话建立请求对应的第一数值不同的第一数值。或者说,对于相同会话标识的不同会话建立请求,第一网元要获取一个与之前相同标识会话建立请求对应的第一数值不同的第一数值。
示例性的,第一网元在t1时刻接收到一个第一消息,第一消息中包括用于请求建立会话#1的会话建立请求#1和会话#1的会话标识ID1,第一网元为该会话建立请求#1获取的第一数值为θ1,那么在t1时刻之后,若第一网元再次接收到一个第一消息,第一消息中包括用于请求建立会话#2的会话建立请求#2和会话#2的会话标识ID2,则第一网元为该会话建立请求#2获取的第一数值为θ2,θ1≠θ2。由此,针对会话建立请求#1请求建立的会话#1进行安全处理的第一密钥可以为KDF(Kl,ID1,θ1),针对会话建立请求#2请求建立的会话#2进行安全处理的第一密钥可以为KDF(Kl,ID2,θ2)。
本申请实施例中,第一数值可以为计数值或者随机值,下面分别针对第一数值为计数值和第一数值为随机值的两种情况进行说明。
情况1、第一数值为计数值。
计数值可以是通过计数器(COUNT)计数得到的。
在一种可能的设计1中,计数器可以是在完成对终端设备的初始主认证流程时,第一网元为该终端设备新增加或新定义的一个计数器,如会话计数器(session COUNT),该计数器用于对终端设备请求的会话建立请求的个数进行计数,也即该计数值是终端设备请求的会话建立请求的个数(session COUNT值),该计数器的计数值存储在为终端设备维护的上下文中,计数器的初始计数值可以设置为0。
对于计数值的变化:
一种可能的实现1中,当第一网元接收到一个会话建立请求,则第一网元的计数值均加一。
在主认证周期内,例如,初始计数值为0,第一网元接收到第一个会话建立请求,计数值由0变为1,此时利用计数值1为该第一个会话建立请求请求的会话生成第一密钥。又例如,第一网元接收到第二个会话建立请求,计数值由1变为2,此时利用计数值2为该第二个会话建立请求请求的会话生成第一密钥。以此类推,后续收到的会话建立请求也会使得计数值类似变化。
一种可能的实现2中,第一网元可以在完成当前请求的会话的第一密钥的生成或发送后,将计数值加一,经过加一后的计数值为当前收到的会话建立请求总个数,而第一网元生成第一密钥所使用的计数值为加一前的计数值即上一次收到的会话建立请求总个数。
在主认证周期内,例如,初始计数值为0,第一网元接收到第一个会话建立请求,此时第一网元暂不因接收到会话建立请求而将计数值由0变为1,而保持当前记录的计数值为0,利用计数值0为该第一个会话建立请求请求的会话生成第一密钥,第一网元在生成第一密钥或者发送第一密钥后,将计数值加一即由0变为1。又例如,第二网元接收到第二个会话建立请求,此时第一网元也暂不因接收到会话建立请求而将计数值由1变为2,而保持当前记录的计数值为1,利用计数值为1为该第二个会话建立请求请求的会话生成第一密钥,第一网元在生成第一密钥或者发送第一密钥后,将计数值加一即由1变为2。以此类推,后续收到的会话建立请求也会使得计数值类似变化。
一种可能的实现3中,第一网元还可以在向会话管理网元发送会话建立请求、会话标识和第一密钥后,根据会话管理网元反馈的第二消息,或者说接收到来自会话管理网元的第二消息后,来触发计数值的变换。其中,第二消息用于指示将计数值加一,第二消息可以是会话管理网元在对接收的会话建立请求、会话标识和第一密钥进行合法性验证后,根据获取的会话相关策略选择好用于建立请求的会话的用户面网元后发出的消息。由此,第一网元接收来自会话管理网元的第二消息,根据第二消息计数值加一。
示例性的,第二消息可以为会话建立接受消息,或者是可以用于承载会话建立接受消息的消息,如N1N2消息传输请求(Namf_communition_N1N2messageTransfer request)消息,N1N2消息传输请求消息包括会话建立接受消息,会话建立接受消息用于指示接受当前请求的会话建立。也就是说,第一网元在接收到会话建立接受消息后,根据该会话建立接受消息将计数值加一,或者说第一网元在完成会话建立流程后将计数值加一。
此时,第一网元生成第一密钥的计数值,是根据会话管理网元针对上一个会话建立请求反馈的第二消息加一后的计数值。
在主认证周期内,例如,初始计数值为0,第一网元接收到第一个会话建立请求,此时第一网元暂不因接收到会话建立请求而将计数值由0变为1,而保持当前记录的计数值为0,利用该计数值0为该第一个会话建立请求请求的会话生成第一密钥后,将第一密钥、会话建立请求和会话标识发送给会话管理网元后,根据会话管理网元发送的第二消息将计数值0变为1。又例如,第一网元接收到第二个会话建立请求,此时第一网元也暂不因接收到会话建立请求而将计数值由1变为2,而保持当前记录的计数值为1,利用该计数值1为该第二个会话建立请求请求的会话生成第一密钥后,将第一密钥、会话建立请求和会话标识发送给会话管理网元后,根据会话管理网元发送的第二消息将计数值1变为2。以此类推,后续会话建立请求对应的计数值也类似变化。
在一种可能的设计2中,计数器可以是第一网元复用第一网元与终端设备侧共同维护的NAS计数器(NAS COUNT),该NAS计数器可以是上行NAS计数器,也可以是下行NAS计数器,上行NAS计数器用于对终端设备向网络侧发送的NAS消息的个数进行计数或者是网络侧对接收到的终端设备发送的NAS消息的个数进行计数,下行NAS计数器用于对向终端设备发送的NAS消息的个数进行计数,也即计数值是终端设备接收或网络侧向该终端设备发送的NAS消息的个数。
在此设计中,第一网元为当前请求的会话推演得到第一密钥或者发送第一密钥后,或者第一网络获取到来自会话管理网元的第二消息,也可以将NAS计数器的计数值做加一处理,此处不做赘述。
无轮是上述情况1还是情况2,在一个主认证周期内,若第一网元的计数值达到最大值,则第一网元可以重新触发对终端设备的主认证,并在主认证完成后,将计数值归零或者置零。一种可能的实现中,在计数值达到最大值的情况下,第一网元可以发送第一指示信息,第一指示信息用于指示对终端设备重新进行主认证,在主认证完成之后,第一网元将计数值置零。例如,第一网元可以向鉴权服务网元(如5G中的AUSF)发送第一指示信息,从而使得鉴权服务网元重新与终端设备进行主认证,在完成主认证后,终端设备可以在新的主认证周期内执行上述步骤。
情况2、第一数值为随机值。
在一种可能的设计1中,随机值可以为第一网元本地随机生成的。在此设计中,第一网元每收到一个会话建立请求,就可以为收到的会话建立请求请求的会话随机生成一个随机值,若随机生成的随机值与为之前收到的任何一个会话建立请求请求的会话随机生成的随机值相同,则重新生成随机值,直至生成的随机值与为之前收到的任何一个会话建立请求请求的会话随机生成的随机值不相同,并且第一网元保存收到的每一个会话建立请求请求的会话的会话标识与随机值之间的对应关系。在一些实现中,第一网元还可以存储会话建立请求的标识、会话标识与随机值之间的三元对应关系。
例如,第一网元在t1时刻接收到一个第一消息,第一消息中包括用于请求建立会话#1的会话建立请求#1和会话#1的会话标识ID1,则为该会话建立请求#1请求的会话#1生成随机值R1,存储对应关系{ID1,R1};第一网元在t2时刻接收到一个第一消息,第一消息中包括用于请求建立会话#2的会话建立请求#2和会话#2的会话标识ID2,则为该会话建立请求#2请求的会话#2生成随机值R2,存储对应关系{ID2,R2};第一网元在t3时刻接收到一个第一消息,第一消息中包括用于请求建立会话#3的会话建立请求#3和会话#3的会话标识ID3,则为该会话建立请求#3请求的会话#3生成随机值R3,存储对应关系{ID3,R3}。其中,R1、R2和R3均不相等。
由于第一网元可能会在不同时刻接收到相同会话标识的不同会话建立请求,当接收到某一个会话建立请求,第一网元可以根据当前已经存储有的会话标识与随机数的对应关系,判断当前请求建立的会话的会话标识是否已经存储有对应的随机值,若没有,则第一网元可以直接随机为该会话标识选择一个随机值,若有,则第一网元需确保当前选择的随机值与之前为该会话标识选择的随机值不同。
例如,第一网元在t1时刻接收到一个第一消息,第一消息中包括用于请求建立会话#1的会话建立请求#1和会话#1的会话标识ID1,则为该会话建立请求#1请求的会话#1生成随机值R1,存储对应关系{ID1,R1};第一网元在t2时刻接收到一个第一消息,第一消息中包括用于请求建立会话#2的会话建立请求#2和会话#2的会话标识ID2,则为该会话建立请求#2请求的会话#2生成随机值R2,存储对应关系{ID2,R2};第一网元在t3时刻接收到一个第一消息,第一消息中包括用于请求建立会话#1的会话建立请求#3和会话#1的会话标识ID1,此时第一网元可以根据已经存储有的{IDx,Rx},确定该会话标识ID1在之前已经被分配了一个随机值R1,因此第一网元当前要保证为该会话标识ID1生成与R1不同的随机值,如生成随机值R3,存储对应关系{ID1,R3}。其中,R1、R2和R3均不相等。
在此设计1中,第一网元生成随机值、或者根据随机值生成第一密钥、或者是收到会话建立接受请求后,第一网元还可以向终端设备发送随机值,以使得终端设备采用同一随机值推演得到与第一网元侧相同的第一密钥。可选的,在第一网元收到会话建立接受请求后触发向终端设备发送随机值的情况下,随机值可以携带在第一网元发送给终端设备的会话建立接受消息中。
在一种可能的设计2中,随机值可以是终端设备本地随机生成后发送给第一网元的。在此设计中,终端设备可以在准备发起会话建立请求时,为请求建立的会话生成一个随机值,并保证生成的随机值与之前请求建立的会话的随机值不同,若相同则重新生成随机值,直至生成的随机值与之前请求建立的会话生成的随机值不同,保存每个请求建立的会话的会话标识与随机值之间的对应关系,并向第一网元发送当前请求建立的会话所对应的随机值,从而使得第一网元可以根据接收的来自终端设备的随机值,为当前请求建立的会话生成第一密钥。应理解,终端设备本地生成随机值的方式与上述第一网元本地生成随机值的方式类似,对此不做赘述。
可选的,随机值可以承载在第一消息中,也即终端设备可以将随机值携带在第一消息中随会话建立请求一起发送给第一网元。
在此情况2中,在对终端设备进行主认证后,第一网元和终端设备可以清除存储的所有随机值和对应会话标识的对应关系。
由此,第一网元在生成第一密钥后,可以将收到的会话建立请求、会话标识和为该请求建立的会话生成的第一密钥,发送给会话管理网元。
可选的,会话建立请求、会话标识和第一密钥可以携带在同一消息中发送,也可以部分携带在同一消息中发送,另一部分携带在另一消息中发送,对此不做限定。
在一些可能的实现中,第一网元在获取得到第一消息后,可以先将会话建立请求和会话标识发送给会话管理网元,由会话管理网元验证会话的合法性后,基于会话管理网元的触发获取第一数值,以及会话标识来生成第一密钥,从而再将第一密钥发送给会话管理网元,此处不作限定。
S803、会话管理网元向用户面网元发送会话标识和第一密钥。相应的,用户面网元接收来自会话管理网元的会话标识和第一密钥。
会话管理网元接收到会话建立请求、会话标识和第一密钥后,可以根据会话相关策略选择一个合适的可以用于建立该会话的用户面网元,例如,负载较低用户面网元、与接入网设备距离较近的用户面网元等等,并向该用户面网元发送请求建立的会话的会话标识和第一密钥,从而使得用户面网元可以获得第一密钥,以及与第一密钥对应会话的会话标识。
示例性的,会话标识和第一密钥可以携带在N4会话建立请求中发送。
一种可能的设计中,用户面网元获取到第一密钥后,还可以基于该第一密钥再进一步推演对应的加密密钥和完整性保护密钥,密钥推演的输入参数包括第一密钥、加密或者完整性保护算法的算法标识、对应的是加密还是完整性保护(distinguisher)、相应参数的长度等,具体可以参见上述相关技术2中KUP的加密密钥和完整性保护密钥的推演,此处不做赘述。
进一步地,在第一数值为计数值的情况下,会话管理网元可以向第一网元发送第二消息,第二消息用于指示计数值加一。或者,在第一数值为随机值且随机值为第一网元生成的情况下,会话管理网元可以向第一网元发送第三消息,第三消息用于指示向终端设备发送随机值。
可选的,第二消息和第三消息可以为会话建立接受消息,或者是可以用于承载会话建立接受消息的消息,如N1N2消息传输请求(Namf_communition_N1N2messageTransfer request)消息,N1N2消息传输请求消息包括会话建立接受消息,会话建立接受消息用于指示接受当前请求的会话建立。
S804、终端设备根据会话标识和第一数值确定第一密钥。
由于第一密钥是用于对终端设备与用户面网元之间端到端的用户面数据进行安全处理的密钥,因此终端设备在发送第一消息后,也会针对当前发起的会话建立请求,采用与第一网元侧相同的推演算法和参数,推演得到与网络侧相同的第一密钥。由此,终端设备可以利用第一密钥对来自用户面网元的会话中的下行数据进行解密和/或完整性校验,或者可以利用第一密钥来对发送给用户面网元的会话中的上行数据进行加密和/或完整性保护。
终端设备利用第一密钥和会话标识推演第一密钥的过程与第一网元类似,具体可以参见上述S802中第一网元推演第一密钥中的相关描述,此处不做赘述。
对于上述情况1的设计1,第一数值为计数值的情况下,终端设备也可以同步新增加或新定义的一个相同的计数器,用于计数终端设备请求的会话建立请求的个数,为终端设备请求的每个会话建立请求生成不同的计数值,产生该计数器对应的上下文,上下文中的初始计数值也设置为0。
对于计数值的变换,可以存在如下两种实现:
一种可能的实现1中,当终端设备每发出第一个会话建立请求,则终端设备侧的计数值加一。
在主认证周期内,例如,初始计数值为0,终端设备发出第一个会话建立请求,计数值由0变为1,此时利用计数值1为该第一个会话建立请求请求的会话生成第一密钥。又例如,终端设备发出第二个会话建立请求,计数值由1变为2,此时利用计数值2为该第二个会话建立请求请求的会话生成第一密钥。以此类推,后续会话建立请求对应的计数值也类似变化。
终端设备侧基于实现1的计数值变化可以与上述第一网元侧基于实现1的计数值变化匹配使用,从而可以使得终端设备与第一网元侧的计数值变化保持一致,从而两侧使用相同的计数值为当前请求的会话生成相同的第一密钥。
一种可能的实现2中,终端设备也可以在完成第一密钥的生成或者接收到会话建立接受消息后,将计数值加一,经过加一后的计数值为当前已发送的会话建立请求个数,而终端设备生成第一密钥所使用的计数值为加一前的计数值。
在主认证周期内,例如,初始计数值为0,终端设备发出第一个会话建立请求,此时终端设备暂不因发出会话建立请求而将计数值由0变为1,而保持当前记录的计数值为0,利用计数值0为该第一个会话建立请求请求的会话生成第一密钥,第一网元在生成第一密钥后,将计数值加一即由0变为1。又例如,终端设备发出第二个会话建立请求,此时终端设备也暂不因发出会话建立请求而将计数值由1变为2,而保持当前记录的计数值为1,利用计数值为1为该第二个会话建立请求请求的会话生成第一密钥,终端设备在生成第一密钥后,将计数值加一即由1变为2。以此类推,后续会话建立请求对应的计数值也类似变化。
终端设备侧基于实现2的计数值变化可以与上述第一网元侧基于实现2或实现3的计数值变化匹配使用,从而可以使得终端设备与第一网元侧的计数值变化保持一致,从而两侧使用相同的计数值为当前请求的会话生成相同的第一密钥。
对于上述情况1的设计2,相应的,终端设备也复用与第一网元对应的NAS计数器,以用于为不同的会话建立请求生成不同的计数值。
应理解,为保证第一网元与终端设备侧为同一请求的会话生成第一密钥的计数值保持一致,若第一网元采用上行NAS计数器,则终端设备采用上行NAS计数器;若第一网元采用下行NAS计数器,则终端设备采用下行NAS计数器。
在此设计中,终端设备也为当前请求的会话推演得到第一密钥后,或者终端设备发送会话建立请求后,也可以将NAS计数器的计数值做加一处理,此处不做赘述。
与第一网元类似,在一个主认证周期内,若终端设备的计数值达到最大值,则终端设备可以重新主认证,并在主认证完成后,将计数值归零或者置零。
对于上述情况2的设计1,终端设备可以接收来自第一网元的随机值,该随机值为第一网元为终端设备当前请求建立的会话生成的随机值。由此,终端设备可以根据接收到的随机值和请求建立的会话的会话标识来生成第一密钥。
在此设计中,终端设备可以在获取得到随机值后就启动第一密钥的推演生成。
对于上述情况2的设计2,终端设备本地生成当前请求建立的会话的随机值,那么终端设备可以直接开始根据请求建立的会话的会话标识和随机值推演第一密钥,或者在接收到会话建立接受消息后开始推演第一密钥。在此设计中,终端设备可以向第一网元发送随机值,以用于第一网元基于相同的随机值为当前请求建立的会话生成与终端设备侧相同的第一密钥,具体描述可以参见上述第一网元接收随机值的相关描述,此处不做赘述。
一种可能的实现中,终端设备在获取到第一密钥后,也还可以基于该第一密钥再进一步推演对应的加密密钥和完整性保护密钥,密钥推演的输入参数包括第一密钥、加密或者完整性保护算法的算法标识、对应的是加密还是完整性保护(distinguisher)、相应参数的长度等,具体可以参见上述相关技术2中KUP的加密密钥和完整性保护密钥的推演,此处不做赘述。
由此,终端设备可以为其发起的每个会话建立请求所对应的会话生成一个第一密钥,相应的,第一网元也会为接收到的每个会话建立请求所对应的会话,生成一个与终端设备侧相同的第一密钥,并发送给对应的用户面网元。
进而,在终端设备与用户面网元进行某一个会话建立请求请求的会话传输时,在上行传输的场景下,终端设备可以利用该会话建立请求对应的第一密钥,对该会话建立请求请求的会话中的数据进行加密和/或完整性保护,相应的,用户面网元可以根据对应的第一密钥,对该会话建立请求请求的会话中的数据进行解密和/或完整性验证;在下行传输的场景下,用户面网元可以利用该会话建立请求对应的第一密钥,对该会话建立请求请求的会话中的数据进行加密和/或完整性保护,相应的,终端设备可以根据对应的第一密钥,对该会话建立请求请求的会话中的数据进行解密和/或完整性验证。
在图8示出的通信方法中,第一网元可以针对终端设备发起的每个会话建立请求,利用第一数值和请求建立的会话的会话标识生成第一密钥,并发送给对应的用户面网元,相应的,终端设备也会针对其发起的每个会话建立请求,生成与第一网元侧相同的第一密钥,第一密钥用于对请求建立的会话或是会话标识对应的会话中的数据进行安全保护,并且每个会话建立请求被分配不同的第一数值,第一数值可以由第一网元或者终端设备分配,这样无论终端设备是否发送有多个相同会话标识的会话建立请求,生成的第一密钥均不同。由此,在终端设备与用户面网元之间进行端到端的安全保护时,终端设备与不同的用户面网元进行端到端的用户面数据传输,即使存在相同会话标识的会话建立,也可以保证对用户面数据进行安全处理的第一密钥不被重用,从而可以保证端到端之间的用户面数据安全。
本申请实施例中,主要是以会话粒度来生成用于端到端之间的用户面数据的安全保护的第一密钥,除此之外,也可以推演具体会话对应的QoS流的密钥,这种情况下,由于QoS流的标识可以重用,所以,如果会话密钥没有加COUNT值,推演QoS流的密钥时,需要增加相应的COUNT值,例如NAS COUNT值,或者独立维护的COUNT值,对此不做赘述。
另外,在第一网元为鉴权服务网元的情况下,终端设备发送第一消息后,可以由接入和移动性管理网元转发给鉴权服务网元,再由鉴权服务网元根据会话标识和第一数值生成第一密钥,并将生成的第一密钥发送给接入和移动性管理网元,从而再由接入和移动性管理网元将第一密钥、会话建立请求和会话标识发送给会话管理网元。
下面结合上述图1示出的5G通信系统对图8示出的通信方法进行详细说明,其中,终端设备为UE,第一网元为AMF,会话管理网元为SMF,用户面网元为UPF,第一密钥为Ksession,会话为PDU会话。
应理解,在未来通信系统中,上述网元或设备的名称可能发生变化,对此不做限定。
示例性的,图9为本申请实施例提供的一种通信方法的流程示意图,以第一数值为计数值为例。如图9所示,该通信方法包括:
S901、UE向AMF发送注册请求(Registration request)。相应的,AMF接收来自UE的注册请求。
其中,注册请求携带有UE的用户隐藏标识符(subscription concealed identifier,SUCI)。
S902、AMF向UDM发送认证请求(Authentication request)。相应的,UDM接收来自AMF的认证请求。
S903、UDM根据SUCI获得SUPI。
认证请求中可以携带有上述SUCI,如果认证请求中携带有SUCI,则经过UDM解密,获取得到对应SUPI发给AUSF。
S904、UDM向AUSF发送SUPI。相应的,AUSF接收来自UDM的SUPI。
S901~S904的注册流程的具体实现可以参见3GPP TS23.501中定义的UE注册的实现过程中的相关描述,对此不做赘述。
S905、AUSF与UE之间进行主认证流程。
在主认证流程中,会产生KAMF,同时,AMF为该UE维护的上下文中增加一个会话计数值(session COUNT值),用于计数UE请求的PDU会话建立请求的个数,初始值为0,相应的,UE侧也产生session COUNT上下文,将上下文的session COUNT值置为0。或者,AMF与UE还可以使用共同维护的NAS计数值(NAS COUNT值),下述以上行NAS COUNT值为例,对于UE而言,该上行NAS COUNT值为计数UE发送的NAS消息的个数,对于AMF而言,该上行NAS COUNT值为计数接收的来自UE的NAS消息的个数。
AUSF与UE之间进行主认证流程的具体实现可以参见3GPP TS 33.501中定义的UE主认证的实现过程中的相关描述,对此不做赘述。
S906、UE向AMF发送NAS消息(NAS message)。相应的,AMF接收来自UE的NAS消息。
其中,NAS消息可以与上述第一消息对应,NAS消息中携带有PDU会话标识为ID1和N1 SM容器(container),N1 SM容器中包括PDU会话建立请求(PDU session establishment request),该PDU会话建立请求用于请求建立PDU会话标识为ID1的PDU会话。
应理解,PDU会话建立请求消息还可以包括:请求的PDU会话类型(type)、请求的会话和服务连续性(session and service continuity,SSC)模式等信息。
S907、AMF根据ID1、计数值COUNT1和KAMF确定Ksession
在计数值为新增的会话计数值(session COUNT值)的情况下,COUNT1是AMF对从所述UE接收到的PDU会话建立请求进行计数得到的,用于AMF为当前接收到的PDU会话建立请求所请求的PDU会话生成Ksession
若第一消息中的PDU会话建立请求为主认证完成后UE发送的第一个PDU会话建立请求,那么用于确定Ksession的计数值COUNT1可以为0或1,AMF可以将KAMF、当前的PDU会话标识ID1、和计数值0作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,0/1)。
若第一消息中的PDU会话建立请求为主认证完成后UE发送的第N(N≠1)个PDU会话建立请求,那么用于确定Ksession的计数值COUNT1可以为N-1或者N,AMF可以将KAMF、当前的PDU会话标识ID1、和计数值N-1/N作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,N-1/N)。
应理解,在计数值为1或者N的情况下,AMF是接收到PDU会话建立请求后先将计数值加一后,再进行的密钥推演,而在计数值为0或者N-1的情况下,AMF是接收到PDU会话建立请求后是先进行密钥推演后再将计数值加一。
在计数值为NAS计数值(NAS COUNT值)的情况下,COUNT1是AMF计数收到的来自所述UE的NAS消息得到的,用于AMF为当前接收到的PDU会话建立请求所请求的PDU会话生成Ksession,AMF每收到一个来自UE的NAS消息,可以将NAS COUNT值加一,用于AMF为当前接收到的PDU会话建立请求所请求的PDU会话生成Ksession的NAS COUNT值,可以是截止到收到PDU会话建立请求所计数的上行NAS消息的个数,可以包括该PDU会话建立请求所承载的NAS消息,也可以不包括该PDU会话建立请求所承载的NAS消息,对此不做限定。
S908、AMF向SMF发送PDU会话创建会话管理上下文请求(Nsmf_PDUSession_CreateSMContext request)消息。相应的,SMF接收来自AMF的PDU会话创建会话管理上下文请求消息。
其中,PDU会话创建会话管理上下文请求消息包括上述PDU会话建立请求、PDU会话标识ID1和Ksession
应理解,PDU会话创建会话管理上下文请求消息还可以包括无线接入技术(radio access technology,RAT)类型、数据网络名称、切片信息等。其中,RAT类型用于指示UE接入CN的无线技术。
S909、SMF选择UPF。
SMF接收到PDU会话创建会话管理上下文请求后,可以执行PDU会话的认证/授权的流程,在完成后,可以选择适合当前会话的UPF。例如,负载较低UPF、与RAN设备距离较近的UPF等等。
S910、SMF向UPF发送N4会话建立请求(N4 session establishment request)消息。相应的,UPF接收来自SMF的N4会话建立请求消息。
其中,N4会话建立请求消息包括上述PDU会话标识ID1和Ksession
应理解,N4会话建立请求消息还可以包括:N4会话标识、以及包检测规则。包检测规则用于指示UPF对符合包检测规则的数据包执行相应的处理,例如服务质量保证等等。
应理解,UPF在收到N4会话建立请求消息后,可以进一步地向SMF发送N4会话建立响应(N4session establishment response)消息,相应的,SMF接收来自UPF的N4会话建立响应消息(未体现在图9中)。其中,N4会话建立响应消息中可以包括:N4会话的CN隧道信息,用于RAN设备找到该UPF。
S911、SMF向AMF发送通信N1N2消息传输请求(Namf_communition_N1N2messageTransfer request)消息。相应的,AMF接收来自SMF的通信N1N2消息传输请求消息。
其中,通信N1N2消息传输请求消息包括PDU会话建立接受消息(PDU session establishment accept),PDU会话建立接受消息可以与上述第二消息或者第三消息对应。
应理解,本申请实施例并不限定S910和S911的执行先后顺序。
S912、AMF将计数值加一。
在计数值为新增的会话计数值(session COUNT值),且AMF使用计数值COUNT1为0或者N-1的情况下,即生成上述Ksession所使用的计数值为0或N-1,AMF可以根据接收到的PDU会话建立接受消息,进行计数值加一,即计数值由0变为1或者由N-1变为N。
S913、AMF向UE发送特定资源建立(AN-specific resource setup)消息。相应的,UE接收来自AMF的特定资源建立消息。
其中,特定资源建立消息包括上述PDU会话建立接受消息。
S914、UE根据ID1、计数值COUNT1和KAMF确定Ksession
在计数值为新增的会话计数值(session COUNT值)的情况下,与上述S907对应,若第一消息中的PDU会话建立请求为主认证完成后UE发送的第一个PDU会话建立请求,那么用于确定Ksession的计数值COUNT1可以为0或1,UE可以将KAMF、当前的PDU会话标识ID1、和计数值0作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,0/1)。
若第一消息中的PDU会话建立请求为主认证完成后UE发送的第N(N≠1)个PDU会话建立请求,那么用于确定Ksession的计数值可以为N-1或者N,UE可以将KAMF、当前的PDU会话标识ID1、和计数值N-1/N作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,N-1/N)。
在计数值为1或者N的情况下,UE是发送PDU会话建立请求后先将计数值加一后,再进行的密钥推演,而在计数值为0或者N-1的情况下,UE是发送PDU会话建立请求后是先进行密钥推演后再将计数值加一。
在计数值为NAS计数值(NAS COUNT值)的情况下,COUNT1是UE计数其发送的NAS消息得到的,用于UE为当前发出的PDU会话建立请求所请求的PDU会话生成Ksession,UE每发出一个NAS消息,可以将NAS COUNT值加一,用于UE为当前发出的PDU会话建立请求所请求的PDU会话生成Ksession的NAS COUNT值,可以是截止到发出PDU会话建立请求所计数的上行NAS消息的个数,可以包括该PDU会话建立请求所承载的NAS消息,也可以不包括该PDU会话建立请求所承载的NAS消息,对此不做限定。
S915、UE将计数值加一。
在计数值为新增的会话计数值(session COUNT值)的情况下,在UE使用计数值为0或者N-1的情况下,即生成上述Ksession所使用的计数值为0或N-1,UE在完成Ksession推演后,进行计数值加一,即计数值由0变为1或者由N-1变为N。
应理解,在计数值为NAS计数值(NAS COUNT值)的情况下,UE可以在发出承载有PDU会话建立请求之前或者之后对计数值加一,相应的,AMF也可以在接收到承载有PDU会话建立请求的NAS消息或者发出Ksession后对计数值加一,对此不做限定。
在AMF的计数值达到最大值的情况下,AMF还可以执行如下S916:
S916、AMF向AUSF发送第一指示信息。相应的,AUSF接收来自AMF的第一指示信息。
其中,第一指示信息用于指示对UE重新进行主认证,第一指示信息可以包括UE的SUPI。
S917、AUSF与UE重新进行主认证。
在主认证完成后,UE和SMF侧的计数值均置零,且KAMF也会发生更新。
对于UE下一次发起的PDU会话建立请求,通过计数值的加一变化,可以保证AMF和UE使用不同的计数值生成不同的Ksession,用于不同的PDU会话。由此,通过为每个会话分配不同的计数值,防止相同UE的不同会话的密钥重用。
又示例性的,图10为本申请实施例提供的一种通信方法的流程示意图,以第一数值为随机值且随机值为AMF生成为例。如图10所示,该通信方法包括:
S1001、UE向AMF发送注册请求。相应的,AMF接收来自UE的注册请求。
S1002、AMF向UDM发送认证请求。相应的,UDM接收来自AMF的认证请求。
S1003、UDM根据SUCI获得SUPI。
S1004、UDM向AUSF发送SUPI。相应的,AUSF接收来自UDM的SUPI。
S1001~S1004的注册流程的具体描述可以参见上述S901~S904中的相关描述,此处不做赘述。
S1005、AUSF与UE之间进行主认证流程。
在主认证流程中,会产生KAMF,UE和AMF会清除其存储的所有随机值。AUSF与UE之间进行主认证流程的具体描述可以参见上述S904中的相关描述,对此不做赘述。
S1006、UE向AMF发送NAS消息(NAS message)。相应的,AMF接收来自UE的NAS消息。
S1006的具体描述可以参见上述S906中的相关描述,此处不做赘述。
S1007、AMF根据ID1、随机值R1和KAMF确定Ksession
随机值R1是用于AMF为接收到PDU会话建立请求请求建立的PDU会话标识为ID1的PDU会话,生成Ksession的随机值,AMF随机生成R1后保存ID1和R1的对应关系。其中,AMF需保证生成的R1与完成主认证后为之前接收到的PDU会话建立请求请求的PDU会话生成的随机值不相同。或者,AMF需检查主认证之后,是否使用过本次选取的PDU会话ID,如果使用过,需保证本次生成的随机值R1与上次使用该PDU会话ID对应的随机值R1’不同。
由此,AMF可以将KAMF、当前的PDU会话标识ID1、和随机值R1作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,R1)。
S1008、AMF向SMF发送PDU会话创建会话管理上下文请求(Nsmf_PDUSession_CreateSMContext request)消息。相应的,SMF接收来自AMF的PDU会话创建会话管理上下文请求消息。
S1009、SMF选择UPF。
S1010、SMF向UPF发送N4会话建立请求(N4 session establishment request)消息。相应的,UPF接收来自SMF的N4会话建立请求消息。
S1011、SMF向AMF发送通信N1N2消息传输请求(Namf_communition_N1N2messageTransfer request)消息。相应的,AMF接收来自SMF的通信N1N2消息传输请求消息。
S1008~S1011的具体实现过程可以参见上述S908~S911的相关描述,此处不做赘述。
S1012、AMF向UE发送特定资源建立消息(AN-specific resource setup)。相应的,UE接收来自AMF的特定资源建立消息。
其中,特定资源建立消息包括PDU会话建立接受消息和上述随机值R1。
S1013、UE根据ID1、随机值R1和KAMF确定Ksession
UE可以根据特定资源建立消息中的随机值R1,将ID1、随机值R1和KAMF作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,R1)。由此,UE和AMF侧可以为PDU会话标识为ID1的会话生成用于数据安全处理的密钥Ksession
对于UE下一次发起的PDU会话建立请求,AMF可以生成与之前请求建立的会话不同的随机值,生成当前请求建立的会话所使用的Ksession,再次执行上述步骤。由此,为PDU会话推演密钥时,随机选取随机值作为输入参数,确保不只使用PDU session ID作为推演参数,然后在PDU会话接受消息中把随机数发给UE从而保证会话密钥不重复。
又示例性的,图11为本申请实施例提供的一种通信方法的流程示意图,以第一数值为随机值且随机值为UE生成为例。如图11所示,该通信方法包括:
S1101、UE向AMF发送注册请求。相应的,AMF接收来自UE的注册请求。
S1102、AMF向UDM发送注册请求。相应的,UDM接收来自AMF的注册请求。
S1103、UDM根据SUCI获得SUPI。
S1104、UDM向AUSF发送SUPI。相应的,AUSF接收来自UDM的SUPI。
S1101~S1104的注册流程的具体描述可以参见上述S901~S904中的相关描述,此处不做赘述。
S1105、AUSF与UE之间进行主认证流程。
在主认证流程中,会产生KAMF,UE和AMF会清除其存储的所有随机值。AUSF与UE之间进行主认证流程的具体描述可以参见上述S904中的相关描述,对此不做赘述。
S1106、UE向AMF发送NAS消息(NAS message)。相应的,AMF接收来自UE的NAS消息。
NAS消息中包括PDU会话建立请求、PDU会话标识ID1和随机值R1。也就是说,UE在发起建立PDU会话标识为ID1的PDU会话的请求时,可以为该请求的会话随机生成一个随机值R1,保存ID1和R1的对应关系。同时,UE需保证生成的R1与完成主认证后为之前发送的PDU会话建立请求请求的PDU会话生成的随机值不相同。或者,UE需检查主认证之后,是否使用过本次选取的PDU会话ID,如果使用过,需保证本次生成的随机值R1与上次使用该PDU会话ID对应的随机值R1’不同。
S1107、AMF根据ID1、随机值R1和KAMF确定Ksession
AMF可以将获取的KAMF、当前的PDU会话标识ID1、和随机值R1作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,R1)。
S1108、AMF向SMF发送PDU会话创建会话管理上下文请求(Nsmf_PDUSession_CreateSMContext request)消息。相应的,SMF接收来自AMF的PDU会话创建会话管理上下文请求消息。
S1109、SMF选择UPF。
S1110、SMF向UPF发送N4会话建立请求(N4 session establishment request)消息。相应的,UPF接收来自SMF的N4会话建立请求消息。
S1111、SMF向AMF发送通信N1N2消息传输请求(Namf_communition_N1N2messageTransfer request)消息。相应的,AMF接收来自SMF的通信N1N2消息传输请求消息。
S1108~S1111的具体实现过程可以参见上述S908~S911的相关描述,此处不做赘述。
S1112、AMF向UE发送特定资源建立消息(AN-specific resource setup)。相应的,UE接收来自AMF的特定资源建立消息。
其中,特定资源建立消息包括PDU会话建立接受消息。
S1113、UE根据ID1、随机值R1和KAMF确定Ksession
UE可以将ID1、随机值R1和KAMF作为输入,输入密钥推演算法中得到Ksession,例如,Ksession=KDF(KAMF,ID1,R1)。由此,UE和AMF侧可以为PDU会话标识为ID1的会话生成用于数据安全处理的密钥Ksession
应理解,本申请实施例并不限定S1113、S1106的执行顺序,例如,S1113可以在上述S1106之后执行,也可以在S1112之后执行,对此不做限定。
对于UE下一次发起的PDU会话建立请求,UE可以生成与之前请求建立的会话不同的随机值,生成当前请求建立的会话所使用的Ksession,再次执行上述步骤。由此,为PDU会话推演密钥时,UE侧产生随机数,在发送PDU会话建立请求的时候直接发给网络侧,不需要网络侧维护相应的随机值状态,随机选取随机值作为输入参数,确保不只使用PDU session ID作为推演参数,从而保证会话密钥不重复。
在上述图9~图11中任一实现中,AMF在收到PDU会话建立请求后,可以先不推演第一密钥,而是将该PDU会话建立请求发送给SMF,经过SMF确定可以建立PDU会话后,AMF可以根据SMF的请求推演密钥,并将该第一密钥发送给SMF。例如,AMF向SMF发送PDU会话建立请求和PDU会话标识,相应的,SMF接收到PDU会话建立请求和PDU会话标识后,可以确定是否建立该PDU会话,若建立则向AMF发送用于请求获取第一密钥的消息(如PDU会话建立接受消息),从而使得AMF可以根据该消息推演第一密钥,并将该第一密钥发送给SMF,进一步地,该第一密钥由SMF发送给UPF。
或者,SMF根据接收到PDU会话建立请求和PDU会话标识确定可以建立该PDU会话,并与UPF完成N4会话建立后,经过UPF的触发向AMF请求第一密钥,从而使得AMF可以根据该消息推演第一密钥,并将该第一密钥发送给SMF,再由SMF发送给UPF。例如,UPF与SMF完成N4会话建立之后,可以向SMF请求第一密钥,从而SMF根据UPF的请求向AMF请求第一密钥,以触发AMF推演第一密钥,并将第一密钥反馈给SMF,进而SMF将第一密钥反馈给UPF。
又或者,UPF与SMF完成N4会话建立之后,可以直接向AMF请求第一密钥,从而使得AMF可以根据UPF的请求触发推演第一密钥,并将该第一密钥发送给UPF。
本申请实施例并不限定UPF或SMF获取第一密钥的方式。
以上各个实施例中,由第一网元实现的方法和/或步骤,也可以由可用于该第一网元的部件(例如处理器、芯片、芯片系统、电路、逻辑模块、或软件)实现;由终端设备实现的方法和/或步骤,也可以由可用于该终端设备的部件(例如处理器、芯片、芯片系统、电路、逻辑模块、或软件)实现;由会话管理网元实现的方法和/或步骤,也可以由可用于该会话管理网元的部件(例如处理器、芯片、芯片系统、电路、逻辑模块、或软件)实现。
上述主要对本申请提供的方案进行了介绍。相应的,本申请还提供了通信装置,该通信装置用于实现上述方法实施例中的各种方法。该通信装置可以为上述方法实施例中的第一网元,或者包含第一网元的装置,或者为可用于第一网元的部件,例如芯片或芯片系统。或者,该通信装置可以为上述方法实施例中的终端设备,或者包含终端设备的装置,或者为可用于终端设备的部件,例如芯片或芯片系统。或者,该通信装置可以为上述方法实施例中的会话管理网元,或者包含会话管理网元的装置,或者为可用于会话管理网元的部件,例如芯片或芯片系统。
在一些实施例中,该通信装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法实施例对通信装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
以通信装置为上述方法实施例中的第一网元或者终端设备或者会话管理网元为例,图12是本申请实施例提供的一种通信装置的结构示意图。如图12所示,该通信装置1200包括处理模块1201和收发模块1202。其中,处理模块1201,用于执行上述方法实施例中第一网元或者终端设备或者会话管理网元的处理功能。收发模块1202,用于执行上述方法实施例中第一网元或者终端设备或者会话管理网元的通信功能。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
一种可能的设计方案中,本申请实施例中,收发模块1202可以包括接收模块和发送模块(图12中未示出)。其中,发送模块和接收模块分别用于实现通信装置1200的发送功能和接收功能。
一种可能的设计方案中,通信装置1200还可以包括存储模块(图12中未示出),该存储模块存储有程序或指令。当处理模块1201执行该程序或指令时,使得通信装置1200可以执行图8-图11中任一所示出的方法中第一网元或者终端设备或者会话管理网元的功能。
在一些实施例中,通信装置1200中涉及的处理模块1201可以由处理器或处理器相关电路组件实现,可以为处理器或处理单元;收发模块1202可以由收发器或收发器相关电路组件实现,可以为收发器或收发单元。
示例性地,图13为本申请实施例提供的另一种通信装置的结构示意图。该通信装置可以是上述方法实施例中的第一网元或者终端设备或者会话管理网元,也可以是可设置于第一网元或者终端设备或者会话管理网元的芯片(系统)或其他部件或组件。如图13所示,通信装置1300可以包括处理器1301、总线1302、通信接口1303、存储器1304。处理器1301、存储器1304和通信接口1303之间通过总线1302通信。应理解,本申请不限定通信装置1300中的处理器、存储器的个数。
总线1302可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线1302可包括在通信装置1300各个部件(例如,存储器1304、处理器1301、通信接口1303)之间传送信息的通路。
处理器1301可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器1304可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器1301还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。
通信接口1303使用例如但不限于网络接口卡、收发器一类的收发模块,来实现通信装置1300与其他设备或通信网络之间的通信。
存储器1304中存储有可执行的程序代码,处理器1301执行该可执行的程序代码以分别实现前述方法实施例中第一网元或者终端设备或者会话管理网元的功能。也即,存储器1304上存有用于执行上述方法的指令。
再一方面,本申请实施例还提供了一种包含指令的计算机程序产品,包括计算机程序代码,当计算机程序代码在通信装置上运行时,使得该通信装置可以执行上述任一实施例所述的方法。
再一方面,本申请实施例还提供了一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序或指令,当其在通信装置上运行时,使得通信装置可以执行上述任一实施例所述的方法。
再一方面,本申请实施例还提供了一种通信系统,包括:用于实现上述方法实施例的第一网元、终端设备和会话管理网元。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如SSD)等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者接入网设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (29)

  1. 一种通信方法,其特征在于,所述方法包括:
    接收来自终端设备的第一消息,所述第一消息包括会话建立请求和所述会话建立请求对应的会话标识;
    发送所述会话建立请求、所述会话标识和第一密钥,所述第一密钥用于对所述会话标识对应的会话中的数据进行安全处理,其中,所述第一密钥根据所述会话标识和第一数值确定,所述第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
  2. 根据权利要求1所述的方法,其特征在于,所述计数值是通过计数器计数得到的,所述计数器用于对所述终端设备请求的会话建立请求的个数进行计数,或者所述计数器用于对所述终端设备发送的非接入层NAS消息的个数进行计数,或者所述计数器用于对向所述终端设备发送的NAS消息的个数进行计数。
  3. 根据权利要求1或2所述的方法,其特征在于,在所述第一数值为所述计数值、且所述计数值对应的计数器用于对所述终端设备请求的会话建立请求的个数进行计数的情况下,所述方法还包括:
    接收第二消息,所述第二消息用于指示将所述计数值加一;
    根据所述第二消息将所述计数值加一。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    在所述计数值达到最大值的情况下,发送第一指示信息,所述第一指示信息用于指示对所述终端设备重新进行主认证;
    在所述主认证完成之后,将所述计数值置零。
  5. 根据权利要求1或2所述的方法,其特征在于,在所述第一数值为所述随机值的情况下,所述方法还包括:
    保存所述随机值与所述会话标识的对应关系;
    向所述终端设备发送所述随机值。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    在对所述终端设备进行主认证后,清除存储的所有随机值。
  7. 根据权利要求1或2所述的方法,其特征在于,在所述第一数值为所述随机值的情况下,所述方法还包括:
    接收来自所述终端设备的所述随机值。
  8. 根据权利要求7所述的方法,其特征在于,所述随机值承载在所述第一消息中。
  9. 根据权利要求1-8中任一项所述的方法,其特征在于,所述不同的会话建立请求对应不同的第一数值,包括:
    不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
  10. 一种通信方法,其特征在于,所述方法包括:
    发送第一消息,所述第一消息包括会话建立请求和所述会话建立请求对应的会话标识;
    根据所述会话标识和第一数值确定第一密钥,所述第一密钥用于对所述会话标识对应的会话中的数据进行安全处理,所述第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值。
  11. 根据权利要求10所述的方法,其特征在于,所述计数值是通过计数器计数得到的,所述计数器用于对终端设备请求的会话建立请求的个数进行计数,或者所述计数器用于对所述终端设备发送的NAS消息的个数进行计数,或者所述计数器用于对向所述终端设备发送的NAS消息的个数进行计数。
  12. 根据权利要求10或11所述的方法,其特征在于,在所述第一数值为所述计数值、且所述计数值对应的计数器用于对终端设备请求的会话建立请求的个数进行计数的情况下,所述方法还包括:
    发送所述第一消息后或者接收到会话建立接受消息后,将所述计数值加一。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    完成主认证后,将所述计数值置零。
  14. 根据权利要求10或11所述的方法,其特征在于,在所述第一数值为所述随机值的情况下,所述方法还包括:
    接收所述随机值。
  15. 根据权利要求14所述的方法,其特征在于,所述随机值承载在会话建立接受消息中。
  16. 根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
    完成主认证后,清除存储的所有随机值。
  17. 根据权利要求10或11所述的方法,其特征在于,在所述第一数值为所述随机值的情况下,所述方法还包括:
    存储所述会话标识与所述随机值的对应关系;
    发送所述随机值。
  18. 根据权利要求17所述的方法,其特征在于,所述随机值承载在所述第一消息中。
  19. 根据权利要求10-18中任一项所述的方法,其特征在于,所述不同的会话建立请求对应不同的第一数值,包括:不同会话标识的会话建立请求对应不同的第一数值,以及相同会话标识的会话建立请求对应不同的第一数值。
  20. 根据权利要求10-19中任一项所述的方法,其特征在于,所述方法还包括:
    根据所述第一密钥对所述会话标识对应的会话中的数据进行安全处理。
  21. 一种通信方法,其特征在于,所述方法包括:
    接收会话建立请求、所述会话建立请求对应的会话标识和第一密钥,所述第一密钥用于对所述会话标识对应的会话中的数据进行安全处理,所述第一密钥根据所述会话标识和第一数值确定,所述第一数值为计数值或者随机值,不同的会话建立请求对应不同的第一数值;
    向用户面网元发送所述会话标识和所述第一密钥。
  22. 根据权利要求21所述的方法,其特征在于,所述计数值是通过计数器计数得到的,所述计数器用于对终端设备请求的会话建立请求的个数进行计数,或者所述计数器用于对所述终端设备发送的NAS消息的个数进行计数,或者所述计数器用于对向所述终端设备发送的NAS消息的个数进行计数。
  23. 根据权利要求21或22所述的方法,其特征在于,在所述第一数值为所述计数值的情况下,所述方法还包括:
    发送第二消息,所述第二消息用于指示将所述计数值加一。
  24. 根据权利要求21或22所述的方法,其特征在于,在所述第一数值为所述随机值的情况下,所述方法还包括:
    发送第三消息,所述第三消息用于指示向终端设备发送所述随机值。
  25. 一种通信装置,其特征在于,包括用于执行如权利要求1-9、或者10-20、或者21-24任一项所述方法的模块。
  26. 一种通信装置,其特征在于,包括:处理器;所述处理器,用于运行计算机程序或指令,以使得如权利要求1-9、或者10-20、或者21-24中任一项所述的方法被实现。
  27. 一种通信芯片,其特征在于,其中存储有指令,当所述芯片在通信装置上运行时,使得如权利要求1-9、或者10-20、或者21-24中任一项所述的方法被实现。
  28. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,实现如权利要求1-9、或者10-20、或者21-24中任一项所述的方法。
  29. 一种计算机程序产品,其特征在于,包括计算机程序代码,当所述计算机程序代码在通信装置上运行时,所述通信装置实现如权利要求1-9、或者10-20、或者21-24中任一项所述的方法。
PCT/CN2025/104636 2024-07-17 2025-06-27 通信方法及装置 Pending WO2026016802A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410966052.8 2024-07-17
CN202410966052.8A CN121367903A (zh) 2024-07-17 2024-07-17 通信方法及装置

Publications (1)

Publication Number Publication Date
WO2026016802A1 true WO2026016802A1 (zh) 2026-01-22

Family

ID=98420789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/104636 Pending WO2026016802A1 (zh) 2024-07-17 2025-06-27 通信方法及装置

Country Status (2)

Country Link
CN (1) CN121367903A (zh)
WO (1) WO2026016802A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830991A (zh) * 2018-08-10 2020-02-21 华为技术有限公司 安全会话方法和装置
CN111464572A (zh) * 2019-01-18 2020-07-28 华为技术有限公司 一种会话配置方法及装置
CN115942305A (zh) * 2021-08-08 2023-04-07 华为技术有限公司 一种会话建立方法和相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830991A (zh) * 2018-08-10 2020-02-21 华为技术有限公司 安全会话方法和装置
CN111464572A (zh) * 2019-01-18 2020-07-28 华为技术有限公司 一种会话配置方法及装置
CN115942305A (zh) * 2021-08-08 2023-04-07 华为技术有限公司 一种会话建立方法和相关装置

Also Published As

Publication number Publication date
CN121367903A (zh) 2026-01-20

Similar Documents

Publication Publication Date Title
US11778459B2 (en) Secure session method and apparatus
KR102818884B1 (ko) 통신 보호 방법 및 장치
CN116458109B (zh) 密钥获取方法和通信装置
CN110830989B (zh) 一种通信方法和装置
JP2022502908A (ja) Nasメッセージのセキュリティ保護のためのシステム及び方法
CN109560919B (zh) 一种密钥衍生算法的协商方法及装置
AU2021417645B2 (en) Secure communication method and device
CN109788474A (zh) 一种消息保护的方法及装置
CN110024331B (zh) 数据的保护方法、装置和系统
KR102923415B1 (ko) 온 디맨드 네트워크에서의 프로비저닝, 인증, 인가, 그리고 사용자 장비(ue) 키 생성 및 분배를 위한 방법 및 장치
CN109391942A (zh) 触发网络鉴权的方法及相关设备
JP7414796B2 (ja) 情報送信方法、鍵生成方法、及び機器
JPWO2018079692A1 (ja) システム、基地局、コアネットワークノード、及び方法
WO2024067619A1 (zh) 通信方法和通信装置
US20250126476A1 (en) Security decision negotiation method and network element
WO2024246708A2 (en) Authorization framework for nf(s) for sixth-generation core networks using distributed ledger
WO2026016802A1 (zh) 通信方法及装置
WO2024001524A1 (zh) 一种通信方法及装置
WO2021073382A1 (zh) 注册方法及装置
WO2025171639A1 (en) Method, device and system for akma roaming control in communication networks
WO2024254796A1 (zh) 一种安全密钥的确定方法及装置
WO2026026541A1 (zh) 一种数据传输方法和通信装置以及存储介质
CN120050653A (zh) 通信方法和通信装置
CN119301915A (zh) 通信网络中漫游用户的加密密钥传输方法和设备
CN114513860A (zh) 一种终端附着方法、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25840123

Country of ref document: EP

Kind code of ref document: A1