Communication method and related device

By segmenting the SDUs in the communication network and carrying a segmentation number for each PDU, and independently protecting them, the problem of excessive memory pressure in existing technologies is solved. This achieves improved communication efficiency while ensuring security, and in particular, it significantly reduces node memory usage and avoids node crashes in the StarFlash communication system.

CN120881007APending Publication Date: 2025-10-31HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410551872.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-30
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

In communication networks, existing technologies, while ensuring data transmission security, cannot effectively reduce the memory pressure on nodes, resulting in poor communication efficiency. In particular, when receiving data from multiple nodes, memory consumption is severe, and it may even lead to node crashes.

Method used

By segmenting the SDU from the upper layer, generating multiple SDU segments and carrying a segment number for each PDU, security protection is performed independently, reducing memory usage. Furthermore, the security of each PDU is checked independently at the receiving end, without having to wait for the SDUs to be reassembled for an overall check.

Benefits of technology

While ensuring data transmission security, it reduces node memory pressure, improves communication efficiency, and avoids node crashes. In particular, it significantly improves the efficiency of multi-node communication in the StarFlash communication system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120881007A_ABST
    Figure CN120881007A_ABST
Patent Text Reader

Abstract

A communication method and a related device are applied to the technical field of communication. In the application, the SDU from the upper layer is divided into a plurality of SDU segments, a plurality of PDUs can be generated based on the plurality of SDU segments, and the PDUs and the SDU segments are in one-to-one correspondence. Each PDU in the plurality of PDUs carries one SDU segment and the segment sequence number of the SDU segment, and when security protection is carried out, security protection is carried out on each PDU by using the segment sequence number of the SDU segment carried by each SDU, so that the security protection of each PDU is independently carried out and used parameters are different. On the premise of ensuring the data transmission security, the memory pressure of the communication device can be reduced, and the communication efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a communication method and related apparatus. Background Technology

[0002] With the rapid development of the mobile internet, our tools are more convenient to use than traditional computers, especially desktop workstations and servers. However, this has also created greater information threats, and communication security has gradually become a key issue in communication scenarios.

[0003] In communication networks, most networks use a hierarchical network architecture, meaning that communicating nodes comprise multiple protocol layers. The basic unit for exchanging data between entities operating at the same protocol layer is called a protocol data unit (PDU). Within multiple protocol layers, lower-layer protocols provide services to upper-layer protocols, and the upper-layer PDU becomes the lower-layer service data unit (SDU). For example, for a node comprising L1 and L2 layers, when an L2 layer PDU is transmitted to the L1 layer, it becomes an L1 layer SDU. The L1 layer then adds its own information to the L1 layer's SDU to form its own L1 layer PDU.

[0004] For security reasons, SDUs need to undergo security processing to prevent data leakage. As application scenarios become increasingly complex, the amount of data from upper-layer SDUs can be quite large. The process of the sender securing the SDU can take a considerable amount of time, resulting in significant memory consumption. For the receiver, it also needs to receive the complete SDU before it can perform a security check. Before the task of receiving the entire SDU is completed, the currently received portion occupies the receiver's memory for a significant period while waiting for the unreceived portion to arrive. This prolonged memory occupation will affect the receiver's communication efficiency. This is especially true when the receiver needs to receive data from multiple nodes, where memory consumption is even more severe and communication efficiency is poor.

[0005] Therefore, how to reduce the memory pressure on nodes while ensuring data transmission security is an urgent problem to be solved in this field. Summary of the Invention

[0006] This application provides a communication method and related apparatus. This application supports independent security protection for each PDU using the segment sequence number of the SDU, which can reduce the memory pressure of the communication device and improve communication efficiency while ensuring data transmission security.

[0007] Firstly, this application provides a communication method, comprising: acquiring an SDU from an upper layer; segmenting the SDU to obtain N SDU segments and generating N PDUs, wherein the N PDUs correspond one-to-one with the n SDU segments; each PDU carries the corresponding SDU segment and the segment number of the corresponding SDU segment, the segment number indicating the sequential number of each SDU segment after segmentation; and using the segment number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment. Here, n is an integer and n≥2.

[0008] In this application, the SDU from the upper layer is segmented into multiple SDU segments, and multiple PDUs can be formed based on these multiple SDU segments. Each PDU carries an SDU segment and its segment number. During security protection, each PDU is independently protected using the segment number of its SDU segment. For the sender, independent security protection on a PDU-by-PDU basis allows the PDU security protection process to operate in a pipeline, reducing memory footprint and lowering memory pressure. Correspondingly, the receiver can independently check the security of each PDU without having to perform a comprehensive security check after reassembling the SDUs. This reduces the receiver's memory pressure and improves communication efficiency while ensuring data transmission security.

[0009] Furthermore, the segment sequence number of the SDU segment can be used to distinguish different SDU segments. Incorporating the segment sequence number into the PDU security protection process allows different parameters to be used for security protection of different PDUs, thus improving data transmission security. Moreover, since the sequence numbering method is continuous and unique, the method of determining the sequence number is intuitive, occupies fewer bits, which helps reduce the computational load on nodes and has minimal impact on message format.

[0010] Optionally, this communication method can be applied to nodes, for example, executed by the nodes themselves, or by modules within the nodes (such as chips or software modules), where the node is a device with communication capabilities. For ease of description, the following description uses the first node as the executing entity.

[0011] The communication method of this application can be applied to wireless communication systems, including short-range wireless communication systems, such as the StarScan communication system. In the StarScan communication system, devices are called nodes, and nodes have master-slave roles, such as management nodes and terminal nodes. A management node can connect to one or more terminal nodes. The management node can send data scheduling information, while the terminal nodes receive the data scheduling information and send data according to the information. The first node can be a management node, a terminal node, or both (a dual-identity node).

[0012] In the StarFlash communication system, the management node supports connecting to multiple terminal nodes, and the terminal nodes also support associating with multiple management nodes. This means that both terminal nodes and management nodes support communication with multiple nodes, necessitating careful management of node memory usage to prevent node crashes. This application supports independent security protection for each PDU based on SDU segmentation sequence numbers, which can reduce the memory pressure on nodes in the StarFlash communication system and improve communication efficiency while ensuring data transmission security.

[0013] In one possible implementation of the first aspect, the communication method of this application is applied to one layer of the communication protocol stack, for example, called the target layer. This target layer can provide security protection for the transmitted information. It should be understood that the name of the target layer may differ in different protocol stack architectures. For example, in a communication system, the target layer may be the link control layer, which provides security protection for the information. Taking a protocol stack architecture of the StarSpark communication system as an example, the link control layer can provide data transmission services to the upper layers. Its main functions include: transmitting upper-layer PDUs, segmenting and reassembling local layer SDUs (if configured), segmenting local layer SDUs (if configured), link management functions, and security protection, etc.

[0014] Understandably, the layer above the target layer may differ in different protocol stack architectures. In one exemplary protocol stack architecture, the layer above the target layer is the network and transport layer; or, in other protocol stack architectures, the layer above the target layer is the transport layer. Further, this protocol stack architecture, from top to bottom, consists of: the application layer, the network and transport layer, the data link layer (including the link control layer and the media access layer), and the physical layer.

[0015] In another possible implementation of the first aspect, the security protection includes one or more of the following: confidentiality protection (i.e., encryption), integrity protection, and authentication encryption. For example, this application can be applied to point-to-point communication scenarios, where the node encrypts the PDU when both parties to the communication have enabled encryption. Alternatively, the node can perform integrity protection on the PDU when both parties to the communication have enabled integrity protection. Furthermore, the node can perform both encryption and integrity protection on the PDU when both parties to the communication have enabled authentication encryption. Finally, the node can perform authentication encryption on the PDU when both parties to the communication have enabled authentication encryption.

[0016] In another possible implementation of the first aspect, the segment sequence number of the SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10. During security protection, the first node needs to process the data to be protected using a security algorithm. This processing also requires other parameters, such as the key and freshness parameter. The key is usually predefined or pre-calculated; therefore, the SDU segment sequence number serves as either the freshness parameter or a part of it. In the latter case, since the length of the freshness parameter is limited and some fields are already occupied, the data length of the segment sequence number should not be set too long. In the above implementation, the number of bits occupied by the SDU segment sequence number is between 0 and 10 bits, which satisfies the need to distinguish multiple segments, and the length is more suitable.

[0017] In another possible implementation of the first aspect, M = 4. Since the number of SDU segments is typically no more than 16 segments, a length of 4 bits is appropriate, which can meet the requirements for distinguishing SDU segments, while further reducing the impact on the PDU format.

[0018] In some schemes, the SDU may not be segmented, and the PDU carries a complete SDU. To ensure consistent PDU format, segment numbers can also be carried in this case, but the segment number value is set to a preset value. That is, when the PDU carries a complete SDU, the segment number of the SDU segment carried in the PDU is a preset value. For example, the preset value is 0.

[0019] In another possible implementation of the first aspect, among the N PDUs, the segment number of the corresponding SDU segment carried by each PDU is carried in the 4th byte of each PDU. Since the fields carried by the first 3 bytes of the PDU have been predefined and the number of bits (and bytes) occupied have been reasonably allocated, and the 4th byte is also used to carry the segment offset value (or part of the bits of the segment offset value), dividing a portion of the bits in this byte to carry the segment number allows fields with similar meanings to be placed in adjacent positions, making them easy to access without affecting the normal indication of other fields.

[0020] In another possible implementation of the first aspect, security protection is provided for the PDU corresponding to the SDU segment using the segment sequence number of the SDU segment. This includes: using the segment sequence number of the SDU segment and the global frame number (GFN) to provide security protection for the PDU corresponding to the SDU, where the GFN is associated with the SDU. The GFN is a parameter maintained by the node to record updates to the transmission unit number; it is typically maintained locally by the node and updated along with updates to the transmission unit number.

[0021] In another possible implementation of the first aspect, the GFN comprises two parts: a predefined value and a transmission unit sequence number. For example, in the StarFlash communication system, for the first type of service, the GFN is 32 bits, with the high 14 bits being the hyperframe number (HFN) and the low 18 bits being the link control layer sequence number (SN). For the second type of service, the GFN is 32 bits, including the HFN (10 bits), the physical layer superframe number (16 bits), and the radio frame sequence number (6 bits). The HFN is the predefined value and does not need to be transmitted; it is typically maintained locally at the node. The link control layer sequence number, physical layer superframe number, and radio frame sequence number are carried in the transmission unit and transmitted to the receiver.

[0022] In another possible implementation of the first aspect, security protection is achieved through a corresponding security algorithm. The inputs to the security algorithm include the information to be protected, the key, and a freshness parameter. Therefore, the segment number of the SDU segment can be used as part of the freshness parameter and input into the security algorithm to achieve security protection for the PDU. Similarly, GFN is also used as another part of the freshness parameter and input into the security algorithm.

[0023] In other words, the first node can securely protect the PDU based on freshness parameters and a key. Freshness parameters include the segment sequence number of the SDU segment, and may further include the GFN. Of course, freshness parameters may also include other parameters.

[0024] In another possible implementation of the first aspect, the inputs to the security algorithm can differ in unicast and multicast scenarios. Taking encryption / decryption as an example, in a unicast scenario, the key used by the encryption algorithm is a unicast encryption key, such as the signaling plane encryption key Ks.enc in signaling plane encryption and the user plane encryption key Ku.enc in user plane encryption. The freshness parameters include GFN, a 1-bit link direction identifier, a 5-bit logical channel identifier, a 4-bit segment sequence number, and a 6-bit reserved field. The link direction identifier is 1 bit, taking the first value (e.g., 0) for T-links and the second value (e.g., 1) for G-links. When no segmentation is performed, the 4-bit segment sequence number should be set to 0. The reserved field is 6 bits and can optionally be set to all 0s. Of course, this description uses the segment sequence number occupying 4 bits as an example; in actual implementation, the segment sequence number can occupy other numbers of bits, for example, the freshness parameters may include GFN, a 1-bit link direction identifier, a 5-bit logical channel identifier, and a 10-bit segment sequence number.

[0025] In multicast scenarios, the encryption algorithm uses a multicast encryption key, such as GKs.enc for signaling plane encryption and GKu.enc for user plane encryption. The freshness parameters include the group global frame number (GGFN), a 1-bit G-link identifier, a 5-bit logical channel identifier, a 4-bit segment sequence number (number of bits is for example only), and a 6-bit reserved field (optional, number of bits is for example only). The G-link identifier is 1 bit, set to the second value, indicating a G-link.

[0026] Alternatively, the encryption algorithm used in unicast scenarios may differ from that used in multicast scenarios. Of course, this application also applies to cases where both are the same.

[0027] The implementation methods of encryption, integrity protection, and authentication encryption are described below.

[0028] In another possible implementation of the first aspect, the PDU corresponding to the SDU segment is protected by using the segment sequence number of the SDU segment, including: encrypting the PDU corresponding to the SDU segment based on the segment sequence number of the SDU segment, the GFN and the encryption key.

[0029] In another possible implementation of the first aspect, security protection is provided to the PDU corresponding to the SDU segment using the segment sequence number of the SDU segment, including: generating a check code based on the SDU segment sequence number, GFN, integrity protection key, and information contained in the PDU corresponding to the SDU segment. The check code is carried in the PDU and is used to check the integrity of the information contained in the PDU corresponding to the SDU segment.

[0030] In another possible implementation of the first aspect, the PDU corresponding to the SDU segment is securely protected using the segment sequence number of the SDU segment, including: encrypting the PDU corresponding to the SDU segment based on the segment sequence number of the SDU segment, the GFN, the authentication encryption key, and the information contained in the PDU corresponding to the SDU segment, and obtaining a check code. The check code is carried in the PDU corresponding to the SDU segment and is used to check the integrity of the information contained in the PDU corresponding to the SDU segment.

[0031] In yet another possible implementation of the first aspect, the method further includes: sending N securely protected PDUs to the second node.

[0032] In another possible implementation of the first aspect, the PDU also carries a segment offset value. This segment offset value indicates the position of the first byte of the SDU segment contained in the PDU within the SDU. By using the segment offset value to represent the data position of the SDU segment carried by the PDU, space can be pre-allocated during storage, and the SDU can be directly stored at the corresponding offset position, thereby reducing the number of copies and improving communication efficiency.

[0033] In yet another possible implementation of the first aspect, the PDU also carries a segmentation indicator. The segmentation indicator is used to indicate whether the SDU segments contained in the PDU belong to the first segment, an intermediate segment, or the last segment.

[0034] Secondly, this application provides a communication method, which includes: receiving a PDUPDU from a first node, wherein the PDDU carries a corresponding SDU segment and a segment sequence number of the SDU segment, the segment sequence number indicating the order number of the SDU segment within each segment of the SDU; and checking the security of the PDDU using the segment sequence number of the SDU segment.

[0035] Optionally, this communication method can be applied to nodes, for example, executed by the nodes themselves, or by modules within the nodes (such as chips or software modules), where the node is a device with communication capabilities. For ease of description, the following description uses the second node as the executing entity.

[0036] The communication method provided in the second aspect of this application can be applied to wireless communication systems, including short-range wireless communication systems, such as star-flash communication systems.

[0037] In one possible implementation of the second aspect, the communication method of this application is applied to one layer of a communication protocol stack, for example, referred to as the target layer. For instance, the target layer may be the link control layer. In one exemplary protocol stack architecture, the layer above the target layer is the network and transport layer; or, in some other protocol stack architectures, the layer above the target layer is the transport layer.

[0038] In another possible implementation of the second aspect, checking the security of the PDU includes at least one of the following operations: decryption (i.e., checking confidentiality), checking integrity, and authentication decryption (checking confidentiality and integrity).

[0039] In another possible implementation of the second aspect, the segment number of the SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10.

[0040] In another possible implementation of the second aspect, M = 4.

[0041] In another possible implementation of the second aspect, the segment number of the SDU segment is carried in the fourth byte of the PDU.

[0042] In another possible implementation of the second aspect, the security of the PDU is checked using the segment number of the SDU segment, including: checking the security of the PDU using the segment number of the SDU segment and the GFN, where the GFN is associated with the SDU.

[0043] In another possible implementation of the second aspect, the security of the PDU is checked using the segment sequence number of the SDU segment, including: decrypting the PDU based on the segment sequence number of the SDU segment, the GFN, and the encryption key.

[0044] In another possible implementation of the second aspect, the PDU also carries a check code to securely protect the PDU corresponding to the SDU segment using the segment sequence number of the SDU segment, including: checking the integrity of the information contained in the PDU based on the segment sequence number of the SDU segment, GFN, integrity protection key and check code.

[0045] In another possible implementation of the second aspect, the PDU also carries a check code, and the PDU corresponding to the SDU segment is protected by the segment sequence number of the SDU segment, including: decrypting the PDU and checking the integrity of the information contained in the PDU based on the segment sequence number of the SDU segment, GFN, authentication encryption key, information contained in the PDU corresponding to the SDU segment and the check code.

[0046] In another possible implementation of the second aspect, the PDU also carries a segment offset value and / or a segmentation indicator. The segment offset value indicates the position of the first byte of the SDU segment contained in the PDU within the SDU, and the segmentation indicator indicates whether the SDU segment contained in the PDU belongs to the first segment, an intermediate segment, or the last segment.

[0047] Thirdly, this application provides a communication device, including a unit or module for performing the method described in the first aspect or any possible implementation of the first aspect, and / or including a unit or module for performing the method described in the second aspect or any possible implementation of the second aspect.

[0048] For example, the communication device includes a processing unit, which is used to perform one or more operations such as processing, determining, generating, calculating, encrypting, and decrypting. Further, the communication device also includes a communication unit, which is used to perform one or more operations such as sending and receiving.

[0049] Fourthly, this application provides a communication device including a processor and a memory. The memory is used to store computer instructions, and the processor is used to invoke the computer instructions stored in the memory to implement the method described in the first aspect or any possible implementation of the first aspect, or to implement the method described in the second aspect or any possible implementation of the second aspect.

[0050] Fifthly, this application provides a chip including a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices and transmit them to the processor or to send signals from the processor to other communication devices. The processor is used to implement the method described in the first aspect or any possible implementation of the first aspect through logic circuits or execution code instructions, or to implement the method described in the second aspect or any possible implementation of the second aspect.

[0051] In a sixth aspect, this application provides a communication system, which includes a first node and a second node. The first node is used to implement the method described in the first aspect or any possible implementation of the first aspect, and the second node is used to implement the method described in the second aspect or any possible implementation of the second aspect.

[0052] In a seventh aspect, this application provides a terminal that includes the communication device described in the third, fourth, or fifth aspects, or the communication system described in the sixth aspect. Optionally, the terminal may be a handheld terminal, a vehicle, a robot, a drone, or other intelligent device or vehicle.

[0053] Eighthly, this application provides a readable storage medium for storing a computer program that, when executed by a processor, causes a communication device including a processor to implement the method described in the first aspect or any possible implementation of the first aspect, or to implement the method described in the second aspect or any possible implementation of the second aspect.

[0054] Ninthly, this application provides a computer program product that, when executed by a processor, causes a communication device including a processor to implement the method described in the first aspect or any possible implementation of the first aspect, or to implement the method described in the second aspect or any possible implementation of the second aspect.

[0055] The beneficial effects of aspects two through nine of this application can be found in the beneficial effects of the solution in aspect one. Attached Figure Description

[0056] The accompanying drawings used in the description of the embodiments will be briefly introduced below.

[0057] Figure 1It is an architecture of a communication system;

[0058] Figure 2 This is a schematic diagram of the architecture of a communication system in a wireless BMS scenario;

[0059] Figure 3 This is a schematic diagram of the architecture of a communication system in a smart home scenario;

[0060] Figure 4 It is the architecture of a communication system's protocol stack;

[0061] Figure 5 This is a schematic diagram of a PDU's security protection process;

[0062] Figure 6 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0063] Figure 7 This is a schematic diagram of a PDU security protection process provided in an embodiment of this application;

[0064] Figure 8 This is a schematic diagram of a PDU format provided in an embodiment of this application;

[0065] Figure 9 This is a schematic diagram of another PDU format provided in the embodiments of this application;

[0066] Figure 10 This is a schematic diagram illustrating an SDU storage method provided in an embodiment of this application;

[0067] Figure 11 This is a schematic diagram of an encryption process provided in an embodiment of this application;

[0068] Figure 12 This is a schematic diagram of an integrity protection process provided in an embodiment of this application;

[0069] Figure 13 This is a schematic diagram of an authentication and encryption process provided in an embodiment of this application;

[0070] Figure 14 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0071] Figure 15 This is a schematic diagram of the structure of another communication device provided in the embodiments of this application. Detailed Implementation

[0072] The following section will introduce some of the technical terms.

[0073] 1. Check code

[0074] A check code, also known as a message integrity check (MIC), message authentication code (MAC), integrity check, message authentication code, file message authentication code, or information authentication code, is a small piece of information generated by a specific algorithm and used to check the integrity of a message and / or for authentication.

[0075] 2. Nodes

[0076] A node is a device with communication capabilities, including but not limited to one or more of user equipment, network equipment, and industrial equipment. User equipment includes one or more of handheld terminals, wearable terminals, vehicles, in-vehicle equipment, sensing devices, smart home devices, or leisure and entertainment devices. Handheld terminals include, but are not limited to, mobile phones, tablets, or laptops. Wearable devices include, but are not limited to, headphones, smart bracelets, smartwatches, or smart glasses. Vehicles include, but are not limited to, vehicles, ships, aircraft, rail transit (such as subways and high-speed trains), or logistics robots (such as automated guided vehicles (AGVs)). In-vehicle equipment includes, but is not limited to, domain controllers (DCs), screens, microphones, speakers, electronic keys, keyless entry, start system controllers, battery management systems (BMS), battery packs, or battery cells. Sensing devices include, but are not limited to, cameras, radar, lidar, light sensors, temperature sensors, or humidity sensors. Smart home devices include, but are not limited to, projectors, smart TVs, smart refrigerators, smart home gateways, or security equipment. Leisure and entertainment equipment includes, but is not limited to, virtual reality (VR) devices, mixed reality (MR) devices, massage chairs, home theaters, gaming controllers, or 4D cinema cabins. Network equipment includes, but is not limited to, routers, switches, or base stations. Industrial equipment includes, but is not limited to, industrial robots or robotic arms.

[0077] This application is applicable to various networks, and nodes can represent devices in various networks. For example, this application can be applied to wired communication networks, wireless communication networks, or networks formed by a combination of wired and wireless communication. For instance, wireless communication networks include networks connected via communication technologies such as SparkLink (or NearLink), 802.11b / g, Bluetooth, Zigbee, radio frequency identification (RFID), ultra-wideband (UWB) technology, or short-range wireless communication systems. And / or, wireless communication networks include long-range connection technologies such as communication technologies based on Long Term Evolution (LTE), 5th generation mobile networks (or 5th generation wireless systems, 5th Generation, abbreviated as 5G or 5G technology), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), and Universal Mobile Telecommunications System (UMTS), etc. For example, wired communication networks include networks connected via the following communication technologies: fiber optic connection technology, in-vehicle wired communication technology, controller area network (CAN), local interconnect network (LIN), CAN flexible data rate (CAN FD), or in-vehicle Ethernet, or one or more of these.

[0078] The nodes in this application embodiment can be applied to various scenarios such as smart cars, smart homes, smart terminals, smart manufacturing, smart showrooms, mobile internet (MI), industrial control, self-driving, transportation safety, or the Internet of Things (IoT).

[0079] It should be understood that in certain application scenarios or network types, devices with communication capabilities may not be referred to as nodes. However, for ease of description, devices with communication capabilities are collectively referred to as nodes in this application embodiment.

[0080] 3. Security Algorithm

[0081] Security algorithms are algorithms related to security protection, including encryption algorithms, encryption algorithms, and authentication encryption algorithms.

[0082] Encryption algorithms are used to protect the confidentiality of data, encrypting plaintext to obtain ciphertext. Similarly, encryption algorithms can decrypt ciphertext to obtain plaintext. This article uses the forward encryption process as an example, where the encryption process is the reverse of the encryption process. Encryption algorithms can include encryption operations (such as elliptic point addition or XOR operations) as well as various mathematical functions with higher security. Common encryption algorithms include XOR operations, Data Encryption Standard (DES), Triple Data Encryption Algorithm (3DES), Advanced Encryption Standard (AES), RSA encryption algorithm, Data Structure Analysis (DSA) algorithm, Chinese national cryptographic algorithms (such as SM4), and the Zu Chongzhi Algorithm Set (ZUC algorithms, such as Zu Chongzhi's algorithm, Encryption Algorithm 128-EEA3, or Integrity Algorithm 128-EIA3, etc.).

[0083] Integrity protection algorithms are algorithms used to protect message integrity, also known as MAC (message authentication code) algorithms. For example, integrity protection algorithms implemented using hash algorithms are called hash-based message authentication code (HMAC) algorithms, where the hash algorithm can be one of MD5, SHA-1, SHA-256, etc. These different HMAC implementations are usually labeled as: HMAC-MD5, HMAC-SHA1, HMAC-SHA256, etc. As another example, MAC algorithms implemented using cryptographic algorithms can be called cipher-based message authentication code (CMAC) algorithms, where the cryptographic algorithm can be AES. Since AES block ciphers have four operating modes: ECB, CBC, CFB, and OFB, integrity protection algorithms implemented based on block cipher algorithms of different operating modes can be called: ECB-MAC algorithm, CBC-MAC algorithm, etc. Furthermore, one-key CBC-MAC (OMAC) is an improvement on the CBC-MAC algorithm. In addition, integrity protection algorithms may also include Galois message authentication code mode (GMAC), Zu Chongzhi cryptographic algorithms (such as ZUC128, ZUC256, etc.), and MD algorithms (such as MD2, MD4, or MD5, etc.).

[0084] Authentication encryption algorithms can generate both ciphertext and checksums for given information. Therefore, they can function as both encryption and integrity protection algorithms. For example, AES algorithms based on GMAC and counter mode (AES-Galois / counter mode, AES-GCM) and AES algorithms based on CMAC and counter mode (AES-CMAC / counter mode, AES-CCM) can authenticate and encrypt information, obtaining ciphertext and generating checksums to protect the integrity of the information.

[0085] 4. Freshness parameters

[0086] Freshness parameters are used in encryption, integrity protection, key derivation, key negotiation, and other processes; they can also be called freshness or freshness parameters. Generally, the specific value of a freshness parameter changes after each use, ensuring that the value of the freshness parameter used this time is different from that used last time, thus improving security.

[0087] The foregoing explanation of the technical terms may be used in the embodiments described below.

[0088] The following describes the architecture and business scenarios of communication systems to which the embodiments of this application can be applied. It should be noted that the system architecture and business scenarios described in this application are for the purpose of more clearly illustrating the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. It should be understood that as system architectures evolve and new business scenarios emerge, the technical solutions provided in this application are also applicable to similar technical problems.

[0089] This application can be applied to communication systems. A communication system is a system that transmits information using electrical signals (or optical signals), and it typically includes multiple nodes that communicate with each other to transmit information. Nodes in a communication system may have different identities and / or different capabilities. In one exemplary communication system, nodes are distinguished as master nodes and slave nodes. The master node has stronger communication capabilities and the ability to manage slave nodes, and can establish links with multiple slave nodes, enabling communication between master nodes and between master nodes and slave nodes to achieve various functions.

[0090] Communication systems can include wired communication systems and wireless communication systems. Wireless communication systems include short-range wireless communication systems and long-range wireless communication systems. Examples of short-range communication systems include the aforementioned Starlink communication system, 802.11b / g, and Bluetooth. Examples of long-range wireless communication systems include LTE and 5G.

[0091] The following section uses the StarFlash communication system as an example to introduce the architecture of a communication system applicable to this application. For example... Figure 1 The communication system shown includes a management node (considered the master node) and terminal nodes (considered slave nodes). All terminal nodes are connected to the management node, and the connection relationship is indicated by dashed lines. Communication between the management node and the terminal nodes includes bidirectional unicast and / or broadcast communication. In some schemes, the management node can connect to one or more terminal nodes. In the StarScan communication system, the management node supports connecting to multiple terminal nodes, and the terminal nodes also support associating with multiple management nodes.

[0092] Optionally, Figure 1In this diagram, the connection between the management node and the terminal node is represented by a dashed line. In a specific implementation, this may include two links: a communication link from the management node to the terminal node and a communication link from the terminal node to the management node. The communication link from the management node to the terminal node carries data channels, control information, broadcast channels, synchronization signals, etc., and is referred to as the G link in this paper. The communication link from the terminal node to the management node carries data channels, access channels, feedback signals, etc., and is referred to as the T link in this paper.

[0093] Management nodes possess both communication and management capabilities, and are sometimes referred to as G nodes, access points, or authorized nodes. Management capabilities include communication management, such as connection management, resource scheduling, or information security management. For example, a management node can send resource management information or data scheduling information, such as access layer resource management information. Terminal nodes, sometimes referred to as T nodes, are nodes with communication capabilities that can transmit services with the management node. In some solutions, terminal nodes receive resource management information (or data scheduling information) and send data based on that information. For example, terminal devices can include user equipment (UE), such as barcode scanners, radio frequency identification (RFID), sensors, global positioning systems (GPS), lidar, and battery cells.

[0094] It should be understood that the identities of management nodes and terminal nodes are not absolute; they are merely exemplary names used to distinguish the operations performed by communicating nodes under a possible connection scenario. In some scenarios, a node may belong to two or more communication domains simultaneously, acting as a terminal node in some domains and a management node in others. For ease of understanding, such a node is referred to as a G(T) node in some embodiments.

[0095] The communication system used in this application is applied to scenarios such as vehicles, smart homes, smart showrooms, and energy storage management.

[0096] Taking vehicle scenarios as an example, this communication system can be applied to wireless battery management system (BMS) scenarios or tire pressure monitoring scenarios. For wireless BMS scenarios, please refer to [link to relevant documentation]. Figure 2As shown, the battery array management system (BAMS) is the management node, i.e., the G1 node, the battery cluster management system (BCMS) is the G(T) node (dual identity node), and the battery management unit (BMU) is the T node.

[0097] For smart home scenarios, see [examples]. Figure 3 As shown. Figure 3 In this system, the gateway or customer premises equipment (CPE) is designated as the G node, the sub-router, large screen, mobile phone, and air conditioner are designated as the G(T) nodes, and the water heater, smart curtain, speaker, microphone, printer, and smart door lock are designated as the T nodes.

[0098] Most communication systems employ a hierarchical network architecture. Taking the StarScan communication system as an example, the architecture of a StarScan communication system's protocol stack is as follows: Figure 4 As shown, from top to bottom, the hierarchical network architecture consists of: Application Layer, Network and Transport Layer, Data Link Layer (including Link Control Layer and Media Access Layer), and Physical Layer. In this hierarchical network architecture, lower-layer protocols provide services to upper-layer protocols, and upper-layer PDUs become lower-layer SDUs. For security reasons, within a certain layer (using the target layer as an example), SDUs from upper layers need to be securely processed to prevent data leakage. However, as nodes support more and more services and their functions become more complex, the SDUs from upper layers can become quite large. In this case, the process of the sender performing integrity protection on the SDU takes a long time, resulting in significant memory consumption. The receiver also needs to receive the complete SDU before it can perform integrity checks on the entire SDU. Before the task of receiving the entire SDU is completed, the currently received portion occupies the receiver's memory, affecting the receiver's communication efficiency.

[0099] Furthermore, in some schemes, to control the amount of data transmitted in a single transmission or for other reasons, the target layer segments its own SDUs. These segments are then packaged into multiple PDUs. For example... Figure 5 As shown, above the target layer, the upper-layer SDU is supplemented with additional information, such as a header and optionally a footer, to obtain the upper-layer PDU. The target layer provides services to the upper layer; the upper-layer PDU is passed to the target layer as its own SDU. The target layer can provide data security protection. For example, regarding encryption and integrity, the sender performs overall encryption and integrity protection on the entire SDU at the target layer. Figure 5The secure target layer SDU includes, for example, the encrypted SDU and the MAC address. The secure target layer SDU is divided into N SDU segments, which are then packaged into N PDUs. Each PDU includes a target layer header and data, and optionally a footer. These N PDUs are transmitted to the receiver.

[0100] For the receiver, when it receives one of the PDUs at the target layer, it can obtain the SDU segment carried by that PDU. However, this SDU segment cannot be decrypted independently, so it needs to be stored in memory until N PDUs are successfully received. Only then can the receiver reassemble the N SDU segments into a complete SDU, and only then can it perform security checks based on the complete SDU. In other words, while N PDUs have not been successfully received, the currently received SDU segments continue to occupy memory, increasing the receiver's memory pressure.

[0101] Consider a possible scenario where the receiver connection may involve multiple nodes, such as... Figure 1 , Figure 2 and Figure 3 In the communication system shown, nodes such as G are connected to multiple nodes. The receiver may need to receive PDUs from multiple nodes, meaning each communication connection requires a certain amount of memory. This can easily lead to excessive memory usage on the receiver, affecting the node's communication efficiency and even causing the node to crash.

[0102] In view of this, this application provides a communication method and related apparatus that supports independent security protection for each PDU based on the segment sequence number of the SDU. Accordingly, the receiver can independently check the security of each PDU without having to perform a security check after reassembling the SDU. This can reduce the memory pressure on communication devices (such as nodes) and improve communication efficiency while ensuring data transmission security.

[0103] For example, in the StarFlash communication system, both terminal nodes and management nodes support communication with multiple nodes. Therefore, the memory usage of nodes in the StarFlash communication system needs to be guaranteed to prevent node crashes. This application supports independent security protection for each PDU based on the segmented sequence number of the SDU. This can significantly reduce the memory pressure on nodes in the StarFlash communication system and improve communication efficiency while ensuring data transmission security.

[0104] The methods provided in the embodiments of this application will be described below.

[0105] Please see Figure 6 , Figure 6 This is a flowchart illustrating a communication method provided in an embodiment of this application. Optionally, this method can be applied to a communication system, such as the one described above. Figure 1 The communication system shown. (As shown) Figure 6 The communication method shown may include one or more steps S601 to S607. It should be understood that, for ease of description, steps S601 to S607 are described in this way, and it is not intended to limit the execution to this specific order. This application embodiment does not limit the order of execution, the execution time, or the number of executions of the above one or more steps. Steps S601 to S607 are as follows:

[0106] Step S601: The first node obtains the SDU from the upper layer.

[0107] The first node is a device with communication capabilities, as described in the terminology explanation section. For example, the first node can be a T node or a G node, including a G(T) node.

[0108] This method can be applied to one layer of a node's communication protocol stack, for example, called the target layer. This target layer enables secure protection of the transmitted information. It should be understood that the name of the target layer may differ in different protocol stack architectures. For example, in... Figure 4 In the aforementioned protocol stack architecture, the target layer can be the link control layer, which is responsible for information security protection. Taking a protocol stack architecture of the StarSpark communication system as an example, the link control layer can provide data transmission services to the upper layers. Its main functions include: transmitting upper-layer PDUs, segmenting and reassembling local layer SDUs (if configured), segmenting local layer SDUs (if configured), link management functions, and security protection.

[0109] The upper layer refers to the layer above the target layer. In different protocol stack architectures, the upper layer of the target layer may differ. For example, in... Figure 4 In the described protocol stack architecture, the target layer can be the link control layer, and the layer above the target layer is the network and transport layer. SDUs from the upper layer can become PDUs from the upper layer. In a hierarchical network architecture, lower-layer protocols provide services to upper-layer protocols, and upper-layer PDUs will become lower-layer SDUs. (Combined...) Figure 4 and Figure 5 The PDU formed by packaging the network and transport layers is transmitted to the link control layer and becomes the link control layer's SDU.

[0110] Step S602: The first node segments the SDU to obtain N SDU segments.

[0111] Please see Figure 7 The SDU from the upper layer (i.e., the target layer SDU) is divided into N segments, where N is an integer and N≥2.

[0112] In some schemes, when the first node is in the target transmission mode, the first node is allowed to segment the SDU. This target transmission mode can be predefined, as can its activation and deactivation methods. For example, in a communication system where the target layer is the link control layer, segmentation of the link control layer SDU in the logical channel is allowed for a logical channel with transmission mode 1-1. However, segmentation of the link control layer SDU in the logical channel is not allowed for a logical channel with transmission mode 1-2. As another example, segmentation of the link control layer SDU in the logical channel is allowed for a logical channel with transmission mode 2-1, but not for a logical channel with transmission mode 2-2. Here, transmission modes 1-1 and 1-2 are predefined and used under specified conditions.

[0113] Step S603: The first node generates N PDUs.

[0114] In this system, there is a one-to-one correspondence between N PDUs and N SDU segments. For example... Figure 7 SDU segment 1 corresponds to PDU1, and SDU segment 2 corresponds to PDU2. Each PDU carries the corresponding SDU segment and its segment number. The segment number indicates the sequential number of each SDU segment after the SDU is segmented, such as... Figure 7 The segment number of the first segment is 1, and the segment number of the second segment is 2.

[0115] In one possible implementation, the segment number of an SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10. For example, M = 4, the segment number of the first SDU segment is 0000 (binary), the segment number of the second SDU segment is 0001, and so on for the remaining segments.

[0116] In one possible implementation, the segment number of the corresponding SDU segment carried by the PDU is contained in the fourth byte of the PDU. See also... Figure 8 and Figure 9 , Figure 8 and Figure 9 This is a schematic diagram of two PDU formats provided in the embodiments of this application. The fourth byte of the PDU is the segment sequence number field, which is used to indicate the segment sequence number of the SDU segment corresponding to the PDU.

[0117] exist Figure 8 and Figure 9In the PDU format, since the fields carried by the first 3 bytes of the PDU are predefined and the number of bits (and bytes) occupied are reasonably allocated, the fourth byte is also used to carry the segment offset value (or part of the segment offset value). In this byte, some bits are divided to carry the segment sequence number, which can set fields with similar meanings in adjacent positions, making them easy to access without affecting the normal indication of other fields.

[0118] In one possible implementation, such as Figure 8 and Figure 9 The PDU also carries segment offset values. These segment offset values ​​indicate the position of the first byte (or first bit) of the SDU segment contained within the PDU. For example, referring to point 7, the offset value of the first SDU segment (i.e., SDU segment 1) is 0. If the number of bytes in SDU 1 is 20, then the offset value of SDU segment 2 is 20. If the number of bytes in SDU 2 is also 20, then the offset value of SDU segment 3 (… Figure 7 The field offset value (not shown) is 40, and so on for other cases. The offset value can indicate the data location of the SDU segment carried by the PDU. Space can be pre-allocated during storage and the SDU segment can be directly stored at the corresponding offset position, thereby reducing the number of copies and improving communication efficiency.

[0119] Please see Figure 10 For the receiver, it can allocate an address space to store the entire SDU, with the address of this address space being d1. If the receiver obtains SDU segment 2 first, it can store SDU segment 2 at a certain offset position in the address space according to the segment offset value. For example, the storage address of SDU segment 2 is d1+20. After obtaining SDU1 later, it is stored in the space preceding SDU1 segment (i.e., address d1). Similarly, the storage address of SDU segment 3 is d1+40. Consider a possible scenario: if the segment offset value is not carried, the receiver cannot obtain the offset position of the SDU segment. When receiving subsequent SDU segments first, it may store them in a certain address space, and after the subsequent SDU segments are stored, the first received SDU segment is copied over. This process of multiple copies achieves SDU reassembly. Through the above implementation method, SDU segments can be stored according to their data position in the entire SDU, achieving zero copying and improving communication efficiency.

[0120] In one possible implementation, the PDU also carries a segmentation indicator. The segmentation indicator is used to indicate whether the SDU segments contained in the PDU belong to the first segment, an intermediate segment, or the last segment. For example... Figure 8 and Figure 9The PDU segmentation indicator can occupy 2 bits. When it is 00, it indicates that the PDU includes a complete SDU. When it is 01, it indicates that it includes the first segment of the SDU. When it is 10, it indicates that it includes the middle segment of the SDU. When it is 11, it indicates that it includes the last segment of the SDU.

[0121] It should be understood that Figure 8 and Figure 9 The PDU format shown is for illustrative purposes only. The following section discusses... Figure 8 and Figure 9 The following is a brief introduction to the other fields in the PDU format shown. The Data / Control field indicates whether the PDU carries data or control information. The Query field indicates whether a status report is requested. The Sequence Number field indicates the serial number generated by the service data units contained within the PDU according to the transmission order; optionally, multiple PDUs may have the same sequence number. For example, the sequence number can be associated with an SDU, and multiple PDUs formed by segmenting the same SDU may have the same sequence number. The Reserved field is reserved by the protocol and is usually set to 0; the receiver can ignore this field. The Upper-Layer Protocol Indication field is indicated by the upper-layer protocol, or it is used to indicate the upper-layer protocol; see the description of the relevant technology. The Integrity Protection Bullet is used to protect the integrity of information (such as data in the PDU); its length can be pre-designed, for example, 32 bits, 64 bits, or 128 bits.

[0122] Step S604: The first node uses the segment sequence number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment.

[0123] Since different SDU segments have different segment numbers, incorporating these segment numbers into the PDU security protection process allows different PDUs to use different parameters during security protection, thereby improving data transmission security.

[0124] Optionally, security protection includes one or more of the following: encryption (or confidentiality protection), integrity protection, and authentication encryption. In some possible implementations, the communication link can be configured to enable or disable security protection, and specify the type of security protection enabled. For example, if both parties to the communication enable encryption, the node encrypts the PDU. As another example, if both parties to the communication enable integrity protection, the node performs integrity protection on the PDU. As yet another example, if both parties to the communication enable both encryption and integrity protection, the node encrypts and protects the PDU. Furthermore, if both parties to the communication enable authentication encryption, the node performs authentication encryption on the PDU.

[0125] In one possible implementation, PDU security protection is achieved through a security algorithm. That is, the PDU is protected using an encryption algorithm. In this case, the segment number of the SDU segment can be used as input to the corresponding security algorithm. Since different SDU segments have different segment numbers, incorporating these segment numbers into the PDU security protection process allows for different parameters to be used for different PDUs during security protection, thus improving data transmission security.

[0126] In the security protection process, besides the SDU segmentation sequence number, other parameters may also be involved, such as one or more of the following: key, GFN, and the data length of the information being securely processed. The GFN is a parameter maintained by the node to record updates to the transmission unit number. It is generally maintained locally by the node and updated along with the transmission unit number. The transmission unit here can include PDUs or service data units from different layers, such as upper-layer PDUs, local-layer PDUs, or lower-layer PDUs. For example, a transmission unit may include a local-layer SDU, a physical layer superframe number, or a radio frame number.

[0127] As an example of a GFN, it consists of two parts: a predefined value and a transmission unit sequence number. For instance, in the StarFlash communication system, for the first type of service, the GFN is 32 bits, with the high 14 bits being the HFN and the low 18 bits being the link control layer sequence number (SN). For the second type of service, the GFN is also 32 bits, including the HFN (10 bits), the physical layer superframe number (16 bits), and the radio frame sequence number (6 bits). The HFN is the predefined value and does not need to be transmitted; it is typically maintained locally at the node. The link control layer sequence number, physical layer superframe number, and radio frame sequence number are carried in the transmission unit and transmitted to the receiver.

[0128] Furthermore, in the StarFlash communication system, based on the purpose and link direction of the GFN, the G node and T node need to maintain four GFNs: GFN.su for the signaling plane T link, GFN.sd for the signaling plane G link, GFN.uu for the user plane T link, and GFN.ud for the user plane G link. Among them, GFN.su for the signaling plane T link is used for the encryption process of the signaling plane T link, and so on for the other links. After a node generates a security context, the GFN is initialized to 0. After the connection between two nodes is broken, the G node and T node should save the GFN as part of the security context.

[0129] In one possible implementation, the first node uses the segment sequence number and GFN of the SDU segment to perform security protection on the PDU corresponding to the SDU, where the GFN is associated with the SDU. Furthermore, different SDUs are associated with different GFNs. By incorporating the segment sequence number and GFN into the PDU security protection process, different parameters can be used for security protection of PDUs formed from different SDUs, as well as multiple PDUs formed from the same SDU, thereby improving the security of data transmission.

[0130] In one possible implementation, the segment sequence number of the SDU segment participates in the security protection process as part of the freshness parameter. Furthermore, when using the GFN, the GFN can be used as another part of the freshness parameter. That is, the first node can perform security protection on the PDU based on the freshness parameter and the key. The freshness parameter includes the segment sequence number of the SDU segment, and may further include the GFN. Of course, the freshness parameter may also include other parameters, such as link identifier, logical channel identifier, reserved fields, etc.

[0131] The implementation methods of encryption, integrity protection, and authentication encryption are described below.

[0132] Please see Figure 11 , Figure 11 This is a schematic diagram of an encryption process provided in an embodiment of this application. For example... Figure 11 In (a), the input parameters of the encryption algorithm include the encryption key, the freshness parameter, and the plaintext length. The sender generates a keystream and XORs the plaintext and the keystream to obtain the ciphertext. See also Figure 11 In (b), the decryption process is the reverse of the encryption process. The receiver generates a keystream using the decryption key, freshness parameter, and ciphertext length, and then performs an XOR operation between the keystream and the ciphertext to recover the plaintext. The encryption and decryption algorithms can be the same, and the plaintext and ciphertext lengths can be the same; that is, the receiver can calculate the same keystream based on the same parameters.

[0133] In one possible implementation, the inputs to the security algorithm can differ in unicast and multicast scenarios. Figure 11Taking the encryption / decryption example shown, in a unicast scenario, the encryption key used by the encryption algorithm is a unicast encryption key, such as the signaling plane encryption key Ks.enc in signaling plane encryption and the user plane encryption key Ku.enc in user plane encryption. The freshness parameters include GFN, a 1-bit link direction identifier, a 5-bit logical channel identifier, a 4-bit segment sequence number, and a 6-bit reserved field. The link direction identifier is 1 bit, taking the first value (e.g., 0) for T-links and the second value (e.g., 1) for G-links. When no segmentation is performed, the 4-bit segment sequence number should be set to 0. The reserved field is 6 bits and can optionally be set to all 0s. Of course, this description uses the segment sequence number occupying 4 bits as an example; in actual implementation, the segment sequence number can occupy other numbers of bits. For example, the freshness parameters may include GFN, a 1-bit link direction identifier, a 5-bit logical channel identifier, and a 10-bit segment sequence number. In some possible designs, when no segmentation is performed, the 4-bit segment sequence number should be set to 0. Plaintext length (or simply length) is the length of the plaintext to be encrypted, used to control the length of the key stream.

[0134] In a multicast scenario, the encryption algorithm uses a multicast encryption key, such as GKs.enc for signaling plane encryption and GKu.enc for user plane encryption. The freshness parameters include GGFN, a 1-bit G-link identifier, a 5-bit logical channel identifier, a 4-bit segment sequence number (number of bits is for example only), and a 6-bit reserved field (optional, number of bits is for example only). GGFN is part of the freshness parameters in the cryptographic algorithm input during multicast. GGFN does not need to be transmitted and is maintained locally by the G and T nodes. The G-link identifier is 1 bit, set to the second value, indicating the G link. GGFN only has the G link direction; depending on the purpose of GGFN, the G and T nodes need to maintain two GGFNs: GGFN.sd for the signaling plane G link and GGFN.ud for the user plane G link. After generating the group key GK, GGFN is initialized to 0. After the connection is broken, the G node and T node should save the GG FN as part of the security context.

[0135] Alternatively, the encryption algorithm used in unicast scenarios may differ from that used in multicast scenarios. Of course, this application also applies to cases where both are the same.

[0136] In one possible embodiment of this application, the first node encrypts the PDU corresponding to the SDU segment based on the segment sequence number, GFN, and encryption key of the SDU segment. Combined with... Figure 11In (a), the plaintext input to the encryption algorithm can be the data portion of the PDU, a segment of the corresponding SDU, or the entire content of the PDU, depending on the specific circumstances. It should be understood that... Figure 7 The example of encrypting SDU segments illustrates the approach of this application to encrypt PDUs corresponding to different segments separately, and does not aim to limit the parameters output during the encryption process to only the SDU segments corresponding to the PDUs.

[0137] Please see Figure 12 , Figure 12 This is a schematic diagram of an integrity protection process provided in an embodiment of this application. The input parameters of the integrity protection algorithm include the integrity protection key Kint, a freshness parameter, and the information Message to be protected. Figure 12 (a) Based on these input parameters, the sender calculates a MIC using an integrity protection algorithm. The MIC is then appended to the message when it is sent. Figure 12 (b) After receiving the message, the receiver calculates the expected message integrity code (e.g., called XMIC) and compares it with the received message integrity code MIC. If the XMIC matches the MIC, the integrity protection verification is successful.

[0138] In one possible embodiment of this application, the first node generates a check code, such as a MIC, based on the segment sequence number of the SDU segment, the GFN, the integrity protection key, and the information contained in the PDU corresponding to the SDU segment. Combined with... Figure 11 (a) The Message, which is to be protected for integrity, is information contained in the PDU, such as the SDU, a part of the PDU (e.g., the data part of the PDU), etc., and can be designed according to specific circumstances. The checksum generated by the sender can be carried in the PDU, such as... Figure 8 of Figure 9 The PDU format includes multiple bytes designed for integrity protection, which can be used to carry check codes.

[0139] Please see Figure 13 , Figure 13 This is a schematic diagram of an authentication encryption process provided in an embodiment of this application. Authentication encryption is an encryption mode that can simultaneously guarantee the confidentiality, integrity, and authenticity of data. The input parameters of the authentication encryption algorithm include the authentication encryption key Kac, a freshness parameter, plaintext, and additional authentication data AAD (optional). Figure 13 (a) Based on these input parameters, the sender uses the authentication encryption algorithm to generate ciphertext and a message integrity code (MIC). The MIC is the message integrity code in the authentication encryption algorithm, used to verify the integrity of the encrypted data and the AAD. The sender then sends the ciphertext, AAD, and MIC to the receiver. Figure 13In step (b), the receiver uses the ciphertext and the same other input parameters to generate the plaintext and the expected message integrity code (XMIC), and compares it with the received message integrity code (MIC). If the XMIC matches the MIC, the integrity protection verification is successful.

[0140] AAD is data that is protected for integrity only and not for confidentiality, and is an optional input.

[0141] In some possible implementations, the authentication encryption algorithm uses AES-128, AES-256, or SM4, and the operating mode of the authentication encryption algorithm uses GCM mode or CCM mode. In GCM mode, the freshness parameter is also called the initialization vector; in CCM mode, the freshness parameter is also called NONCE.

[0142] For example, in a unicast scenario of a communication system, during the authentication and encryption process, the initialization vector (GCM mode) or NONCE (CCM mode) is 104 bits, consisting of GFN, 1 bit link direction identifier, 5 bits logical channel identifier, 4 bits segment sequence number, 6 bits reserved field, and 56 bits of concatenated all-zeros. The parameters, values, and optional designs are described above.

[0143] For another example, in a multicast scenario of a communication system, the initialization vector (GCM mode) or nonce (CCM mode) is 104 bits, consisting of GGFN, 1 bit G link identifier, 5 bits logical channel identifier, 4 bits segment sequence number, 6 bits reserved field, and 56 bits of all-zero concatenation.

[0144] In one possible embodiment of this application, the first node encrypts the PDU corresponding to the SDU segment based on the segment sequence number, GFN, authentication encryption key, and information contained in the PDU corresponding to the SDU segment, and obtains a check code. Figure 13 In step (a), the segment number and GFN are input as freshness parameters into the authentication encryption algorithm, while the information contained in the PDU is input as plaintext into the encryption algorithm to generate ciphertext and obtain a check code. Optionally, the plaintext input into the authentication encryption algorithm can be the data part of the PDU, or the SDU segment of the PDU, or the PDU itself, which can be designed according to the specific situation.

[0145] In some possible implementations, the first node can send a securely protected PDU to the second node, which will be described later. Figure 6 The communication method shown may include step S605, and may further include steps S606 and S607.

[0146] Step S605: The first node sends N securely protected PDUs to the second node.

[0147] In one possible implementation, the target layer of the first node sends a Link Control Layer (PCL) PDU to the lower layer of the target layer. Further, when sending the PCL PDU to the lower layer, the PCL sending entity sets the SN of the PDU to the SN of the corresponding SDU.

[0148] Step S606: The second node receives the PDU from the first node.

[0149] The PDU received by the second node can be any one of the N PDUs sent by the first node. The reception process of a single PDU is described here. The PDU received by the second node includes the corresponding SDU segment and the segment number of that SDU. For example, combined with... Figure 7 If the second node receives PDU1, then the PDU includes SDU segment 1 and the segment number of SDU1.

[0150] In some schemes, the receiving entity of the target layer of the second node can receive the PDU sent by the sending entity of the target layer of the first node.

[0151] Step S607: The second node checks the security of the PDU using the segment sequence number of the SDU segment.

[0152] The security check includes one or more of the following: confidentiality check (i.e., decryption), integrity protection check, or authentication decryption. The check process can be found in [link to relevant documentation]. Figure 11 , Figure 12 and Figure 13 Description of the relevant processes for the recipient.

[0153] In one possible embodiment of this application, the second node decrypts the PDU based on the segment number of the SDU segment, the GFN, and the encryption key.

[0154] In one possible embodiment of this application, the second node checks the integrity of the information contained in the PDU based on the segment sequence number of the SDU segment, the GFN, the integrity protection key, and the check code. Figure 12 (b) Generate the expected check code XMIC based on the freshness parameters (including segment number and GF N). If XMIC matches the check code MIC, the integrity check passes.

[0155] In one possible embodiment of this application, the second node decrypts the PDU and checks the integrity of the information contained in the PDU based on the segment number of the SDU segment, GFN, authentication encryption key, information contained in the PDU corresponding to the SDU segment, and the check code.

[0156] exist Figure 6 In the communication method shown, the SDU from the upper layer is segmented into multiple SDU segments, and multiple PDUs can be formed based on these multiple SDU segments. Each PDU carries an SDU segment and its segment number. During encryption, each PDU is independently secured using its segment number. For the sender, independent security protection at the PDU level reduces memory usage and lowers memory pressure. Correspondingly, the receiver can independently check the security of each PDU without having to perform an overall security check after reassembling the SDUs. This reduces the receiver's memory pressure and improves communication efficiency while ensuring data transmission security.

[0157] Furthermore, the segment sequence number of an SDU segment can be used to distinguish different SDU segments. Incorporating the segment sequence number into the PDU security protection process allows different parameters to be used for security protection of different PDUs, thus improving data transmission security. Moreover, since the sequence numbering method is continuous and unique, the method of determining the sequence number is intuitive, typically requires fewer bits, which helps reduce the computational load on nodes and has minimal impact on message format.

[0158] The methods of the embodiments of this application have been described in detail above. The apparatus of the embodiments of this application is provided below.

[0159] It should be understood that the division of units in the apparatus provided in this application embodiment is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, the units in the apparatus can be implemented by a processor calling software. For example, the apparatus includes a processor connected to a memory, which stores instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of each unit of the apparatus. The processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is either internal or external to the apparatus.

[0160] Alternatively, the units in the device can be implemented as hardware circuits. The functionality of some or all of the units can be achieved through the design of these hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC). The functionality of some or all of the above units is achieved through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a programmable logic device (PLD). Taking a field-programmable gate array (FPGA) as an example, it can include a large number of logic gates. The connection relationships between the logic gates are configured through a configuration file, thereby achieving the functionality of some or all of the above units.

[0161] In the embodiments of this application, each unit in the device may be one or more processors (or processing circuits) configured to implement the above methods, such as: CPU, graphics processing unit (GPU), neural network processing unit (NPU), tensor processing unit (TPU), deep learning processing unit (DPU), microprocessor unit (MPU), digital signal processor (DSP), ASIC, FPGA, or a combination of at least two of these processor forms.

[0162] Furthermore, the units in the above devices can be integrated in whole or in part, or they can be implemented independently. In one implementation, these units are integrated together as a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or for implementing the functions of the units in the device. The at least one processor can be of different types, such as including a CPU and an FPGA, or including a CPU and an artificial intelligence processor, or including a CPU and a GPU, etc. Several possible devices are listed below.

[0163] Please see Figure 14 , Figure 14This is a schematic diagram of a communication device provided in an embodiment of this application. Optionally, the communication device 140 can be an independent device, such as a node. Alternatively, the communication device 140 can also be a component within an independent device (such as a node), such as a chip or integrated circuit. The communication device 140 is used to implement the aforementioned communication method, for example... Figure 6 The communication method shown.

[0164] For example, the communication device 140 includes a processing unit 1401 and further includes a communication unit 1402. The processing unit 1401 is used to perform one or more operations such as processing, determining, generating, calculating, encrypting, and decrypting, while the communication unit 1402 is used to perform one or more operations such as sending and receiving. It should be understood that the unit division here is only illustrative; in a specific implementation, some units may be combined, or a single unit may be divided into multiple units. For example, the processing unit 1401 may include an acquisition unit and a calculation unit; the acquisition unit is used to acquire data from the upper layer, and the calculation unit is used to perform a calculation process.

[0165] In one possible design, the communication device is used, for example, to perform the method executed by the first node in the aforementioned communication method.

[0166] In one possible implementation, the processing unit 1401 is used to acquire SDUs from the upper layer, segment the SDUs to obtain N SDU segments, and generate N PDUs. Each of the N PDUs corresponds one-to-one with one of the N SDU segments. Each PDU carries the corresponding SDU segment and its segment number, where the segment number indicates the sequence number of each SDU segment after segmentation. The processing unit 1401 is also used to perform security protection on the PDUs corresponding to the SDU segments using the segment numbers. Here, n is an integer and n≥2.

[0167] In one possible implementation, security protection includes one or more of the following: confidentiality protection (i.e., encryption), integrity protection, and authentication encryption.

[0168] In one possible implementation, the segment number of the SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10.

[0169] In one possible implementation, M = 4.

[0170] In one possible implementation, among the N PDUs, the segment number of the corresponding SDU segment carried by each PDU is carried in the 4th byte of each PDU.

[0171] In one possible implementation, the processing unit 1401 is further configured to perform security protection on the PDU corresponding to the SDU using the segment sequence number of the SDU segment and the GFN, wherein the GFN is associated with the SDU.

[0172] In one possible implementation, the processing unit 1401 is further configured to encrypt the PDU corresponding to the SDU segment based on the segment number, GFN and encryption key of the SDU segment.

[0173] In one possible implementation, the processing unit 1401 is further configured to generate a check code based on the segment number of the SDU segment, the GFN, the integrity protection key, and the information contained in the PDU corresponding to the SDU segment. The check code is carried in the PDU and is used to check the integrity of the information contained in the PDU corresponding to the SDU segment.

[0174] In one possible implementation, the processing unit 1401 is further configured to encrypt the PDU corresponding to the SDU segment and obtain a check code based on the segment number of the SDU segment, the GFN, the authentication encryption key, and the information contained in the PDU corresponding to the SDU segment.

[0175] In one possible implementation, the communication unit 1402 is also used to send N securely protected PDUs to the second node.

[0176] In one possible implementation, the PDU also carries segment offset values ​​and / or segment indications.

[0177] For related descriptions, please refer to the descriptions in the foregoing embodiments, which will not be repeated here.

[0178] In one possible design, the communication device 140 is used to perform the method executed by the first node in the aforementioned communication method.

[0179] In one possible implementation, the communication unit 1402 is used to receive a PDUPDU from the first node. The PDDU carries a corresponding SDU segment and a segment number of the SDU segment. The segment number indicates the sequence number of the SDU segment within the SDU segments. The processing unit 1401 is used to check the security of the PDDU using the segment number of the SDU segment.

[0180] In one possible implementation, checking the security of a PDU includes at least one of the following operations: decryption (i.e., checking confidentiality), checking integrity, and authentication decryption (checking confidentiality and integrity).

[0181] In one possible implementation, the segment number of the SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10.

[0182] In one possible implementation, M = 4.

[0183] In one possible implementation, the segment number of the SDU segment is carried in the 4th byte of the PDU.

[0184] In one possible implementation, the processing unit 1401 is further configured to check the security of the PDU using the segment number of the SDU segment and the GFN associated with the SDU.

[0185] In one possible implementation, the processing unit 1401 is further configured to decrypt the PDU based on the segment number, GFN, and encryption key of the SDU segment.

[0186] In one possible implementation, the processing unit 1401 is further configured to check the integrity of the information contained in the PDU based on the segment sequence number, GFN, integrity protection key, and check code of the SDU segment.

[0187] In one possible implementation, the processing unit 1401 is further configured to decrypt the PDU and check the integrity of the information contained in the PDU based on the segment number of the SDU segment, GFN, authentication encryption key, information contained in the PDU corresponding to the SDU segment, and check code.

[0188] In one possible implementation, the PDU also carries segment offset values ​​and / or segmentation indicators.

[0189] For related descriptions, please refer to the descriptions in the foregoing embodiments, which will not be repeated here.

[0190] Please see Figure 15 , Figure 15 This is a schematic diagram of another communication device provided in an embodiment of this application. The communication device 150 can be a standalone device, such as a node, or a component included within a standalone device, such as a chip, software module, or integrated circuit. The communication device 150 may include at least one processor 1501 and a memory 1503. Optionally, it may also include a communication interface 1502. Further optionally, it may also include a connection line 1504, wherein the processor 1501, the communication interface 1502, and / or the memory 1503 are connected via the connection line 1504, and / or communicate with each other via the connection line 1504 to transmit control signals and / or data signals.

[0191] in:

[0192] Processor 1501 is a module that performs arithmetic and / or logical operations, and may specifically include one or more of the following modules: filter, modem, power amplifier, low noise amplifier (LNA), baseband processor, radio frequency processor, radio frequency circuit, central processing unit (CPU), application processor (AP), microcontroller unit (MCU), electronic control unit (ECU), graphics processing unit (GPU), microprocessor unit (MPU), application specific integrated circuit (ASIC), image signal processor (ISP), digital signal processor (DSP), field programmable gate array (FPGA), complex programmable logic device (CPLD), or coprocessor, etc.

[0193] The communication interface 1502 can be used to provide information input or output to at least one processor, or to receive and / or transmit signals to externally transmitted signals. For example, the communication interface 1502 may include interface circuitry. For instance, the communication interface 1502 may include a wired link interface such as an Ethernet cable, or a wireless link interface (Wi-Fi, Bluetooth, general wireless transmission, vehicular short-range communication technology, and other short-range wireless communication technologies, etc.). Optionally, the communication interface 1502 may also include a radio frequency transmitter, an antenna, etc. If the communication interface 1502 includes an antenna, the number of antennas can be one or more.

[0194] As one possible design, if the communication device 150 is a standalone device, the communication interface 1502 may include a receiver and a transmitter. The receiver and transmitter may be the same component or different components. When the receiver and transmitter are the same component, this component may be referred to as a transceiver.

[0195] As another possible design, if the communication device 150 is a chip or circuit, the communication interface 1502 may include an input interface and an output interface, which may be the same interface or different interfaces.

[0196] Alternatively, the functionality of the communication interface 1502 can be implemented via a transceiver circuit or a dedicated transceiver chip.

[0197] The memory 1503 provides storage space, in which data such as the operating system and computer programs can be stored. The memory 1503 can be one or a combination of several of the following: random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM).

[0198] The functions and operations of each module or unit in the communication device 150 listed above are merely illustrative examples.

[0199] Each functional unit in the communication device 150 can be used to implement the aforementioned communication method, for example... Figure 6 The communication method shown is, for example, a method used to execute the first node or the second node.

[0200] Optionally, the processor 1501 may be a processor specifically designed to perform the aforementioned methods (for ease of distinction, referred to as a dedicated processor), or a processor that performs the aforementioned methods by calling a computer program (for ease of distinction, referred to as a dedicated processor). Optionally, at least one processor may include both dedicated processors and general-purpose processors.

[0201] Optionally, if the communication device 150 includes at least one memory 1503, and the processor 1501 implements the aforementioned communication method by calling a computer program, the computer program can be stored in the memory 1503.

[0202] This application also provides a chip, which includes logic circuitry and a communication interface. The communication interface is used to receive or transmit signals; the logic circuitry is used to receive or transmit signals through the communication interface. The chip is used to implement the aforementioned communication method, for example... Figure 6 The communication method shown.

[0203] This application also provides a computer-readable storage medium storing instructions that, when executed on at least one processor (or communication device), implement the aforementioned communication method, for example... Figure 6 The communication method shown.

[0204] This application also provides a computer program product, which includes computer instructions for implementing the aforementioned communication method, for example... Figure 6 The communication method shown.

[0205] This application also provides a terminal, which includes the aforementioned communication device 140 and / or communication device 150.

[0206] In one possible implementation, the terminal includes a terminal node. Further, the terminal also includes a first management node and / or a second management node. Further, the terminal also includes a control node.

[0207] For example, the terminal can include intelligent terminals or transportation tools such as vehicles, robots, drones, ships, and vessels. Among them, "vehicle" is a broad concept, which can include transportation tools (such as commercial vehicles, passenger cars, motorcycles, flying cars, trains, etc.), industrial vehicles (such as forklifts, trailers, tractors, etc.), engineering vehicles (such as excavators, bulldozers, cranes, etc.), agricultural equipment (such as lawnmowers, harvesters, etc.). As another example, "robot" can be an automated guided vehicle (AGV), a walking conversational robot, a service robot, etc.

[0208] It should be noted that, in the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplarily" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0209] In this embodiment, the names of information and devices are exemplarily chosen for ease of understanding of the content of this solution; in specific implementations, these names may have other designs. Furthermore, the names of the same thing can have different designs in different scenarios (e.g., different communication layers). For example, time resource configuration information can also be called reference information. As another example, different communication layers may use different names for encapsulating service data. At the application layer, the first service is transmitted directly as data, but at the network layer, the data of the first service is encapsulated in the message transmission of the first service.

[0210] In the embodiments of this application, "at least one" refers to one or more items, and "more than one" refers to two or more items. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items.

[0211] For example, at least one of a, b, or c can be represented as: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, and c can be single or multiple. "AND / OR" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects have an "OR" relationship.

[0212] Furthermore, unless otherwise stated, the ordinal numbers such as "first," "second," "M1," "M2," "M3," "M4," "M5," "S1," "S2," and "S3" used in the embodiments of this application are for distinguishing multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects. Similarly, terms like "first node" and "second node" are merely for the convenience of describing new parameters in different implementations and do not indicate differences in their execution operations, importance, structure, etc.

[0213] In the above embodiments, the term "when..." can be interpreted, depending on the context, as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". The above descriptions are merely optional embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the concept and principles of this application should be included within the protection scope of this application.

[0214] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

Claims

1. A communication method, characterized in that, include: Obtain Service Data Unit (SDU) from the upper layer; The SDU is segmented to obtain N SDU segments, where N is an integer and N≥2; N Protocol Data Units (PDUs) are generated, and the N PDUs correspond one-to-one with the N SDU segments. Each PDU carries the corresponding SDU segment and the segment number of the corresponding SDU segment. The segment number is used to indicate the sequence number of each SDU segment after the SDU is segmented. The segment number of the SDU segment is used to perform security protection on the PDU corresponding to the SDU segment.

2. The method according to claim 1, characterized in that, The segment number of the SDU segment occupies M bits, where M is an integer and 0 < M ≤ 10.

3. The method according to claim 2, characterized in that, M=4。 4. The method according to any one of claims 1-3, characterized in that, In the N PDUs, the segment number of the corresponding SDU segment carried by each PDU is carried in the 4th byte of each PDU.

5. The method according to any one of claims 1-4, characterized in that, The method of using the segment sequence number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment includes: The PDU corresponding to the SDU is protected by using the segment sequence number and global frame number (GFN) of the SDU segment, and the GFN is associated with the SDU.

6. The method according to any one of claims 1-5, characterized in that, The method of using the segment sequence number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment includes: The PDU corresponding to the SDU segment is encrypted based on the segment sequence number, global frame number (GFN), and encryption key of the SDU segment.

7. The method according to any one of claims 1-6, characterized in that, The method of using the segment sequence number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment includes: A checksum is generated based on the segment sequence number of the SDU segment, the Global Frame Number (GFN), the integrity protection key, and the information contained in the PDU corresponding to the SDU segment. The check code is carried in the PDU and is used to check the integrity of the information contained in the PDU corresponding to the SDU segment.

8. The method according to any one of claims 1-5, characterized in that, The method of using the segment sequence number of the SDU segment to perform security protection on the PDU corresponding to the SDU segment includes: Based on the segment sequence number, global frame number (GFN), authentication encryption key, and information contained in the PDU corresponding to the SDU segment, the PDU corresponding to the SDU segment is encrypted to obtain a check code. The check code is carried in the PDU corresponding to the SDU segment, and the check code is used to check the integrity of the information contained in the PDU corresponding to the SDU segment.

9. The method according to any one of claims 1-8, characterized in that, The method further includes: Send the N securely protected PDUs to the first node.

10. The method according to any one of claims 1-9, characterized in that, Each PDU in the PDU also carries a segment offset value and / or a segmentation indication. The segment offset value is used to indicate the position of the first byte of the SDU segment corresponding to the PDU within the SDU. The segmentation indicator is used to indicate whether the SDU segment corresponding to the PDU belongs to the first segment, the middle segment, or the last segment.

11. A communication method, characterized in that, The communication method includes: Receive Protocol Data Unit (PDU) from the second node. The PDU carries a corresponding Service Data Unit (SDU) segment and the segment number of the SDU segment. The segment number is used to indicate the sequence number of the SDU segment in each segment of the SDU. The security of the PDU is checked using the segment number of the SDU segment.

12. The method according to claim 11, characterized in that, The segment number of the SDU segment occupies M bits, where M is an integer and 0 < M < 10.

13. The method according to claim 12, characterized in that, M=4。 14. The method according to any one of claims 11-15, characterized in that, The segment number of the SDU segment is carried in the 4th byte of the PDU.

15. The method according to any one of claims 11-16, characterized in that, The step of checking the security of the PDU using the segment sequence number of the SDU segment includes: The security of the PDU is checked using the segment sequence number and global frame number (GFN) of the SDU segment, where the GFN is associated with the SDU.

16. The method according to any one of claims 11-15, characterized in that, The step of checking the security of the PDU using the segment sequence number of the SDU segment includes: The PDU is decrypted based on the segment sequence number, global frame number (GFN), and encryption key of the SDU segment.

17. The method according to any one of claims 11-16, characterized in that, The PDU also carries a check code. The security protection of the PDU corresponding to the SDU segment using the segment sequence number of the SDU segment includes: The integrity of the information contained in the PDU is checked based on the segment sequence number, global frame number (GFN), integrity protection key, and check code of the SDU segment.

18. The method according to any one of claims 11-16, characterized in that, The PDU also carries a check code. The security protection of the PDU corresponding to the SDU segment using the segment sequence number of the SDU segment includes: Based on the segment sequence number of the SDU segment, the global frame number GFN, the authentication encryption key, the information contained in the PDU corresponding to the SDU segment, and the check code, the PDU is decrypted and the integrity of the information contained in the PDU is checked.

19. The method according to any one of claims 11-18, characterized in that, The PDU also carries segment offset values ​​and / or segment indications. The segment offset value is used to indicate the position of the first byte of the SDU segment contained in the PDU within the SDU. The segmentation indicator is used to indicate whether the SDU segment contained in the PDU belongs to the first segment, the middle segment, or the last segment.

20. A communication device, characterized in that, The communication device includes a unit or module for performing the method according to any one of claims 1 to 10, or includes a unit or module for performing the method according to any one of claims 11 to 19.

21. A communication device, characterized in that, The communication device includes a processor and a memory, the memory being used to store computer instructions, and the processor being used to invoke the computer instructions stored in the memory to implement the method according to any one of claims 1-10, or to implement the method according to any one of claims 11-19.

22. A chip, characterized in that, It includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices. The processor is configured to implement the method as described in any one of claims 1 to 10, or the method as described in any one of claims 11 to 19, through logic circuits or executing code instructions.

23. A communication system, characterized in that, The communication system includes a first node and a second node, wherein the second node is used to implement the method according to any one of claims 1-10, and the first node is used to implement the method according to any one of claims 11-19.

24. A terminal, characterized in that, The terminal includes the communication device as described in claim 20 or 21, or the communication system as described in claim 22.

25. A readable storage medium, characterized in that, The readable storage medium is used to store a computer program that, when executed by a processor, causes a communication device including the processor to perform the method as described in any one of claims 1 to 19.

26. A computer program product, characterized in that, When the computer program product is executed by a processor, it causes a communication device including the processor to perform the method as described in any one of claims 1 to 19.