Communication method and communication apparatus
By receiving information generated by the core network in the terminal device and verifying the legality of the broadcast data of the access network device, the problem of the terminal device being unable to verify the legality of the data is solved, ensuring the legality of the data and the normal operation of the device.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-09-24
- Publication Date
- 2026-05-21
AI Technical Summary
Terminal devices may be unable to effectively verify the legitimacy of data broadcast by access network devices, which could lead to the receipt and processing of illegal data and affect the normal operation of the devices.
Terminal devices receive information generated by the core network, generate or obtain values corresponding to the broadcast data, and verify the legality of the broadcast data of the access network devices based on these values, including using hash algorithms or integrity protection algorithms, combined with conditions such as regional information and validity period for verification.
Ensuring the legitimacy of broadcast data received by terminal devices prevents illegal data from affecting device operation, thereby improving the accuracy and efficiency of data processing.
Smart Images

Figure CN2025123709_21052026_PF_FP_ABST
Abstract
Description
Communication methods and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202411643978.X, filed with the State Intellectual Property Office of China on November 16, 2024, entitled "Communication Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more specifically to communication methods and communication apparatus in the field of communications. Background Technology
[0003] Typically, the core network can send certain data to access network devices, which then broadcast this data to terminal devices. However, the legitimacy of the broadcast data received by the terminal device is difficult to guarantee. For example, in some cases, a malicious access network device might modify the data sent by the core network before broadcasting it to the terminal device, or it might generate illegal data and broadcast it to the terminal device, causing the terminal device to malfunction. Summary of the Invention
[0004] This application provides a communication method and a communication device that enable a terminal device to determine whether broadcast data from an access network device is legitimate, thereby ensuring the normal operation of the terminal device.
[0005] In a first aspect, a communication method is provided, which is executed by a communication device. The method includes: receiving first information, which may include one or more values corresponding to broadcast data generated by a core network; receiving the first broadcast data from an access network device and determining a first value based on part or all of the data in the first broadcast data; and determining that the first broadcast data is valid if the first value matches at least one value in the first information.
[0006] For example, the communication device can be a terminal device or a chip of a terminal device. The terminal device can be a personal handheld terminal and its chip, such as a mobile phone, tablet computer / personal computer (PC), personal wearable device, etc., and its chip. The terminal device can also be an in-vehicle terminal and its chip, such as a private vehicle, commercial vehicle, etc., and its chip. The terminal device can also be an airborne terminal and its chip, such as a civil aircraft, private jet, etc., and its chip. It should be noted that this communication method can also be executed by hardware or software within the terminal device.
[0007] In the above scheme, the communication device can receive first information, where one or more values correspond to broadcast data generated by the core network. The communication device can also generate a first value corresponding to the broadcast data received from the access network device. Therefore, the communication device can determine whether the broadcast data received from the access network device was generated by the core network based on whether one or more values in the first information match the first value. If the broadcast data received from the access network device was generated by the core network, it indicates that the broadcast data is legitimate. Based on the first information, the communication device can verify the legitimacy of the broadcast data received from the access network device, which helps ensure the normal operation of the communication device.
[0008] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values. Therefore, determining the validity of the first broadcast data when the first value matches at least one value in the first information may include: determining the validity of the first broadcast data when the first value matches at least one value in the first information corresponding to the type of the first broadcast data.
[0009] If the first information includes one or more values and the broadcast data type corresponding to each value, and if there is a value in the first information that matches the first value, and that value is one of the values corresponding to the type of the first broadcast data, then the communication device can determine that the first broadcast data is valid.
[0010] In some possible implementations, the above method may further include: determining a value from the first information corresponding to the type of the first broadcast data; and determining whether there exists a value among the values corresponding to the type of the first broadcast data that matches the first value.
[0011] The communication device can search for a value corresponding to the type of the first broadcast data in the first information, and further search for a value matching the first value among the values corresponding to the type, thereby narrowing the search range of the first value and improving search efficiency.
[0012] In some possible implementations, the first information may further include region information corresponding to each of one or more values, and the region information may be used to indicate the region to which the value corresponding to the region information applies; therefore, determining the validity of the first broadcast data when the first value matches at least one value in the first information may include: determining the validity of the first broadcast data when the first value matches a second value in the first information, and the region indicated by the region information corresponding to the second value includes the location of the communication device.
[0013] Based on the area information, the communication device can further determine whether the value matching the first value in the first information is available at the current location, which increases the verification of the available area of the value in the first information and helps to further ensure the legality of the first broadcast data.
[0014] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values; therefore, determining the validity of the first broadcast data when the first value matches at least one value in the first information may include: determining the validity of the first broadcast data when the first value matches a second value in the first information and the second value is within the validity period.
[0015] Based on the validity period, the communication device can further determine whether the value matching the first value in the first information is valid, which increases the verification of the validity of the value in the first information and helps to further ensure the legality of the first broadcast data.
[0016] In some possible implementations, receiving the first information may include receiving a registration acceptance message, which may include the first information and can be used to indicate acceptance of the registration request from the communication device. This allows the communication device to obtain the first information during the registration process, such as from the registration acceptance message. Consequently, when broadcast data is received in subsequent processes, the communication device can directly verify the validity of the broadcast data based on the first information, improving processing efficiency.
[0017] In some possible implementations, receiving the first information may include receiving a data packet from a user plane network element, the data packet including the first information. This allows the communication device to obtain the first information from the data packet from the user plane network element without additional signaling transmission, thus helping to reduce signaling overhead.
[0018] In some possible implementations, receiving the first information may include receiving a session modification message or a session establishment message, whereby the session modification message or session establishment message may include the first information. This allows the communication device to obtain the first information during the session modification or session establishment process, such as by obtaining it from the session modification message or session establishment message, thus enabling the communication device to acquire the first information promptly. Furthermore, if the content of the first information is updated, the communication device can promptly obtain the updated first information through the session modification or session establishment process.
[0019] In some possible implementations, receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data may include: receiving multiple segments of the first broadcast data from the access network device; and determining the first value based on the complete first broadcast data composed of the multiple segments. In this implementation, the communication device determines a first value for the first broadcast data, which helps reduce the processing complexity of the communication device.
[0020] In some possible implementations, receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data may include: receiving multiple segments of the first broadcast data from the access network device; determining a first value for each segment based on each of the multiple segments; therefore, determining the validity of the first broadcast data when the first value matches at least one value in the first information may include: determining the first broadcast data as valid when the first value of each segment matches at least one value in the first information. In this implementation, the communication device determines the corresponding first value for each segment of the first broadcast data and determines whether at least one value in the first information matches the first value corresponding to each segment, which helps improve the accuracy of the validity verification of the first broadcast data. Optionally, for a first value corresponding to a certain segment of the first broadcast data, if there is no value in the first information that matches the first value, then the first broadcast data is invalid, and the communication device may no longer process subsequent segments of the first broadcast data. That is, the communication device does not need to determine the first value corresponding to subsequent segments, nor does it need to determine whether at least one value in the first information matches the first value corresponding to subsequent segments. This helps reduce processing complexity and improve processing efficiency.
[0021] In some possible implementations, the method may further include: determining, based on the instruction information, a first value based on a complete first broadcast data composed of multiple segments, or determining a first value for each segment based on each of the multiple segments. This allows the communication device to quickly determine the first value according to the indication information, thus improving processing efficiency.
[0022] In some possible implementations, receiving the first broadcast data from the access network device may include receiving the first broadcast data and indication information from the access network device, so that the communication device can determine the first value corresponding to the first broadcast data by specifically using the indication information indication method based on the indication information received at the same time as the first broadcast data.
[0023] In some possible implementations, the method may further include receiving indication information before receiving the first broadcast data from the access network device. This allows the communication device, upon receiving the first broadcast data, to determine how to determine the first value by combining the indication information received prior to the first broadcast data.
[0024] In some possible implementations, one or more values in the first information and the first value can be values generated according to the same algorithm.
[0025] Based on the same algorithm, the value in the first information that is equal to the first value is the value that matches the first value, which helps to improve the efficiency of the communication device in determining the value that matches the first value.
[0026] In some possible implementations, the algorithm can be a hash algorithm or an integrity protection algorithm. Using a hash algorithm or an integrity protection algorithm helps the communication device to conveniently generate the first value.
[0027] In some possible implementations, the first broadcast data can be broadcast auxiliary data, which can be used for positioning by the communication device. Therefore, the communication device can determine the validity of the broadcast auxiliary data based on the first information and the first value of the broadcast auxiliary data, ensuring the normal operation of the positioning process.
[0028] Secondly, a communication method is provided, the method comprising: acquiring first information, the first information including one or more values corresponding to broadcast data generated by the core network; and sending the first information to a communication device, the first information being used to confirm whether the broadcast data received by the communication device is valid.
[0029] For example, this communication method can be executed by a core network element and its chip. For example, this communication method can be executed by a location management function (LMF) network element. It should be noted that this communication method can also be executed by hardware or software within the core network element. For ease of understanding, the following description uses the first core network element as an example of the execution subject of this communication method.
[0030] In the above scheme, the first core network element can send first information to the communication device, including one or more values corresponding to the broadcast data generated by the core network. Based on the first information, the communication device can confirm whether the broadcast data received from the access network device is legitimate broadcast data generated by the core network, thereby ensuring the normal operation of the communication device.
[0031] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values. Based on the type of broadcast data corresponding to each value, the communication device can quickly find the value corresponding to each type of broadcast data from the first information.
[0032] In some possible implementations, the first information may further include region information corresponding to each of one or more values. This region information can be used to indicate the region to which the corresponding value applies. Based on the region information corresponding to each value, the communication device can determine whether it is within the region to which the value in the first information applies.
[0033] In some possible implementations, the first information may also include a validity period for each of one or more values. Based on the validity period for each value, the communication device can determine whether the value in the first information is valid.
[0034] In some possible implementations, sending the first information to the communication device may include sending a registration acceptance message to the communication device. The registration acceptance message may include the first information and can be used to indicate acceptance of the communication device's registration request. In this way, the first core network element can send the first information to the communication device during registration, facilitating the communication device's verification of the legitimacy of broadcast data received in subsequent processes.
[0035] In some possible implementations, sending the first information to the communication device may include sending a data packet to the communication device, the data packet including the first information. In this way, the first core network element can send the first information to the communication device via a data packet without sending additional signaling to the communication device, thus helping to reduce signaling overhead.
[0036] In some possible implementations, sending the first information to the communication device may include sending a session modification message or a session establishment message to the communication device, wherein the session modification message or session establishment message may include the first information. In this way, the first core network element can send the first information to the communication device during the session modification process or the session establishment process. For example, when the content of the first information is updated, the first core network element can promptly send the updated first information to the communication device through the session modification process or the session establishment process.
[0037] In some possible implementations, obtaining the first information may include: obtaining broadcast data and determining the first information based on all or part of the broadcast data. The first core network element can determine the first information itself, without needing to obtain it from other core network elements.
[0038] In some possible implementations, broadcast data may include multiple segments. Therefore, determining the first information based on all or part of the broadcast data may include: determining one or more values corresponding to the broadcast data based on the complete broadcast data composed of multiple segments. This helps simplify the process of generating values corresponding to the broadcast data.
[0039] In some possible implementations, the broadcast data may include multiple segments. Therefore, determining the first information based on all or part of the broadcast data may include: determining a value corresponding to each segment based on each of the multiple segments. One or more values corresponding to the broadcast data may include the value corresponding to each segment. This helps to further improve the accuracy of the communication device in verifying the legality of the broadcast data.
[0040] In some possible implementations, the above method may further include: sending indication information to the communication device, the indication information being used to indicate whether the broadcast data is valid based on the complete broadcast data, or whether the broadcast data is valid based on each of multiple segments of the broadcast data. This indication information helps the communication device quickly determine how to determine whether the broadcast data is valid.
[0041] In some possible implementations, one or more values corresponding to broadcast data can be hash values or values generated according to integrity protection algorithms. Using hash values or values generated according to integrity protection algorithms helps the first core network elements conveniently generate the values corresponding to broadcast data.
[0042] In some possible implementations, the broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device. Based on this, the communication device can determine the legitimacy of the broadcast auxiliary data based on the initial information, ensuring the normal operation of the communication device's positioning function.
[0043] Thirdly, embodiments of this application provide a communication device, including: a transceiver unit, which can be used to receive first information and receive first broadcast data from an access network device, the first information may include one or more values corresponding to broadcast data generated by a core network; and a processing unit, which can be used to determine a first value based on part or all of the data of the first broadcast data, and determine that the first broadcast data is valid if the first value matches at least one value in the first information.
[0044] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values, and the processing unit may be used to determine that the first broadcast data is valid if the first value matches at least one value in the first information that corresponds to the type of the first broadcast data.
[0045] In some possible implementations, the processing unit may also be used to: determine from the first information a value corresponding to the type of the first broadcast data; and determine whether there is a value among the values corresponding to the type of the first broadcast data that matches the first value.
[0046] In some possible implementations, the first information may further include region information corresponding to each of one or more values, and the region information may be used to indicate the region to which the value corresponding to the region information applies; therefore, the processing unit may be used to determine that the first broadcast data is valid when the first value matches the second value in the first information and the region indicated by the region information corresponding to the second value includes the location of the communication device.
[0047] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values; therefore, the processing unit may be used to determine that the first broadcast data is valid if the first value matches the second value in the first information and the second value is within the validity period.
[0048] In some possible implementations, the transceiver unit can be used to: receive a registration acceptance message, which may include first information and can be used to indicate acceptance of a registration request from a communication device; or, receive a data packet from a user plane network element, which may include the first information; or, receive a session modification message or a session establishment message, which may include the first information.
[0049] In some possible implementations, the transceiver unit may be used to: receive multiple segments of the first broadcast data from the access network device respectively; the processing unit may be used to determine a first value based on the complete first broadcast data composed of the multiple segments; and determine that the first broadcast data is valid if the first value matches at least one value in the first information.
[0050] In some possible implementations, the transceiver unit may be used to: receive multiple segments of the first broadcast data from the access network device respectively; therefore, the processing unit may be used to determine a first value for each segment based on each of the multiple segments; and determine that the first broadcast data is valid if the first value of each segment matches at least one value in the first information.
[0051] In some possible implementations, the processing unit can also be used to: determine, based on the instruction information, a first value based on the complete first broadcast data composed of multiple segments, or, determine the first value of each segment based on each of the multiple segments.
[0052] In some possible implementations, the transceiver unit may be used to: receive first broadcast data and the aforementioned indication information from the access network device; or, receive the aforementioned indication information before receiving the first broadcast data from the access network device.
[0053] In some possible implementations, one or more values in the first information and the first value can be values generated according to the same algorithm.
[0054] In some possible implementations, the algorithm can be a hash algorithm or an integrity protection algorithm.
[0055] In some possible implementations, the first broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device.
[0056] Fourthly, a communication device is provided, comprising: a processing unit for acquiring first information, the first information including one or more values corresponding to broadcast data generated by a core network device; and a transceiver unit for sending the first information to the communication device.
[0057] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values.
[0058] In some possible implementations, the first information may also include region information corresponding to each of one or more values, which can be used to indicate the region to which the value corresponding to the region information applies.
[0059] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values.
[0060] In some possible implementations, the transceiver unit can be used to: send a registration acceptance message to the communication device, the registration acceptance message may include first information, and the registration acceptance message may be used to indicate acceptance of the registration request from the communication device; or, send a data packet to the communication device, the data packet may include the first information; or, send a session modification message or a session establishment message to the communication device, the session modification message or the session establishment message may include the first information.
[0061] In some possible implementations, the processing unit can be used to acquire broadcast data and determine first information based on all or part of the broadcast data.
[0062] In some possible implementations, broadcast data may include multiple segments, so the processing unit can be used to determine one or more values corresponding to the broadcast data based on the complete broadcast data composed of multiple segments.
[0063] In some possible implementations, broadcast data may include multiple segments, so the processing unit can be used to determine the value corresponding to each segment based on each of the multiple segments, and one or more values corresponding to the broadcast data may include the value corresponding to each segment.
[0064] In some possible implementations, the transceiver unit can also be used to send indication information to the communication device, which can be used to indicate whether the broadcast data is valid based on the complete broadcast data, or whether the broadcast data is valid based on each of the multiple segments of the broadcast data.
[0065] In some possible implementations, one or more values corresponding to the broadcast data can be hash values or values generated according to an integrity protection algorithm.
[0066] In some possible implementations, the broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device.
[0067] Fifthly, a communication apparatus is provided, comprising at least one unit or module for performing the method as described in the first aspect above or any possible implementation thereof.
[0068] In a sixth aspect, a communication apparatus is provided, comprising at least one unit or module for performing the method as described in the second aspect above or any possible implementation thereof.
[0069] In a seventh aspect, a communication device is provided for performing the method as described in any one of the first aspects above.
[0070] Eighthly, a communication device is provided for performing the method as described in any one of the second aspects above.
[0071] A ninth aspect provides a communication device including at least one memory and at least one processor, the at least one memory being used to store a computer program or instructions, which, when executed by the at least one processor, cause the communication device to implement the method as described in any of the preceding aspects.
[0072] In a tenth aspect, a computer-readable storage medium is provided, which stores a computer program or instructions that, when executed on a computer, cause the computer to perform the methods described in any of the preceding aspects.
[0073] Eleventhly, a computer program product is provided, comprising a computer program or instructions that, when executed on a computer, cause the computer to perform the methods described in any of the preceding aspects.
[0074] In a twelfth aspect, a communication system is provided, comprising a communication device (such as a terminal device) for performing the method described in the first aspect or any possible implementation thereof, and a core network element (such as a first core network element) for performing the method described in the second aspect or any possible implementation thereof.
[0075] In a thirteenth aspect, a communication method is provided, including:
[0076] The core network element obtains first information, which includes one or more values corresponding to the broadcast data generated by the core network.
[0077] The core network element sends first information to the communication device, which is used to confirm whether the broadcast data received by the communication device is legitimate;
[0078] The communication device receives first information, which may include one or more values corresponding to broadcast data generated by the core network.
[0079] The communication device receives first broadcast data from the access network equipment and determines a first value based on part or all of the data in the first broadcast data;
[0080] The communication device determines that the first broadcast data is valid if the first value matches at least one value in the first information.
[0081] It is understood that the beneficial effects of the third to thirteenth aspects mentioned above can be found in the relevant descriptions of the first or second aspects mentioned above, and will not be repeated here. Attached Figure Description
[0082] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0083] Figure 1 is a schematic diagram of the communication system provided in an embodiment of this application.
[0084] Figure 2 is a schematic diagram of the architecture of a 5G core network location service provided in an embodiment of this application.
[0085] Figure 3 is an example diagram of another 5G core network location service provided in an embodiment of this application.
[0086] Figure 4 is a schematic diagram of a process for sending broadcast auxiliary data to a UE according to an embodiment of this application.
[0087] Figure 5 is a schematic diagram of another process for sending broadcast auxiliary data to a UE according to an embodiment of this application.
[0088] Figure 6 is a flowchart illustrating a communication method provided in an embodiment of this application.
[0089] Figure 7 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0090] Figure 8 is an example diagram of a communication method provided in an embodiment of this application.
[0091] Figure 9 is an example diagram of another communication method provided in an embodiment of this application.
[0092] Figure 10 is an example diagram of another communication method provided in an embodiment of this application.
[0093] Figure 11 is an example diagram of another communication method provided in an embodiment of this application.
[0094] Figure 12 is an example diagram of another communication method provided in an embodiment of this application.
[0095] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application.
[0096] Figure 14 is a schematic diagram of another communication device provided in an embodiment of this application.
[0097] Figure 15 is a schematic diagram of the structure of another communication device provided in an embodiment of this application. Detailed Implementation
[0098] The technical solutions of the embodiments of the present invention will now be described with reference to the accompanying drawings.
[0099] It should be understood that the methods, situations, categories, and classifications of embodiments in this application are merely for descriptive convenience and should not constitute any particular limitation. Features of various methods, categories, situations, and embodiments can be combined without contradiction. It should also be understood that the terms "first," "second," and "third" in the embodiments of this application are merely for distinction and should not constitute any limitation on this application. Furthermore, it should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0100] In this application embodiment, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, or b, or c, or a and b, or a and c, or b and c, or a and b and c, where a, b, or c can be single or multiple.
[0101] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0102] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0103] The methods and apparatus provided in this application are based on the same or similar technical concepts. Since the principles of solving problems by the methods and apparatus are similar, the implementation of the apparatus and methods can refer to each other, and repeated parts will not be described again.
[0104] The technical solutions of this application embodiment can be applied to various communication systems, such as: Global System for Mobile Communication (GSM), Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD) system, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication system, 5th Generation (5G) system, New Radio (NR) system, or future communication systems, etc.
[0105] Figure 1 exemplarily illustrates a system architecture example of a communication system to which embodiments of this application can be applied. Taking the communication system 100 shown in Figure 1 as a 5G system architecture as an example, the communication system 100 may include multiple network elements, nodes, or devices, such as terminal devices, access network (AN) devices, user plane function (UPF) network elements, access and mobility management function (AMF) network elements, session management function (SMF) network elements, policy control function (PCF) network elements, application function (AF) network elements, location management function (LMF) network elements (not shown in the figure), network repository function (NRF) network elements, network slice-specific authentication and authorization function (NSSAAF) network elements, and service control point (SCP) network elements. The communication system 100 may also include a data network (DN), etc.
[0106] The functions of each part or network element involved in the communication system 100 in the 5G network are illustrated below.
[0107] Terminal equipment: Terminal equipment can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device. In the embodiments of this application, the terminal equipment can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. The terminal devices in the embodiments of this application may be mobile phones, tablets, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, vehicle devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.
[0108] Access network equipment: Access network equipment provides network access functionality for authorized terminal devices in a specific area and can use transmission channels of different quality according to the terminal device's level and service requirements. Access network equipment manages radio resources, provides access services to terminal devices, and thus completes the forwarding of control signals and data between the terminal devices and the core network.
[0109] Access network equipment can be devices within a wireless network. Access network equipment can also be called radio access network (RAN) equipment or network equipment; for example, an access network device can be a base station. The access network equipment in this application embodiment can refer to a RAN node (or device) that connects terminal equipment to a wireless network, and can be any of the following: NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master MeNB, auxiliary SeNB, multi-standard radio (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), positioning node, etc. The access network equipment can also be a macro base station, micro base station, relay node, donor node, or similar, or a combination thereof. Access network equipment can also refer to communication modules, modems, or chips installed within the aforementioned equipment or devices. Access network equipment can also be mobile switching centers, devices that function as base stations in device-to-device (D2D), vehicle-to-everything (V2X), and machine-to-machine (M2M) communications, network-side equipment in 5G networks, and devices that function as base stations in future communication systems. Access network equipment can support networks using the same or different access technologies. The embodiments of this application do not limit the specific technologies or device forms used in the access network equipment.
[0110] Access network equipment can be fixed or mobile. For example, a helicopter or drone can be configured to act as a mobile access network equipment, and one or more cells can move according to the location of the mobile access network equipment. In other examples, a helicopter or drone can be configured to be used as a device to communicate with another access network equipment.
[0111] In some deployments, the access network device in this application embodiment may refer to a CU or a DU, or the access network device may include both a CU and a DU.
[0112] Access network equipment and terminal equipment can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites. This application embodiment does not limit the scenario in which the access network equipment and terminal equipment are located.
[0113] UPF (User Plane Function) element: The UPF is a user plane function in the core network, responsible for forwarding and receiving user data (such as service data streams) from terminal devices. The UPF can connect to access network devices and external data networks for data transmission. For example, the UPF can receive user data from the data network (DN) and transmit it to the terminal device through the access network device; alternatively, the UPF can also receive user data from the terminal device through the access network device and then forward it to the DN. The transmission resources and scheduling functions providing services to the terminal device in the UPF are managed and controlled by the SMF (Service Provider Function). In some embodiments, the UPF can be divided into intermediate-UPF (I-UPF) and anchor-UPF (A-UPF). The I-UPF connects to the access network, and the A-UPF is a session anchor UPF, also known as a Protocol Data Unit (PDU) session anchor (PSA).
[0114] AMF (Active Mobile Function) element: The AMF is the mobility management function in the core network. It can be used to implement functions other than session management in the mobility management entity (MME), such as access authorization (or authentication). In some embodiments, in addition to performing mobility management on terminal devices, the AMF can also be responsible for forwarding session management-related messages between the terminal device and the SMF element.
[0115] SMF Network Element: SMF is the session management function in the core network. It is mainly responsible for session management, allocation and management of Internet Protocol (IP) addresses for terminal devices, selection of endpoints for manageable user plane functions, policy control, or charging function interfaces, downlink data notification, and configuration of routing information for user plane functions.
[0116] LMF (Local Position Provider) element: The LMF is a core network element in the 5G core network that provides control plane positioning, capable of calculating and feeding back location information within the 5G network. The architecture of the 5G core network's location service can be shown in Figure 2 or Figure 3. Figure 2 shows the non-roaming reference architecture based on the 5G core network's location service, while Figure 3 shows the roaming reference architecture (including the visited public land mobile network (VPLMN) and the home public land mobile network (HPLMN)) based on the 5G core network's location service. The LMF is responsible for managing and coordinating the entire positioning process, ensuring accurate transmission of positioning requests and timely feedback of positioning results. Furthermore, the LMF can interact with the terminal to obtain its positioning capability information in order to select an appropriate positioning method. The LMF can also provide the terminal with necessary auxiliary data, such as ephemeris information from satellite navigation systems, to improve positioning accuracy and speed. Based on location measurement information obtained from the terminal or network side, the LMF can also calculate the terminal's precise location. In the 5G core network, positioning-related network elements also include gateway mobile location center (GMLC) network elements, radio link failure (LRF) network elements, packet radio unit (PRU) network elements, visited GMLC (VGMLC) network elements, and home GMLC (HGMLC) network elements, which will not be elaborated here.
[0117] DN: DN refers to a network that can be used to provide data transmission. DN can be a private network, such as a local area network (LAN), an external network not controlled by an operator, such as the Internet, or a proprietary network jointly deployed by operators, such as a network providing IP multimedia subsystem (IMS) services.
[0118] It should be understood that the various network elements mentioned above in the core network can also be referred to as functional entities, and this application does not limit this. For example, a UPF network element can also be referred to as a UPF entity, and an AMF network element can also be referred to as an AMF entity, etc. It should also be understood that in some embodiments, xx network element or xx functional entity can also be directly abbreviated as xx, for example, a UPF network element (or UPF entity) can be abbreviated as UPF, and an AMF network element (or AMF entity) can be abbreviated as AMF. For ease of description, xx (such as UPF, AMF, etc.) mentioned in the embodiments of this application can refer to xx network element or xx entity, which will not be repeated hereafter.
[0119] Optionally, the communication system 100 may also include other network elements such as unified data management (UDM) network elements, authentication server function (AUSF) network elements, network slice selection function (NSSF) network elements, network exposure function (NEF) network elements, and network data analytics function (NWDAF). This application embodiment does not limit this.
[0120] In the communication system 100 shown in Figure 1, various parts or network elements can communicate with each other through interfaces. For example, terminal devices can connect to the AN through the Uu interface to establish an access layer connection, exchanging access layer messages and wireless data transmission; terminal devices can connect to the AMF through the N1 interface to establish a non-access stratum (NAS) connection, exchanging NAS messages; the AN can connect to the AMF through the N2 interface to transmit radio bearer control information from the core network side to the AN; the UPF can transmit data with the AN through the N3 interface and with the DN through the N6 interface, etc. Other interfaces connecting parts or network elements can be found in Figure 1 and will not be described further here.
[0121] It should be understood that the network elements such as terminal equipment, access network equipment, SMF, and PCF shown in Figure 1 are merely names, and the names do not limit the equipment itself. In 5G networks and other future networks, the network elements corresponding to terminal equipment, access network equipment, SMF, and PCF may also have other names, and this application embodiment does not specifically limit them.
[0122] It should be understood that the above communication system is illustrated using a 5G system as an example. Of course, this application can also be applied to other 3rd generation partnership project (3GPP) communication systems, such as future wireless communication systems. The embodiments of this application are not limited in this respect.
[0123] It should be understood that all or part of the functions of the communication device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).
[0124] It should be understood that the system architecture described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will know that with the evolution of network architecture, the embodiments of this application can also be applied to similar technical problems.
[0125] In the operation of the aforementioned communication system, the core network typically sends certain data to access network devices, which then broadcast this data to terminal devices. Examples include broadcast assistance data or other broadcast data that remains unchanged over a relatively long period. However, the legitimacy of the broadcast data received by the terminal device is difficult to guarantee. For instance, in some cases, a malicious access network device might modify the data sent by the core network before broadcasting it to the terminal device, or it might generate illegal data and broadcast it to the terminal device, causing the terminal device to malfunction. For example, a malicious access network device could be a fake base station (i.e., a fake base station).
[0126] The following explanation uses broadcast auxiliary data as an example to illustrate the above issues. Broadcast auxiliary data is data obtained by the core network from differential auxiliary data received from access network equipment stations through encoding, segmentation, and encryption. During the positioning process, the core network sends the broadcast auxiliary data to the access network equipment, which then broadcasts it to nearby terminal equipment. This allows the terminal equipment to use the broadcast auxiliary data to eliminate errors in the positioning measurement data, thereby improving positioning accuracy.
[0127] Broadcast auxiliary data is crucial for the positioning process. Typically, the broadcast auxiliary data broadcast from the access network device to the terminal device is either encrypted or unencrypted. If the broadcast auxiliary data is encrypted, the terminal device needs to find the corresponding key to decrypt it before performing over-the-air decoding; if the broadcast auxiliary data is unencrypted, the terminal device can directly decode the bitstream.
[0128] Although broadcast auxiliary data can be encrypted, it is still difficult to guarantee that terminal devices receive legitimate broadcast auxiliary data. This is because malicious access network devices can also obtain the key for broadcast auxiliary data, decrypt it using the key, and then tamper with or replace the broadcast auxiliary data before broadcasting it to the terminal devices. The transmission process of broadcast auxiliary data is explained in detail below.
[0129] As shown in Figure 4, the transmission process of broadcast auxiliary data may include the following steps 1-10.
[0130] Steps 1-2: The LMF invokes the Broadcast Key Notification (Nlmf_Broadcast_CipheringKeyData Notify) service to send the encryption key value, encryption key identifier, validity period, a set of available areas, and a set of applicable broadcast auxiliary data for each of one or more encryption keys to the AMF (only encryption keys are shown in Figure 4). The AMF saves the received one or more encryption keys.
[0131] Step 3: The terminal device sends a registration request to the RAN node. The registration request can be sent as part of normal mobility management; that is, the terminal device can trigger the registration process and send a registration request when it needs to register with the network. Alternatively, the terminal device can trigger the registration process and send a registration request to obtain an encryption key.
[0132] Steps 4-5: If the terminal device is in the connection management (CM) idle state, the RAN node selects an AMF or determines an AMF that is connected to the RAN in the CM state, and forwards the terminal device's registration request to the selected or determined AMF.
[0133] Steps 6-7: The AMF returns a registration acceptance to the RAN node. If the terminal device requested an encryption key for broadcast auxiliary data, the AMF includes one or more encryption keys applicable to the terminal device's current location in the registration acceptance. The RAN node forwards the registration acceptance to the terminal device.
[0134] Step 8: The LMF invokes the Non-Terminal N2 Communication Message Transfer (Namf_Communication_NounueN2MessageTransfer) service operation to the AMF, requesting the transmission of broadcast auxiliary data information to the RAN node. This service operation includes the broadcast auxiliary data information and the identifier of the target RAN node (i.e., the RAN node in Figure 4). The broadcast auxiliary data information may include encrypted broadcast auxiliary data and / or unencrypted broadcast auxiliary data. The LMF may send one or more sets of broadcast auxiliary data to the AMF node. The broadcast auxiliary data may be broadcast auxiliary data used for Global Navigation Satellite System (GNSS) positioning or broadcast auxiliary data used for cellular positioning.
[0135] Step 9: The AMF forwards the broadcast auxiliary data information to the target RAN node via the N2 transmission message.
[0136] Step 10: The RAN node broadcasts the broadcast auxiliary data contained in the broadcast auxiliary data information.
[0137] The actions taken by the terminal device after receiving broadcast auxiliary data from the RAN node can be as described above and will not be repeated here. However, the legitimacy of the broadcast auxiliary data received by the terminal device cannot be guaranteed.
[0138] For example, when a fake base station exists in the communication system, the process of the core network device sending broadcast auxiliary data to the terminal device can be as shown in Figure 5, and may include steps 1-10.
[0139] Steps 1-2: The UE proceeds with the normal registration process and obtains the key list by receiving registration messages.
[0140] Steps 3-4: The fake base station can also register with a normal UE, and can obtain the key list by receiving messages during registration. Step 5: The AMF forwards the broadcast auxiliary data to the target RAN node (i.e., the RAN node in Figure 5).
[0141] Step 6: After a terminal device residing in a cell within the RAN node requests broadcast auxiliary data, the RAN broadcasts the broadcast auxiliary data to all terminal devices within the cell.
[0142] Steps 7-8: After receiving the broadcast auxiliary data from the RAN via its own terminal equipment, the fake base station can decrypt the encrypted broadcast auxiliary data using the key list previously obtained from its own terminal equipment registration, then tamper with it, encrypt it again, and finally broadcast it to nearby terminal equipment. Alternatively, the fake base station can also directly tamper with the received plaintext broadcast auxiliary data before broadcasting it to nearby terminal equipment.
[0143] Steps 9-10: Fake base stations can generate illegal broadcast auxiliary data of arbitrary content and form, and then broadcast it to nearby terminal devices.
[0144] Broadcast auxiliary data tampered with by fake base stations, or illegal broadcast auxiliary data generated by fake base stations themselves, may attack the positioning system or air interface message processing system of terminal devices, causing the terminal devices to malfunction.
[0145] To address one or more of the aforementioned technical problems, this application proposes a communication method and a communication device that can ensure the normal operation of terminal devices. In an embodiment of this application, the communication device can receive first information, where one or more values in the first information correspond to broadcast data generated by the core network. The communication device can also generate a first value corresponding to the broadcast data received from the access network device. Therefore, the communication device can determine whether the broadcast data received from the access network device was generated by the core network based on whether one or more values in the first information match the first value. If the broadcast data received from the access network device was generated by the core network, it indicates that the broadcast data is legitimate. Based on the first information, the communication device can verify the legitimacy of the broadcast data received from the access network device, which helps ensure the normal operation of the communication device.
[0146] The following describes an embodiment of the communication method of this application with reference to the accompanying drawings.
[0147] Figure 6 illustrates a communication method 600 provided in an embodiment of this application. The communication method 600 can be executed by a terminal device and its chip. The terminal device can be a personal handheld terminal and its chip, such as a mobile phone, tablet computer / personal computer, personal wearable device, etc., and its chip. The terminal device can also be an in-vehicle terminal and its chip, such as a private vehicle, commercial vehicle, etc., and its chip. The terminal device can also be an airborne terminal and its chip, such as a civil aircraft, private jet, etc., and its chip. For ease of description, the terminal device and its chip are collectively referred to as a communication device below. It should be noted that method 600 can also be executed by hardware or software within the terminal device.
[0148] As shown in Figure 6, method 600 may include steps S610-S630.
[0149] S610, receive first information, which may include one or more values corresponding to broadcast data generated by the core network.
[0150] For example, a communication device receives first information from the core network; or, for instance, a communication device receives first information from the core network through an access network device. Exemplarily, the core network can send generated broadcast data to the access network device, which then broadcasts it to the communication device.
[0151] For example, broadcast data may include broadcast auxiliary data and / or other data broadcast by access network devices.
[0152] Optionally, the first information may include one or more values corresponding to broadcast data. Optionally, the values corresponding to broadcast data may be generated based on a part or the whole of the broadcast data. A broadcast data may have one or more values.
[0153] The method for generating the value corresponding to the broadcast data is not limited; for example, it can be generated according to a corresponding algorithm. Optionally, the value corresponding to the broadcast data can be generated by the core network. For example, the value corresponding to the broadcast data can be generated by network elements in the core network (such as LMF or AMF). The format of the first information is not limited.
[0154] S620: Receive first broadcast data from the access network device and determine a first value based on part or all of the first broadcast data.
[0155] Optionally, the first broadcast data may be generated by the core network and sent to the access network devices. For example, the first broadcast data may be broadcast auxiliary data. The method by which the communication device generates the first value is not limited; for example, it may be generated according to a corresponding algorithm.
[0156] Optionally, the communication device may receive one or more first broadcast data from the access network device and determine a first value for each first broadcast data.
[0157] S630, if the first value matches at least one value in the first information, the first broadcast data is determined to be valid.
[0158] If a value matching the first value exists in the first information, it indicates that the first broadcast data received by the communication device was generated by the core network and has not been tampered with or replaced by the access network equipment; that is, the first broadcast data is legitimate. Conversely, if no value matching the first value exists in the first information, it indicates that the first broadcast data received by the communication device was not generated by the core network; that is, the first broadcast data is illegitimate.
[0159] Optionally, if the communication device determines that the first broadcast data is valid, the communication device can use the first broadcast data normally; otherwise, the communication device can discard the first broadcast data.
[0160] For example, the value in the first information that matches the first value can be a value that is equal to the first value.
[0161] Alternatively, the value in the first piece of information that matches the first value can also be a value that has a specific relationship with the first value. For example, the value in the first piece of information that matches the first value can be calculated from the first value using a certain function, such as the sine function. Or, the value in the first piece of information that matches the first value can be a value in the same sequence as the first value, such as the Fibonacci sequence.
[0162] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values. The broadcast data types corresponding to different values may be the same or different.
[0163] For example, the first information may include one or more values and the broadcast data type corresponding to each value. The first information may be a table including one or more values and the broadcast data type corresponding to each value (hereinafter referred to as the first table for ease of description). For example, as shown in Table 1, the first table may list the values corresponding to broadcast data and the type of broadcast data corresponding to each value. As shown in Table 2, the first table may also list the types of broadcast data and the values corresponding to each type.
[0164] Table 1, Example 1 (First Table)
[0165] Table 2, Example 2 (First Table)
[0166] When the first information includes the type of broadcast data corresponding to each of one or more values, step S630, determining the validity of the first broadcast data when the first value matches at least one value in the first information, may include: determining the validity of the first broadcast data when the first value matches at least one value in the first information corresponding to the type of the first broadcast data. After receiving the first broadcast data, the communication device can obtain the type of the first broadcast data. For example, the first broadcast data may include type information, so the communication device can obtain the type of the received broadcast data based on the type information. When the first information includes one or more values and the broadcast data type corresponding to each value, if there is a value in the first information that matches the first value, and that value is one of the values corresponding to the type of the first broadcast data, then the communication device can determine that the first broadcast data is valid.
[0167] When the first information includes the type of broadcast data corresponding to each of one or more values, the communication method 600 may further include: determining from the first information the value corresponding to the type of the first broadcast data; and determining whether there is a value matching the first value among the values corresponding to the type of the first broadcast data. In other words, the communication device can search for a value corresponding to the type of the first broadcast data in the first information, and further search for a value matching the first value among the values corresponding to the type, thereby narrowing the search range for the first value and improving search efficiency.
[0168] Taking the first information as shown in Table 1 or Table 2 as an example, when the type of the first broadcast data received by the communication device is type 2, the communication device can determine the corresponding values for type 2, including value 2 and value 8, through Table 1 or Table 2. The communication device only needs to search for a value in value 2 and value 8 that matches the first value determined based on the first broadcast data. If the first value matches value 2 or value 8, the first broadcast data is valid; if the first value does not match either value 2 or value 8, the first broadcast data is invalid.
[0169] In some possible implementations, the first information may also include region information corresponding to each of the one or more values. Optionally, the region information can be used to indicate the region (also called the "applicable region") where each of the one or more values is available, such as a city, region, etc. That is, each value is only available within the region indicated by the corresponding region information. The regions indicated by the region information corresponding to different values may be the same or different. Optionally, the region information corresponding to each value may indicate one or more available regions.
[0170] For example, the first information may include one or more values and the region information corresponding to each value. The first information may be a table including one or more values and the region information corresponding to each value (hereinafter referred to as the second table for ease of description). For example, as shown in Table 3, the second table may list the values corresponding to the broadcast data, and the region information corresponding to each value. As shown in Table 4, the second table may also list multiple regions and the values corresponding to each region.
[0171] Table 3, Example 1 (Second Table)
[0172] Table 4, Example 2 (Second Table)
[0173] When the first information includes area information corresponding to each of one or more values, step S630, in which the first value matches at least one value in the first information, determines that the first broadcast data is valid. This may include: determining that the first broadcast data is valid when the first value matches a second value in the first information, and the area indicated by the area information corresponding to the second value includes the location of the communication device.
[0174] In other words, once the communication device finds a value that matches the first value in the first information (i.e., the second value, which may be one or more), it can further determine whether the location of the communication device is within the area where the second value applies based on the area information of the second value.
[0175] In the case of a single second value, if the communication device is located within the area where the second value applies, then the second value is valid at the location of the communication device. In this case, the communication device can determine that the first broadcast data is valid based on the second value. In the case of multiple second values, if the communication device is located within the area where any of the second values applies, then the communication device can determine that the first broadcast data is valid based on that second value.
[0176] Conversely, in the case of a single second value, if the location of the communication device is outside the area where the second value applies, then the second value is unavailable at the location of the communication device. In this case, the communication device cannot determine the validity of the first broadcast data based on the second value. If the communication device cannot determine the validity of the first broadcast data, it can discard the first broadcast data. In the case of multiple second values, if the areas where all second values apply do not include the location of the communication device, then the communication device cannot determine the validity of the first broadcast data, and it can discard the first broadcast data.
[0177] Taking the first information as an example, which includes the table shown in Table 3 or Table 4, when the communication device finds a value matching the first value in Table 3 or Table 4, the value is value 3 and the corresponding area information is area information 3. If the location of the communication device is included in the area indicated by area information 3, the communication device can determine that the first broadcast data is valid; otherwise, the communication device cannot determine that the first broadcast data is valid.
[0178] Alternatively, the communication device can search for the indicated area, including the location of the communication device, in the first information. After finding it, it can further determine whether there is a second value among the values corresponding to the area information, thereby narrowing the search range for the second value and improving search efficiency.
[0179] If a second value exists among the values corresponding to the area information, the communication device can determine that the first broadcast data is valid based on the second value.
[0180] Conversely, if the second value is not present in the value corresponding to the information in that area, the communication device can determine that the first broadcast data is illegal.
[0181] Taking the first information as an example, if the communication device finds the area information of the indicated area, including the location of the communication device, as area information 2 in Table 3 or Table 4, and the corresponding value of area information 2 includes value 2 and value 8, then the communication device only needs to find the second value in value 2 and value 8. If the second value is one of value 2 and value 8, then the first broadcast data is valid; otherwise, the first broadcast data is invalid.
[0182] Based on the area information, the communication device can further determine whether the value matching the first value in the first information is available at the current location, which increases the verification of the available area of the value in the first information and helps to further ensure the legality of the first broadcast data.
[0183] In some possible implementations, the first information may also include the validity period for each of the one or more values. Optionally, the validity period can be used to indicate the effective time of each value, that is, each value is valid within its corresponding validity period.
[0184] Optionally, the validity period for each value can be indicated in the form of Coordinated Universal Time (UTC), indicating that each value is valid before the corresponding UTC. For example, a value's validity period of October 31, 2020, means that the value is valid before October 31, 2020. Alternatively, the validity period for each value can also be indicated in the form of UTC and a time period, indicating that each value is valid within the corresponding time period from the corresponding UTC. For example, a value's validity period of October 31, 2020 + 24 days means that the value is valid for 24 days from October 31, 2020. Different values may have the same or different validity periods.
[0185] For example, the first information may include one or more values and the validity period corresponding to each value. The first information may be a table including one or more values and the validity period corresponding to each value (hereinafter referred to as the third table for ease of description). For example, as shown in Table 5, the third table may list the values corresponding to the broadcast data and the validity period corresponding to each value. As shown in Table 6, the third table may also list multiple validity periods and the values corresponding to each validity period.
[0186] Table 5, Third Table Example 1
[0187] Table 6, Third Table Example 2
[0188] In step S630, determining the validity of the first broadcast data when the first value matches at least one value in the first information may include: determining the validity of the first broadcast data when the first value matches a second value in the first information and the second value is within the validity period.
[0189] In other words, once the communication device finds a value that matches the first value (i.e., the second value) in the first information, it can further determine whether the second value is within its validity period.
[0190] If the second value is within its validity period, it indicates that the second value is valid. In this case, the communication device can determine that the first broadcast data is legitimate based on the second value.
[0191] Conversely, if the second value is not within its validity period, it indicates that the second value is invalid. In this case, the communication device cannot determine whether the first broadcast data is valid based on the second value. If the communication device cannot determine whether the first broadcast data is valid, it can discard the first broadcast data.
[0192] Taking the first information as an example, which includes the table shown in Table 5 or Table 6, when the communication device finds a value of 3 that matches the first value in Table 5 or Table 6, and the validity period corresponding to value 3 is validity period 3, if the communication device determines that value 3 is within the validity period based on validity period 3, then the communication device can determine that the first broadcast data is valid; otherwise, the communication device cannot determine that the first broadcast data is valid.
[0193] Alternatively, the communication device can search for a valid value in the first information. After finding it, it can further determine whether a second value exists among the valid values, thereby narrowing down the search range for the second value and improving search efficiency.
[0194] Taking the first information as an example, which includes the table shown in Table 5 or Table 6, when the communication device finds a valid value in Table 5 or Table 6, including value 1 and value 3. If the first value matches one of value 1 and value 3 (i.e., the second value is value 1 or value 3), the communication device can determine that the first broadcast data is valid; otherwise, the communication device cannot determine that the first broadcast data is valid.
[0195] Based on the validity period, the communication device can further determine whether the value matching the first value in the first information is valid, which increases the verification of the validity of the value in the first information and helps to further ensure the legality of the first broadcast data.
[0196] It is worth noting that multiple pieces of information, including the type of broadcast data, regional information, and validity period corresponding to each of the above values, can be simultaneously included in the first information. For example, the first information may include one or more values, the type of broadcast data corresponding to each value, and the regional information corresponding to each value. Alternatively, the first information may include one or more values, the regional information corresponding to each value, and the validity period corresponding to each value. Yet another example is that the first information may include one or more values, the type of broadcast data corresponding to each value, the regional information corresponding to each value, and the validity period corresponding to each value.
[0197] In some possible implementations, receiving the first information in step S610 may include receiving a registration acceptance message. The registration acceptance message may include the first information and can be used to indicate acceptance of the communication device's registration request. That is, the communication device can receive the first information by receiving the registration acceptance message. The registration acceptance message can be triggered by the communication device's registration request during the registration process. Optionally, the registration acceptance message can be sent from the core network to the access network device and forwarded to the communication device by the access network device. Based on receiving the first information through the registration acceptance message, the communication device can obtain the first information during registration. When broadcast data is received in subsequent processes, the legitimacy of the broadcast data can be directly verified based on the first information.
[0198] Alternatively, in step S610, receiving the first information may include receiving a data packet from a user plane network element, whereby the data packet may include the first information. That is, the communication device can receive the first information by receiving a data packet from the user plane network element. Optionally, the data packet may be sent by the user plane network element to the access network device, and then forwarded to the communication device by the access network device. The format of the data packet is not limited. By receiving the first information based on the data packet from the user plane network element, the communication device can directly obtain the first information from the core network device without the need for forwarding by the access network device.
[0199] Alternatively, in step S610, receiving the first information may include receiving a session modification message or a session establishment message, whereby the session modification message or session establishment message may include the first information. That is, the communication device can receive the first information by receiving the session modification message or session establishment message. Optionally, the session establishment message may be a message used to establish a PDU session between the communication device and the network device. For example, the session establishment message may be a PDU session establishment accept message sent by the access network device to the communication device during the PDU session establishment process. Optionally, the session establishment message may be triggered by a session establishment request message from the communication device, such as a PDU session establishment request message. Optionally, the session modification message may be used to modify session parameters between the communication device and the network device. For example, the session modification message may be a PDU session modification command message sent by a core network element to the communication device. Based on receiving the first information via the session modification message or session establishment message, the communication device can promptly obtain the update of the first information when its content is updated.
[0200] In some possible implementations, receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data in step S620 may include: receiving multiple segments of the first broadcast data from the access network device respectively; and determining the first value based on the complete first broadcast data composed of multiple segments. That is, if the first broadcast data sent to the communication device is sent in segments, the communication device can determine the first value based on the complete first broadcast data composed of multiple segments. For example, the communication device can assemble multiple segments into a whole in a corresponding order, and then determine the first value based on the assembled whole. Based on this, the process of generating the first value can be simplified. It should be noted that a segment of the first broadcast data may refer to a portion of the first broadcast data obtained by the communication device each time it receives a position system information block (posSIB), and different segments of the first broadcast data are received through different posSIBs.
[0201] In some possible implementations, receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data in step S620 may include: receiving multiple segments of the first broadcast data from the access network device; and determining a first value for each segment based on each of the multiple segments. That is, if the first broadcast data sent to the communication device is sent in segments, the communication device can also determine the first value for each segment separately. It should be noted that the first values for different segments may be the same or different.
[0202] In this implementation, step S630, determining the validity of the first broadcast data when the first value matches at least one value in the first information, may include: determining the validity of the first broadcast data when the first value of each segment matches at least one value in the first information. If the communication device can find a value in the first information that matches the first value of each segment, each segment of the first broadcast data can be determined to be valid, and therefore the first broadcast data is also valid. If the communication device cannot find a value in the first information that matches the first value of one of the segments, that segment can be determined to be invalid, and therefore the first broadcast data is also invalid. Based on this, the communication device can determine the first value more flexibly.
[0203] In some possible implementations, the communication method 600 may further include: determining, based on indication information, either a first value determined from complete first broadcast data composed of multiple segments, or a first value determined from each of the multiple segments. That is, if the first broadcast data sent to the communication device is sent in segments, the communication device can determine, based on the indication information, how to determine the first value from the multiple segments.
[0204] Optionally, the indication information can be used to indicate: determining a first value based on first broadcast data composed of multiple segments, or determining a first value for each segment based on each of the multiple segments. For example, the indication information can be represented by a single bit: if the bit value is 0, it indicates that the first value is determined based on the complete first broadcast data composed of multiple segments; if the bit value is 1, it indicates that the first value for each segment is determined based on each of the multiple segments.
[0205] Optionally, the indication information can be provided separately for each first broadcast data, so the communication device can determine how to determine the first value of that first broadcast data based on the indication information for each first broadcast data. Alternatively, the indication information can also be provided separately for each type of first broadcast data, so the communication device can determine how to determine the first value for each type of first broadcast data based on the indication information. Based on the indication information, the communication device can quickly determine how to determine the first value without further attempts, which helps to save system resources of the communication device.
[0206] Optionally, the communication device can also determine the first value itself: based on the complete first broadcast data composed of multiple segments, or based on each segment of the multiple segments, determining the first value for each segment. That is, if the first broadcast data sent to the communication device is sent in segments, the communication device can also attempt to determine the first value itself. For example, the communication device can first attempt to determine the first value based on the complete first broadcast data composed of multiple segments; if the first value exists in the first information, the communication device can determine that the first broadcast data is valid; if the first value does not exist in the first information, the communication device can then attempt to determine the first value for each segment based on each segment of the multiple segments and search for it in the first information; if a matching value is found for each segment's first value, the communication device can determine that the first broadcast data is valid; otherwise, the communication device can determine that the first broadcast data is invalid.
[0207] In some possible implementations, receiving the first broadcast data from the access network device in step S620 may include receiving the first broadcast data and indication information from the access network device. That is, the indication information may be sent to the communication device along with the first broadcast data. Therefore, when the communication device receives the first broadcast data, it can directly determine how to determine the first value of the broadcast data.
[0208] Alternatively, in step S620, before receiving the first broadcast data from the access network device, the communication method 600 may further include receiving indication information. That is, the indication information may also be sent to the communication device before the first broadcast data. In this way, after receiving the first broadcast data, the communication device can determine how to determine the first value by combining the indication information received before the first broadcast data.
[0209] Optionally, the first information may also include indication information, that is, the indication information may be included in the first information and sent to the communication device. Optionally, the indication information may be generated by the core network equipment.
[0210] In some possible implementations, matching the first value with at least one value in the first information includes: the first value being equal to at least one value in the first information. For example, one or more values in the first information and the first value can be values generated according to the same algorithm. That is, the algorithm that generates one or more values in the first information is the same as the algorithm that generates the first value. Therefore, if the first broadcast data is generated by the core network, the value corresponding to the first broadcast data generated by the core network according to the algorithm should be equal to the first value generated by the communication device according to the algorithm; that is, there exists a value in the first information that is equal to the first value. Optionally, the same algorithm can be pre-configured or protocol-defined. Optionally, the core network device can also indicate the algorithm to the communication device; for example, the core network can include information indicating the algorithm in the first information. Based on the same algorithm, the value in the first information that is equal to the first value is the value that matches the first value, which helps improve the efficiency of the communication device in determining the value that matches the first value.
[0211] In some possible implementations, the same algorithm used to generate one or more values in the first message and the first value can be a hash algorithm or an integrity protection algorithm. If the same algorithm is a hash algorithm, then one or more values and the first value are hash values; if the same algorithm is an integrity protection algorithm, then one or more values and the first value are values generated by the integrity protection algorithm. Using a hash algorithm or an integrity protection algorithm helps the communication device to conveniently generate the first value. Optionally, the hash algorithm can be a message-digest algorithm version 5 (MD5) or a secure hash algorithm (SHA)-X, etc. Optionally, the integrity protection algorithm can be an algorithm used in NAS signaling that can guarantee the uniqueness of the value generated based on the broadcast data.
[0212] In some possible implementations, the first broadcast data can be broadcast auxiliary data, which can be used for positioning by the communication device. Therefore, the communication device can determine the validity of the broadcast auxiliary data based on the first information and the first value of the broadcast auxiliary data, ensuring the normal operation of the positioning process.
[0213] Figure 7 illustrates a communication method 700 provided in an embodiment of this application. The communication method 700 can be executed by a core network device and a chip in the core network device. Exemplarily, the communication method 700 can be executed by a network element of the core network device, such as an LMF (Local Multi-Function). It should be noted that the method 700 can also be executed by hardware or software within the core network device.
[0214] For ease of understanding, the following description will take the first core network element as the execution subject of the communication method 700 as an example.
[0215] As shown in Figure 7, method 700 may include steps S710-S720.
[0216] S710, Obtain first information, which may include one or more values corresponding to the broadcast data generated by the core network. Optionally, the first core network element can generate the first information itself, that is, it can generate one or more values corresponding to the broadcast data. Alternatively, the first core network element can also obtain the first information from other core network elements. Optionally, the broadcast data can be generated by the first core network element. Alternatively, the broadcast data can also be generated by other core network elements. It should be noted that the broadcast data and the corresponding values can be generated by the same core network element or by different core network elements.
[0217] S720, a first message is sent to the communication device. This first message can be used to confirm whether the broadcast data received by the communication device is legitimate. In other words, the first message can be used by the communication device to verify the legitimacy of the received broadcast data. Optionally, the first core network element can directly send the first message to the communication device. Alternatively, the first core network element can forward the first message to the communication device through access network equipment and / or other core network elements.
[0218] In the above scheme, the core network equipment can send first information to the communication device, including one or more values corresponding to the broadcast data generated by the core network. Based on the first information, the communication device can confirm whether the broadcast data received from the access network equipment is legitimate broadcast data generated by the core network, thereby ensuring the normal operation of the communication device.
[0219] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values. Based on the type of broadcast data corresponding to each value, the communication device can quickly find the value corresponding to each type of broadcast data from the first information.
[0220] In some possible implementations, the first information may also include region information corresponding to each of one or more values, which can be used to indicate the region to which the value corresponding to the region information applies.
[0221] Based on the area information corresponding to each value, the communication device can determine whether it is within the area where the value in the first information applies.
[0222] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values.
[0223] Based on the validity period corresponding to each value, the communication device can determine whether the value in the first information is valid.
[0224] In some possible implementations, sending the first information to the communication device in step S720 may include sending a registration acceptance message to the communication device. The registration acceptance message may include the first information and can be used to indicate acceptance of the communication device's registration request. Optionally, the first core network element may forward the registration acceptance message to the communication device via an access network device.
[0225] Based on the registration and acceptance message, the first core network element sends the first information to the communication device. When registering with the communication device, the first core network element can send the first information to the communication device, which facilitates the communication device to verify the legality of the broadcast data received in subsequent processes.
[0226] Alternatively, in step S720, sending the first information to the communication device may include sending a data packet to the communication device, the data packet including the first information. Optionally, the first core network element may directly send the data packet to the communication device. Alternatively, the first core network element may also send the data packet to the communication device through other core network elements.
[0227] The first information is sent to the communication device based on the data packets of the user plane network element. The first core network element can send the first information directly to the communication device without the need for forwarding by the access network equipment.
[0228] Alternatively, in step S720, sending the first information to the communication device may include sending a session modification message or a session establishment message to the communication device, wherein the session modification message or session establishment message may include the first information. Optionally, the first core network element may directly send the session modification message or session establishment message to the communication device. Alternatively, the first core network element may also send the session modification message or session establishment message to the communication device through other core network elements or access network equipment.
[0229] The first core network element sends the first information to the communication device based on the session modification message or session establishment message. When the content of the first information is updated, the first core network element can promptly send the updated first information to the communication device.
[0230] In some possible implementations, obtaining the first information in step S710 may include: obtaining broadcast data and determining the first information based on all or part of the broadcast data. That is, the first core network element can independently determine one or more values in the first information based on all or part of the broadcast data.
[0231] Based on the acquired broadcast data, the first core network element can determine the first information on its own without needing to obtain the first information from other core network elements.
[0232] In some possible implementations, broadcast data may include multiple segments. Therefore, determining the first information based on all or part of the broadcast data may include: determining one or more values corresponding to the broadcast data based on the complete broadcast data composed of multiple segments. That is, if the broadcast data includes multiple segments, the value corresponding to the broadcast data can be generated based on the complete broadcast data composed of multiple segments.
[0233] Based on this, the process of generating values corresponding to broadcast data can be simplified.
[0234] In some possible implementations, the broadcast data may include multiple segments. Therefore, determining the first information based on all or part of the broadcast data may include: determining a value corresponding to each segment based on each of the multiple segments. One or more values corresponding to the broadcast data may include the value corresponding to each segment. That is, if the broadcast data includes multiple segments, a value corresponding to each segment can be generated based on each of the multiple segments, and the first information may include the value corresponding to each segment.
[0235] Based on this, the first core network element can generate the values corresponding to the broadcast data more flexibly.
[0236] In some possible implementations, the communication method 700 may further include: sending indication information to the communication device, the indication information being used to indicate whether the broadcast data is valid based on the complete broadcast data, or whether the broadcast data is valid based on each of multiple segments of the broadcast data. Optionally, the first core network element may forward the indication information to the communication device via an access network device.
[0237] Based on the instruction information, it helps the communication device determine how to determine whether the broadcast data is legitimate.
[0238] In some possible implementations, one or more values corresponding to the broadcast data can be hash values or values generated according to an integrity protection algorithm.
[0239] Values generated based on hash values or integrity protection algorithms help the first core network elements to easily generate values corresponding to broadcast data.
[0240] In some possible implementations, the broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device. Based on this, the communication device can determine the legitimacy of the broadcast auxiliary data based on the initial information, ensuring the normal operation of the communication device's positioning function.
[0241] It should be understood that the specific description of Method 700 is the same as that of Method 600, and will not be repeated here.
[0242] The following examples, using Figures 8-12, illustrate methods 600 and 700. Figures 8-12 show examples where the communication device is a terminal device and the first core network element is an LMF, illustrating the specific interaction process between the core network device, the access network device, and the terminal device.
[0243] It should be noted that in the following example, the first broadcast data is broadcast auxiliary data used for communication device positioning. One or more values corresponding to the broadcast auxiliary data are hash values generated based on the broadcast auxiliary data. The first information is a list composed of the hash values of the broadcast auxiliary data (hereinafter referred to as the hash list). The method shown in Figures 8-12 can be applied to the location service architecture of the 5G core network shown in Figures 2 and 3.
[0244] Example 1
[0245] The method shown in Figure 8 may include steps 1-11.
[0246] Steps 1-2: The LMF invokes the Nlmf_Broadcast_CipheringKeyData Notify service to send the AMF key information for each of one or more encryption keys, including the encryption key value, encryption key identifier, validity period, a set of available zones, and a set of applicable broadcast auxiliary data (Figure 8 only shows the encryption keys, which are referred to simply as keys). The LMF can also send a hash list consisting of one or more hash values to the AMF via Nlmf_Broadcast_CipheringKeyData Notify, where the hash values are generated based on the broadcast auxiliary data. For each hash value, the hash list includes the hash value, validity period, and a set of available zones. The AMF saves the received key information and hash list.
[0247] Steps 3-5: Refer to the corresponding descriptions in Figure 4 above.
[0248] Steps 6-7: The AMF returns a registration acceptance message to the RAN node. If the terminal device requested an encryption key for broadcast auxiliary data, the AMF may include one or more encryption keys and one or more hash lists applicable to the terminal device's current location in the registration acceptance message. The RAN node may then forward the registration acceptance message to the terminal device.
[0249] Steps 8-10: Refer to the corresponding description in Figure 4 above.
[0250] Step 11: After receiving the broadcast auxiliary data from the RAN, the terminal device can perform a hash calculation on the broadcast auxiliary data to obtain a hash value (i.e., the first value). The terminal device can use this hash value to search in the hash list obtained in Step 7. If a matching hash value (i.e., the second value) is found, and the terminal device is currently located within the available area of the second value, and the second value is valid, then the terminal device can determine that the received broadcast auxiliary data is valid and can use it; otherwise, the terminal device cannot determine that the broadcast auxiliary data is valid and can discard it.
[0251] Example 2
[0252] In the method shown in Example 1, if the broadcast auxiliary data is broadcast to the terminal device in segments, one or more hash values corresponding to the broadcast auxiliary data can be generated based on the complete data composed of multiple segments, as shown in Figure 9. That is, LMF can generate a corresponding hash value based on each complete broadcast auxiliary data and send it to the terminal device through a hash list. After receiving multiple segments of each broadcast auxiliary data, the terminal device can also generate the hash value of the broadcast auxiliary data based on the complete data composed of multiple segments, and then look up the same hash value in the hash list.
[0253] The method shown in Figure 9 may include steps 1-13.
[0254] Step 1: LMF performs a hash calculation on each broadcast auxiliary data. If a broadcast auxiliary data consists of multiple segments, the hash calculation is performed on the complete broadcast auxiliary data composed of multiple segments to obtain the hash value of the broadcast auxiliary data, and the hash value of each broadcast auxiliary data is recorded in the hash list.
[0255] Steps 2-11: Refer to steps 1-10 in the method shown in Figure 8.
[0256] Step 12: After the terminal device receives a complete set of broadcast auxiliary data (unsegmented broadcast auxiliary data is received only once as shown in step 11 of Figure 9; segmented broadcast auxiliary data needs to be received multiple times until all segments from the beginning segment to the end segment are received), the terminal device can perform a hash calculation on the complete broadcast auxiliary data to obtain the hash value of the broadcast auxiliary data.
[0257] Step 13: If the terminal device can find a hash value that is the same as the calculated hash value in the hash list carried in the registration acceptance message, and the terminal device is located within the available area of the found hash value, and the found hash value is within its validity period, then the terminal device can determine that the broadcast auxiliary data is valid and can use the broadcast auxiliary data; otherwise, the terminal device cannot determine that the broadcast auxiliary data is valid and can discard the broadcast auxiliary data.
[0258] Example 3
[0259] In the method shown in Example 1, if the broadcast auxiliary data is broadcast to the terminal device in segments, the one or more hash values corresponding to the broadcast auxiliary data can also be generated based on each of the multiple segments of the broadcast auxiliary data, as shown in the method in Figure 10. That is, LMF can generate a corresponding hash value based on each segment of the broadcast auxiliary data and send it to the terminal device through a hash list. After receiving multiple segments of the broadcast auxiliary data, the terminal device can also generate a hash value based on each of the multiple segments and then search for the same hash value in the hash list.
[0260] The method shown in Figure 10 may include steps 1-13.
[0261] Step 1: LMF performs hash calculations on broadcast auxiliary data. If a broadcast auxiliary data consists of multiple segments, LMF performs hash calculations on each segment separately and records the hash value of each segment of broadcast auxiliary data in the hash list.
[0262] Steps 2-11: Refer to steps 1-10 in the method shown in Figure 8.
[0263] Step 12: After receiving each segment of broadcast auxiliary data (a segment of broadcast auxiliary data may be a complete segment of broadcast auxiliary data, i.e., unsegmented broadcast auxiliary data; a segment of broadcast auxiliary data may also be a segment of segmented broadcast auxiliary data), the terminal device can perform a hash calculation on the segment of broadcast auxiliary data to obtain the hash value of the segment of broadcast auxiliary data.
[0264] Step 13: For each received segment of broadcast auxiliary data, if the terminal device can find the same hash value in the hash list carried in the registration result using the hash value calculated in Step 12, and the terminal device is located within the available area of the found hash value, and the found hash value is within its validity period, then the terminal device can determine that the segment of broadcast auxiliary data is valid and can use the segment of broadcast auxiliary data; otherwise, the terminal device cannot determine that the segment of broadcast auxiliary data is valid and can discard the segment of broadcast auxiliary data.
[0265] Example 4
[0266] In the method shown in Example 1, the hash list can also be sent to the terminal device via data packets, as shown in the method in Figure 11.
[0267] As shown in Figure 11, the LMF can send the hash list to the DN via data packets, and then to the terminal device through the UPF and RAN nodes. After receiving the hash list, the terminal device can verify the hash value of the received broadcast auxiliary data, the details of which will not be elaborated further.
[0268] Example 5
[0269] In the method shown in Example 1, the hash list can also be sent to the terminal device via a session modification message, such as the PDU session modification command message shown in the method of Figure 12.
[0270] The method shown in Figure 12 may include steps 1-11.
[0271] Step 1: LMF performs hash calculations on the broadcast auxiliary data to obtain a hash list composed of the hash values of the broadcast auxiliary data.
[0272] Steps 2-3: Refer to steps 1-2 in the method shown in Figure 8.
[0273] Step 4: AMF sends the hash list to SMF via the N11 interface.
[0274] Steps 5-6: The SMF sends the hash list to the terminal device via a PDU session modification command message. The terminal device replies to the SMF with a PDU session modification complete message to indicate that the modification is complete.
[0275] Steps 7-11: Refer to steps 9-13 in the method shown in Figure 10 and steps 9-13 in the method shown in Figure 9.
[0276] The communication method provided by the embodiments of this application has been described in detail above with reference to Figures 6 to 12. The communication device provided by the embodiments of this application will be described in detail below with reference to Figures 13 to 15.
[0277] Figure 13 shows a schematic block diagram of a communication device 1300 provided in an embodiment of this application. This device 1300 can be used to execute the method 600 described above. The device 1300 can correspond to the communication device described in method 600, or it can correspond to a chip or component of the communication device. The device 1300 may include at least one unit or module for executing the method as described in method 600 or any possible implementation thereof. Furthermore, each module or unit in the device 1300 can be used to execute the various actions or processes performed by the communication device in method 600.
[0278] As shown in Figure 13, the communication device 1300 may include a transceiver unit 1310 and a processing unit 1320.
[0279] The transceiver unit 1310 can be used to receive first information and receive first broadcast data from the access network device. The first information may include one or more values corresponding to the broadcast data generated by the core network.
[0280] The processing unit 1320 can be used to determine a first value based on part or all of the data of the first broadcast data, and to determine that the first broadcast data is valid if the first value matches at least one value in the first information.
[0281] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values. Therefore, the processing unit 1320 may be used to determine that the first broadcast data is valid if the first value matches at least one value in the first information that corresponds to the type of the first broadcast data.
[0282] In some possible implementations, the processing unit 1320 may also be used to: determine from the first information a value corresponding to the type of the first broadcast data; and determine whether there is a value among the values corresponding to the type of the first broadcast data that matches the first value.
[0283] In some possible implementations, the first information may further include region information corresponding to each of one or more values, and the region information may be used to indicate the region to which the value corresponding to the region information applies; therefore, the processing unit 1320 may be used to determine that the first broadcast data is valid when the first value matches the second value in the first information and the region indicated by the region information corresponding to the second value includes the location of the communication device.
[0284] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values; therefore, the processing unit 1320 may be used to determine that the first broadcast data is valid if the first value matches the second value in the first information and the second value is within the validity period.
[0285] In some possible implementations, the transceiver unit 1310 may be used to: receive a registration acceptance message, which may include first information and may be used to indicate acceptance of a registration request from a communication device; or, receive a data packet from a user plane network element, which may include the first information; or, receive a session modification message or a session establishment message, which may include the first information.
[0286] In some possible implementations, transceiver unit 1310 may be used to: receive multiple segments of the first broadcast data from the access network device respectively; therefore, processing unit 1320 may be used to: determine a first value based on the complete first broadcast data composed of multiple segments; and determine that the first broadcast data is valid if the first value matches at least one value in the first information.
[0287] In some possible implementations, transceiver unit 1310 may be used to: receive multiple segments of the first broadcast data from the access network device respectively; therefore, processing unit 1320 may be used to determine a first value for each segment based on each of the multiple segments; and determine that the first broadcast data is valid if the first value of each segment matches at least one value in the first information.
[0288] In some possible implementations, the processing unit 1320 may also be used to: determine, based on the instruction information, a first value based on the complete first broadcast data composed of multiple segments, or to determine the first value of each segment based on each of the multiple segments.
[0289] In some possible implementations, the transceiver unit 1310 may be used to: receive first broadcast data and the aforementioned indication information from the access network device; or, receive the aforementioned indication information before receiving the first broadcast data from the access network device.
[0290] In some possible implementations, one or more values in the first information and the first value can be values generated according to the same algorithm.
[0291] In some possible implementations, the algorithm can be a hash algorithm or an integrity protection algorithm.
[0292] In some possible implementations, the first broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device.
[0293] It should be understood that the specific process of each unit in device 1300 performing the above-mentioned corresponding steps is described in the previous method 600, and will not be repeated here.
[0294] Figure 14 shows a schematic block diagram of another communication device 1400 provided in an embodiment of this application. This device 1400 can be used to execute the method 700 described above. The device 1400 can correspond to the communication device described in method 700, or it can correspond to a chip or component of the communication device. The device 1400 may include at least one unit or module for executing the method as described in method 700 or any possible implementation thereof. Furthermore, each module or unit in the device 1400 can be used to execute the various actions or processes performed by the communication device in method 700.
[0295] As shown in Figure 14, the communication device 1400 may include a processing unit 1410 and a transceiver unit 1420.
[0296] The processing unit 1410 can be used to acquire first information, which may include one or more values corresponding to broadcast data generated by the core network device.
[0297] The transceiver unit 1420 can be used to send first information to a communication device.
[0298] In some possible implementations, the first information may also include the type of broadcast data corresponding to each of one or more values.
[0299] In some possible implementations, the first information may also include region information corresponding to each of one or more values, which can be used to indicate the region to which the value corresponding to the region information applies.
[0300] In some possible implementations, the first information may also include the validity period corresponding to each of one or more values.
[0301] In some possible implementations, the transceiver unit 1420 may be used to: send a registration acceptance message to the communication device, the registration acceptance message may include first information, and the registration acceptance message may be used to indicate acceptance of the registration request of the communication device; or, send a data packet to the communication device, the data packet may include the first information; or, send a session modification message or a session establishment message to the communication device, the session modification message or the session establishment message may include the first information.
[0302] In some possible implementations, the processing unit 1410 can be used to acquire broadcast data and determine first information based on all or part of the broadcast data.
[0303] In some possible implementations, the broadcast data may include multiple segments, so the processing unit 1410 can be used to determine one or more values corresponding to the broadcast data based on the complete broadcast data composed of multiple segments.
[0304] In some possible implementations, the broadcast data may include multiple segments, so the processing unit 1410 may be used to determine the value corresponding to each segment based on each of the multiple segments, and one or more values corresponding to the broadcast data may include the value corresponding to each segment.
[0305] In some possible implementations, the transceiver unit 1420 may also be used to send instruction information to the communication device. The instruction information may be used to instruct the processing unit 1410 to determine whether the broadcast data is valid based on the complete broadcast data, or to determine whether the broadcast data is valid based on each of the multiple segments of the broadcast data.
[0306] In some possible implementations, one or more values corresponding to the broadcast data can be hash values or values generated according to an integrity protection algorithm.
[0307] In some possible implementations, the broadcast data can be broadcast auxiliary data, which can be used for the positioning of the communication device.
[0308] It should be understood that the specific process of each unit in device 1400 performing the above-mentioned corresponding steps is described in the previous method 700, and will not be repeated here.
[0309] It should be understood that the "units" in communication devices 1300 and 1400 can be implemented in hardware, software, or by hardware executing corresponding software. For example, a "unit" can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a dedicated processor, or a group processor) and memory for executing one or more software or firmware programs, combined logic circuitry, and / or other suitable components supporting the described functions. Furthermore, a transceiver unit can be replaced by a transmitter or receiver, and other units such as processing units can be replaced by processors or processing circuits, each performing the transceiver operations and related processing operations in the respective method embodiments.
[0310] Figure 15 shows a schematic block diagram of another communication device 1500 provided in an embodiment of this application. This device 1500 can be a terminal device or a core network device, or it can be a chip, chip system, or processor that supports the terminal device or core network device in implementing the above methods. This device can be used to implement the methods described in the above method embodiments; for details, please refer to the descriptions in the above method embodiments.
[0311] The device 1500 may include at least one processor 1510, which may also be referred to as a processing unit, and can implement certain control functions. The processor 1510 may be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control communication devices (such as base stations, baseband chips, user chips, DUs or CUs, etc.), execute software programs, and process data from the software programs.
[0312] In an alternative design, the processor 1510 may also store instructions and / or data that can be executed by the processor 1510 to cause the device 1500 to perform the methods described in the above method embodiments. Optionally, the processing unit in the communication device 1500 may be the processor 1510.
[0313] In another alternative design, the device 1500 may include a communication interface 1520 for implementing receiving and transmitting functions. For example, the communication interface 1520 may be a transceiver circuit, interface, interface circuit, or transceiver. The transceiver circuit, interface, interface circuit, or transceiver for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, interface circuit, or transceiver may be used for reading and writing code / data, or it may be used for transmitting or relaying signals. Optionally, the communication unit in the communication device 1500 may be the communication interface 1520.
[0314] Optionally, the device 1500 may include one or more memories 1530, which may store instructions that can be executed on the processor 1510, causing the device 1500 to perform the methods described in the above method embodiments. Optionally, the memory 1530 may also store data. Optionally, the processor 1510 may also store instructions and / or data. The processor 1510 and the memory 1530 may be provided separately or integrated together.
[0315] Those skilled in the art will understand that, for ease of explanation, Figure 15 only shows one memory and processor. In actual terminal devices or access network devices, multiple processors and memories may exist. Memory may also be referred to as storage medium or storage device, etc., and the embodiments of this application do not limit this.
[0316] For example, a processor may include a baseband processor and a central processing unit (CPU). The baseband processor is mainly used to process communication protocols and communication data, while the CPU is mainly used to control the entire terminal device or access network device, execute software programs, and process the data of the software programs. The processor in Figure 15 integrates the functions of a baseband processor and a CPU. Those skilled in the art will understand that the baseband processor and the CPU can also be independent processors interconnected via technologies such as buses. Those skilled in the art will understand that a terminal device or access network device may include multiple baseband processors to adapt to different network standards, and multiple CPUs to enhance its processing capabilities. The various components of the terminal device or access network device can be connected via various buses. The baseband processor can also be described as a baseband processing circuit or a baseband processing chip. The CPU can also be described as a central processing circuit or a central processing chip. The function of processing communication protocols and communication data can be built into the processor or stored in a storage unit as a software program, which is then executed by the processor to implement the baseband processing function.
[0317] It should be understood that, in one possible design, the steps in the method embodiments provided in this application can be implemented by integrated logic circuits in the processor's hardware or by instructions in software form. The steps of the methods disclosed in the embodiments of this application can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are not provided here.
[0318] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0319] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0320] This application also provides a computer-readable storage medium storing program code or instructions that, when executed on a computer, cause the computer to perform the steps or processes of any of the methods described above.
[0321] This application also provides a computer program product, which includes a computer program or instructions that, when run on a computer, cause the computer to perform the steps or processes in any of the above methods.
[0322] This application also provides a communication device, including a processor and an interface for sending and / or receiving signals, causing the processor to perform various steps or processes in any of the above methods.
[0323] This application also provides a communication system, which includes a communication device (such as a terminal device) for performing the method in the first aspect and / or a core network device (such as a first core network element) for performing the method in the second aspect.
[0324] This application also provides a communication system method, including:
[0325] The core network device acquires first information, which includes one or more values corresponding to the broadcast data generated by the core network.
[0326] The core network equipment sends first information to the communication device, which is used to confirm whether the broadcast data received by the communication device is legitimate;
[0327] The communication device receives first information, which may include one or more values corresponding to broadcast data generated by the core network.
[0328] The communication device receives first broadcast data from the access network equipment and determines a first value based on part or all of the data in the first broadcast data;
[0329] The communication device determines that the first broadcast data is valid if the first value matches at least one value in the first information.
[0330] The above-described device and method embodiments are completely corresponding, with corresponding modules or units performing corresponding steps. For example, a communication unit or communication interface performs the receiving or sending steps in the method embodiment, while other steps besides sending and receiving can be performed by a processing unit or processor.
[0331] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
[0332] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable storage media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0333] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0334] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be based on the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0335] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, 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. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, 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.
[0336] 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.
[0337] In addition, 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.
[0338] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. 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. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs, DVDs), or semiconductor media (e.g., solid-state disks, SSDs), etc.
[0339] If 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. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. 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, server, or 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, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0340] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method characterized by comprising: The method is performed by a communication device, and the method includes: Receive first information, the first information including one or more values corresponding to broadcast data generated by the core network; Receive first broadcast data from the access network device, and determine a first value based on part or all of the data in the first broadcast data; If the first value matches at least one value in the first information, the first broadcast data is determined to be valid.
2. The method of claim 1, wherein, The first information also includes the type of broadcast data corresponding to each of the one or more values, and determining the validity of the first broadcast data when the first value matches at least one value in the first information includes: If the first value matches at least one value in the first information that corresponds to the type of the first broadcast data, the first broadcast data is determined to be valid.
3. The method of claim 2, wherein, The method further includes: Determine the value corresponding to the type of the first broadcast data from the first information; Determine whether there exists a value that matches the first value among the values corresponding to the type of the first broadcast data.
4. The method according to any one of claims 1-3, characterized in that, The first information also includes region information corresponding to each of the one or more values, wherein the region information is used to indicate the region to which the value corresponding to the region information applies; Determining the validity of the first broadcast data when the first value matches at least one value in the first information includes: If the first value matches the second value in the first information, and the area indicated by the area information corresponding to the second value includes the location of the communication device, the first broadcast data is determined to be legitimate.
5. The method according to any one of claims 1-4, characterized in that, The first information also includes the validity period corresponding to each of the one or more values; Determining the validity of the first broadcast data when the first value matches at least one value in the first information includes: If the first value matches the second value in the first information, and the second value is within the validity period, the first broadcast data is determined to be valid.
6. The method according to any one of claims 1-5, characterized in that, The receipt of the first information includes: Receive a registration acceptance message, the registration acceptance message including the first information, the registration acceptance message being used to indicate acceptance of the registration request from the communication device; or... Receive a data packet from a user plane network element, the data packet including the first information; or, Receive a session modification message or a session establishment message, wherein the session modification message or the session establishment message includes the first information.
7. The method according to any one of claims 1 to 6, characterized in that, Receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data includes: The access network device receives multiple segments of the first broadcast data respectively; The first value is determined based on the complete first broadcast data composed of the multiple segments.
8. The method according to any one of claims 1-6, characterized in that, Receiving first broadcast data from the access network device and determining a first value based on part or all of the first broadcast data includes: The access network device receives multiple segments of the first broadcast data respectively; The first value of each segment is determined based on each of the plurality of segments; Determining the validity of the first broadcast data when the first value matches at least one value in the first information includes: The first broadcast data is determined to be valid if the first value in each segment matches at least one value in the first information.
9. The method according to claim 7 or 8, characterized in that, The method further includes: The first value is determined based on the instruction information: either the first value is determined based on the complete first broadcast data composed of the plurality of segments, or the first value of each segment is determined based on each of the plurality of segments.
10. The method according to claim 9, characterized in that, Receiving the first broadcast data from the access network device includes: receiving the first broadcast data and the indication information from the access network device; or... Before receiving the first broadcast data from the access network device, the method further includes: receiving the indication information.
11. The method according to any one of claims 1-10, characterized in that, One or more values in the first information and the first value are values generated according to the same algorithm.
12. The method of claim 11, wherein, The algorithm is either a hash algorithm or an integrity protection algorithm.
13. The method according to any one of claims 1-12, characterized in that, The first broadcast data is broadcast auxiliary data, which is used for the positioning of the communication device.
14. A communication method characterized by comprising: The method includes: Obtain first information, which includes one or more values corresponding to broadcast data generated by the core network; The first information is sent to the communication device to confirm whether the broadcast data received by the communication device is legitimate.
15. The method of claim 14, wherein, The first information also includes the type of broadcast data corresponding to each of the one or more values.
16. The method according to claim 14 or 15, characterized in that The first information also includes region information corresponding to each of the one or more values, the region information being used to indicate the region to which the value corresponding to the region information applies.
17. The method according to any one of claims 14-16, characterized by, The first information also includes the validity period corresponding to each of the one or more values.
18. The method according to any one of claims 14-17, characterized by, Sending the first information to the communication device includes: Send a registration acceptance message to the communication device, the registration acceptance message including the first information, the registration acceptance message being used to indicate acceptance of the registration request from the communication device; or... Send a data packet to the communication device, the data packet including the first information; or... Send a session modification message or a session establishment message to the communication device, wherein the session modification message or the session establishment message includes the first information.
19. The method according to any one of claims 14-18, characterized by, The acquisition of the first information includes: The broadcast data is acquired, and the first information is determined based on all or part of the broadcast data.
20. The method of claim 19, wherein, The broadcast data includes multiple segments, and determining the first information based on all or part of the broadcast data includes: One or more values corresponding to the broadcast data are determined based on the complete broadcast data composed of the multiple segments.
21. The method of claim 19, wherein, The broadcast data includes multiple segments, and determining the first information based on all or part of the broadcast data includes: The value corresponding to each segment is determined based on each of the plurality of segments, and one or more values corresponding to the broadcast data include the value corresponding to each segment.
22. The method of claim 20 or 21, wherein, The method further includes: Send indication information to the communication device, the indication information being used to indicate: whether the broadcast data is valid based on the complete broadcast data, or whether the broadcast data is valid based on each of the multiple segments of the broadcast data.
23. The method of any one of claims 14-22, wherein, One or more values corresponding to the broadcast data are hash values or values generated according to an integrity protection algorithm.
24. The method of any one of claims 14-23, wherein, The broadcast data is broadcast auxiliary data, which is used for the positioning of the communication device.
25. A communications device, characterized by It includes at least one unit or module for performing the method as described in any one of claims 1-13.
26. A communications device, characterized by It includes at least one unit or module for performing the method as described in any one of claims 14-24.
27. A communications device, characterized by It includes at least one memory and at least one processor, the at least one memory being used to store a computer program or instructions, which, when executed by the at least one processor, cause the communication device to implement the method as described in any one of claims 1-13 or 14-24.
28. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-13 or 14-24.
29. A computer program product, characterised in that, The computer program product includes a computer program or instructions that, when run on a computer, cause the computer to perform the method as described in any one of claims 1-13 or 14-24.