A method of data processing and corresponding apparatus

By employing multi-layered encryption and random transmission path technologies, the issues of data transmission security and anonymity in cloud services are resolved, achieving enhanced concealment and security of data transmission and avoiding the risk of data leakage.

CN122160039APending Publication Date: 2026-06-05HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-12-03
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Traditional cloud services suffer from data transmission security and anonymity issues when handling personal user data. This is especially true with onion routing technology, where insufficient nodes make user data vulnerable to decryption and plaintext data susceptible to attacks, increasing the risk of data leakage.

Method used

It employs multi-layer encryption technology, using public keys from the user end, multiple relay nodes, and the server to form multi-layer encrypted data. The relay nodes decrypt layer by layer, hiding the location of the user end and the server. It uses a symmetric encryption key to encrypt the data payload, randomly selects the transmission path, establishes a temporary TLS channel and disconnects it, and clears historical records.

Benefits of technology

It improves the security and anonymity of data transmission, prevents relay nodes from determining the data source, and makes it impossible for the server to determine the data source, thus enhancing the concealment and security of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122160039A_ABST
    Figure CN122160039A_ABST
Patent Text Reader

Abstract

The application provides a data processing method, which can be applied to an end-cloud communication system or other systems requiring protection of data privacy. The method comprises the following steps: a user end can generate a transmission path by confusing a plurality of nodes randomly selected from a large number of relay nodes, other user ends or other service ends; and the user end can perform multi-layer encryption on data according to node information on the transmission path. In this way, in the process of transmission of the multi-layer encrypted data in the transmission path, each relay node on the transmission path can only decrypt one layer of data corresponding to the relay node, and the next layer of data obtained is in an encrypted state, so that each relay node cannot determine its position in the transmission path and cannot determine the source of the first encrypted data, and a service end cannot determine the source of the encrypted data after receiving the encrypted data. In this way, the security of data transmission is improved, and the anonymity of communication is 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, specifically to a data processing method and corresponding apparatus. Background Technology

[0002] With the rapid development of Artificial Intelligence (AI) and Machine Learning (ML) technologies, users are increasingly relying on cloud services to process and store personal data. However, cloud services face significant privacy and security challenges when processing personal user data. Traditional AI cloud services typically require decrypting user data before storage to use large-scale machine learning models to meet user requests, making the data vulnerable to attacks and leaks during transmission and processing. Furthermore, in traditional cloud computing environments, attackers can centrally steal specific users' data by compromising servers or transmission nodes. To prevent data from becoming the target of malicious attacks, user anonymity is also crucial.

[0003] Taking the "Onion Router" (Tor) technology as an example, the Tor network consists of three parts: ingress nodes, relay nodes, and egress nodes. User data sent from the client is encrypted in multiple layers, and then decrypted layer by layer at each node in the Tor network until the egress node completes the final layer of decryption, sending the data in plaintext to the cloud server. With this Onion Router technology, if there are insufficient nodes in the Tor network, user data can easily be decrypted. Furthermore, the data sent from the egress node is in plaintext, making it vulnerable to attacks, which increases the risk of user data leakage and poses a security vulnerability.

[0004] Therefore, the issues of data transmission security and communication anonymity urgently need to be addressed. Summary of the Invention

[0005] This application provides a data processing method to improve the security and anonymity of data transmission. This application also provides corresponding apparatus, computer-readable storage media, and computer program products.

[0006] This application provides a data processing method applied to a user terminal in a transmission network. Terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. This can also be understood as various types of devices in the transmission network acting as relay nodes. The user terminal can be a terminal device, a component within the terminal device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the terminal device's functions. The method includes: determining a first transmission path for first data; wherein the transmission nodes on the first transmission path include the user terminal, multiple relay nodes, and a server; performing multi-layer encryption on second data to obtain first encrypted data; wherein the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer layer by layer, sequentially using the public keys of the server and each relay node, from the innermost layer to the outermost layer, following the order from the server to the user terminal on the first transmission path; wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; and sending the first encrypted data to the first relay node of the next hop on the first transmission path.

[0007] In this application, the first data is the data that the user client wants to send to the server for storage or processing. The server can be a cloud server or service node, and the service node can be a virtual machine (VM) or a container. The association of the second data with the first data means that the second data can include all of the first data, or the second data includes a portion of the first data, such as header information. If the second data includes all of the first data, then the first encrypted data can include the second data after multiple layers of encryption; if the second data includes the header information of the first data, the first encrypted data includes not only the second data after multiple layers of encryption but also the payload of the first data.

[0008] In this application, the first transmission path refers to the transmission path from the user terminal to the server generated by the user terminal for transmitting the first data to the server. This first transmission path may include multiple relay nodes, which can be routing devices in a relay network, such as routers, switches, etc., or terminal devices or servers. The first transmission path may be generated by randomly selecting devices from a large number of terminal devices, service devices, or routing devices.

[0009] In this application, the "multi-layer encryption" refers to the number of relay nodes and the server on the first transmission path. For example, if there are four relay nodes plus the server, five layers of encryption are required. The encryption order is as follows: first, the server's public key is used to encrypt the second data and the server's address information to obtain the first layer. Then, based on the first layer, following the order from the server to the user (or the reverse order starting from the user), each layer uses the public key of the corresponding relay node to encrypt the data of the previous layer and the address information of the server or relay node of the previous layer, until the relay node adjacent to the user is reached, thus obtaining the first encrypted data. In this way, after the user sends the first encrypted data, the relay nodes on the first transmission path can peel an onion, with each relay node using its own private key to decrypt a layer of data to obtain the address information of the next hop, and then sending the remaining encrypted data of the decrypted layer to the next hop, until the encrypted data is transmitted to the server. The server then uses its own private key to decrypt the last layer of data to obtain the second data, and further obtains the first data based on the second data.

[0010] In this application, both the terminal device and the server can act as relay nodes, which can effectively hide the position of the user end and the server end in the communication link. This makes it impossible for each device on the transmission path to determine which device on the transmission path is the user end or the server end, thereby effectively concealing the source of the data.

[0011] In the first aspect mentioned above, the first transmission path can be generated by the user terminal randomly selecting nodes from a massive number of relay nodes, other user terminals, or other servers, and generating a different transmission path by randomly selecting nodes each time the user terminal sends data. During the transmission of the first encrypted data in the first transmission path, each relay node on the first transmission path can only decrypt the data corresponding to itself, and the next layer of data obtained is in an encrypted state. This makes it impossible for each relay node to determine its position in the first transmission path or the source of the first encrypted data. The server, after receiving the encrypted data, also cannot determine the source of the data. In this way, both the security of data transmission and the anonymity of communication are improved.

[0012] In one possible implementation, the method further includes: if the payload length of the first data exceeds a first threshold, symmetric encryption is performed on the payload of the first data using a symmetric encryption key; correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

[0013] In this application, the first threshold can be a preset value or a dynamically determined value, such as 256 bytes or other values.

[0014] In this application, the symmetric encryption key is used as part of the second data. After receiving the encrypted data, the server decrypts the last layer of data to obtain the second data. The server can then use the symmetric encryption key to encrypt the payload portion of the first data, thereby decrypting it to obtain the first data. Furthermore, the symmetric encryption key can also be used for encryption when transmitting data back to the user.

[0015] In this possible implementation, when the payload length of the first data is large, using a symmetric encryption key to symmetrically encrypt the payload of the first data can improve the speed of payload encryption. Then, using the header information of the first data and the symmetric encryption key as the second data for multi-layer encryption also facilitates rapid multi-layer encryption. This approach can improve both the security and anonymity of data transmission and the encryption speed of the first data.

[0016] In one possible implementation, if the payload length of the first data is less than a first threshold, then the second data includes the first data and a symmetric encryption key.

[0017] In this application, the symmetric encryption key is used as part of the second data, which the server can use to encrypt data when sending it back to the user.

[0018] In this possible implementation, if the payload length of the first data is less than the first threshold, the first data can be directly encrypted using multiple layers as a whole. This eliminates the need for two encryption methods as when the payload length is longer, thus improving the convenience of encryption.

[0019] In one possible implementation, determining the first transmission path for the first data includes: randomly selecting transmission nodes to generate the transmission path based on a node list of the transmission network, wherein the node list includes the address information and public key of the transmission nodes in the transmission network.

[0020] In this application, the node list of the transmission network can include a large amount of information about the transmission nodes, such as their address information and public keys. Transmission nodes can include various types of client, server, and relay nodes.

[0021] In this application, the Diffile-Hellman algorithm can be used to randomly select transmission nodes to generate the first transmission path.

[0022] In this possible implementation, the anonymity of data transmission can be improved by randomly selecting multiple types of transmission nodes from a massive number of transmission nodes to obfuscate and obtain the first transmission path.

[0023] In one possible implementation, the method further includes: receiving the processing result of the first data through a transport layer security (TLS) tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key; and decrypting the processing result of the first data using the symmetric encryption key.

[0024] In this possible implementation, after processing the first data, the server can encrypt the processing result using a symmetric encryption key, and then send the encrypted processing result back via TLS corresponding to the first transmission path. In this way, the server does not need to know the relay nodes and user terminals on the first transmission path, further improving the anonymity of communication.

[0025] In one possible implementation, the transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

[0026] In this possible implementation, the link mapping table can maintain the previous hop information and next hop information of each port on the relay node. In this way, each relay node can establish a corresponding temporary TLS based on the first transmission path. The server can return the processing result of the first data through the TLS, which can improve the anonymity of communication.

[0027] In one possible implementation, the method further includes: transmitting connection disconnection indication information through a first transmission path, the connection disconnection indication information being used to instruct each transmission node on the first transmission path to clear temporary connection information associated with the first transmission path.

[0028] In this application, temporary connection information refers to information generated during the transmission of the first encrypted data.

[0029] In this possible implementation, the user can disconnect from the first relay node at any time. The user can disconnect by transmitting a disconnection indication message through the first transmission path. In this way, each transmission node on the first transmission path will clear the temporary connection information related to the first transmission path, so that no historical records or data cache are left, thus improving the privacy of data transmission.

[0030] A second aspect of this application provides a data processing method applied to a server in a transmission network. Terminal devices, servers, and routing devices in this network all act as relay nodes for forwarding data. The server can be a network device, a component within the network device (e.g., a processor, chip, or chip system), or a logical module or software capable of implementing all or part of the network device's functions. The network device can be a server or a service node in the cloud, or an access network device or a core network device. The service node can be a virtual machine or a container. The method includes: receiving second encrypted data sent by a second relay node; wherein the second relay node is the relay node preceding the server on the first transmission path, and the second encrypted data is data obtained by sequentially decrypting the first encrypted data through each relay node on the first transmission path; the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and a server; the first encrypted data is obtained by sequentially encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer using the public key of the server and each relay node in the order from the server to the user terminal on the first transmission path from the inner layer to the outer layer, wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; and decrypting the second encrypted data using the private key of the server to obtain the first data.

[0031] In this application, the second encrypted data refers to the data after the first encrypted data has been decrypted layer by layer by multiple relay nodes on the first transmission path. The second encrypted data also needs to be decrypted by the server.

[0032] In this application, the second relay node is a relay node on the first transmission path that communicates with the server.

[0033] In the second aspect mentioned above, the first transmission path can be generated by the user terminal randomly selecting nodes from a massive number of relay nodes, other user terminals, or other servers, and generating a different transmission path by randomly selecting nodes each time the user terminal sends data. During the transmission of the first encrypted data along the first transmission path, each relay node on the first transmission path can only decrypt the data corresponding to its own layer, and the next layer of data obtained is in an encrypted state. This makes it impossible for each relay node to determine its position in the first transmission path or the source of the first encrypted data. Similarly, the server, upon receiving the encrypted data, cannot determine the source of the data. This improves both the security of data transmission and the anonymity of communication.

[0034] In one possible implementation, the above steps of decrypting the second encrypted data using the server's private key to obtain the first data include: decrypting the second encrypted data using the server's private key to obtain the header information and symmetric encryption key of the first data; and decrypting the payload of the first data using the symmetric encryption key to obtain the payload of the first data.

[0035] In one possible implementation, the above steps, namely: decrypting the second encrypted data using the server's private key to obtain the first data, include: decrypting the second encrypted data using the server's private key to obtain the first data and a symmetric encryption key, wherein the symmetric encryption key is used to encrypt the processing result of the first data.

[0036] In one possible implementation, the method further includes: sending the processing result of the first data to the user terminal through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key.

[0037] In one possible implementation, the transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

[0038] A third aspect of this application provides a data processing apparatus, which is a user terminal in a transmission network. Terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The data processing apparatus includes:

[0039] The first processing unit is used to determine a first transmission path for the first data; wherein the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and a server terminal;

[0040] The second processing unit is used to perform multi-layer encryption on the second data to obtain the first encrypted data. The first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer in the order from the server to the user on the first transmission path from the inner layer to the outer layer. The data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data.

[0041] The sending unit is used to send the first encrypted data to the first relay node of the next hop of the user terminal on the first transmission path.

[0042] In one possible implementation, the second processing unit is further configured to perform symmetric encryption on the payload of the first data using a symmetric encryption key if the payload length of the first data exceeds a first threshold; correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

[0043] In one possible implementation, if the payload length of the first data is less than a first threshold, then the second data includes the first data and a symmetric encryption key.

[0044] In one possible implementation, the first processing unit is further configured to randomly select a transmission node to generate a first transmission path based on a list of nodes in the transmission network.

[0045] In one possible implementation, the device further includes a receiving unit;

[0046] The receiving unit is configured to receive the processing result of the first data through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key.

[0047] The second processing unit is also used to decrypt the processing result of the first data according to the symmetric encryption key.

[0048] In one possible implementation, the transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

[0049] In one possible implementation, the sending unit is further configured to transmit connection disconnection indication information through the first transmission path, the connection disconnection indication information being used to instruct each transmission node on the first transmission path to clear the temporary connection information associated with the first transmission path.

[0050] A fourth aspect of this application provides a data processing apparatus, which is a server in a transmission network. Terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The data processing apparatus includes:

[0051] The receiving unit is used to receive second encrypted data sent by the second relay node; wherein the second relay node is the relay node one hop before the server on the first transmission path, and the second encrypted data is the data after the first encrypted data has been decrypted layer by layer by each relay node on the first transmission path; the transmission nodes on the first transmission path include the user terminal, multiple relay nodes, and the server; the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer by using the public key of the server and each relay node in the order from the server to the user terminal on the first transmission path from the inner layer to the outer layer, wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data;

[0052] The processing unit is used to decrypt the second encrypted data using the server's private key to obtain the first data.

[0053] In one possible implementation, the processing unit is used to decrypt the second encrypted data using the server's private key to obtain the header information and symmetric encryption key of the first data; and to decrypt the payload of the first data using the symmetric encryption key to obtain the payload of the first data.

[0054] In one possible implementation, the processing unit is used to decrypt the second encrypted data using the server's private key to obtain the first data and a symmetric encryption key, the symmetric encryption key being used to encrypt the processing result of the first data.

[0055] In one possible implementation, the device further includes a transmitting unit;

[0056] The sending unit is used to send the processing result of the first data to the user terminal through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted with a symmetric encryption key.

[0057] In one possible implementation, the first transmission path is a transport layer security protocol tunnel maintained by each relay node using a link mapping table.

[0058] A fifth aspect of this application provides a data processing apparatus, which includes a processor. The processor is configured to call and run a computer program stored in a memory, causing the processor to implement the method described in the first aspect or any of the implementations in the first aspect.

[0059] Optionally, the data processing device may further include an input / output (I / O) unit or a communication interface; the processor may also control the I / O unit or communication interface to send or receive data.

[0060] Optionally, the data processing device includes a memory in which a computer program is stored.

[0061] The data processing device mentioned in the fifth aspect above can be a device or a chip (system) in a device.

[0062] A sixth aspect of this application provides a data processing apparatus, which includes a processor. The processor is configured to call and run a computer program stored in a memory, such that the processor implements the second aspect or any of the implementations in the second aspect.

[0063] Optionally, the data processing device may further include an I / O unit or a communication interface; the processor may also control the I / O unit or communication interface to send or receive data.

[0064] Optionally, the data processing device includes a memory in which a computer program is stored.

[0065] The data processing apparatus described in the sixth aspect above can be a device or a chip (system) within a device.

[0066] The seventh aspect of this application provides a data processing apparatus, which can be a user terminal or a module or unit (e.g., a chip, a chip system, or a circuit) that performs the methods / operations / steps / actions described in the first aspect or any implementation of the first aspect.

[0067] The eighth aspect of this application provides a data processing apparatus, which can be a server, or a module or unit (e.g., a chip, a chip system, or a circuit) in the server that executes the methods / operations / steps / actions described in the second aspect or any implementation of the second aspect.

[0068] The ninth aspect of this application provides a computer-readable storage medium including computer instructions that, when executed on a computer, cause the computer to perform an implementation as described in the first aspect or any of the first aspects.

[0069] The tenth aspect of this application provides a computer-readable storage medium including computer instructions that, when executed on a computer, cause the computer to perform an implementation as described in the second aspect or any of the second aspects.

[0070] The eleventh aspect of this application provides a computer program product including instructions that, when run on a computer, cause the computer to perform an implementation as described in the first aspect or any of the first aspects.

[0071] The twelfth aspect of this application provides a computer program product including instructions that, when run on a computer, cause the computer to perform an implementation as described in the second aspect or any of the second aspects.

[0072] The thirteenth aspect of this application provides a chip device including a processor for calling a program stored in a memory, such that the processor executes the first aspect or any implementation thereof.

[0073] Optionally, the memory may be located inside or outside the chip device.

[0074] The fourteenth aspect of this application provides a chip device including a processor for calling a program stored in a memory, such that the processor executes the second aspect or any implementation thereof described above.

[0075] Optionally, the memory may be located inside or outside the chip device.

[0076] The fifteenth aspect of this application provides a communication system comprising a user terminal and a server terminal. The user terminal is used to execute the first aspect or any one of the implementations of the first aspect, and the server terminal is used to execute the second aspect or any one of the implementations of the second aspect.

[0077] The technical effects of the second, third, or fourth aspects, or any possible implementation of the second, third, or fourth aspects, and the fifth to fifteenth aspects, can be found in the first aspect or the technical effects of different possible implementations of the first aspect, and will not be repeated here. Attached Figure Description

[0078] Figure 1 This is a schematic diagram of an embodiment of the communication system provided in this application;

[0079] Figure 2A This is a schematic diagram of the structure of the cloud system provided in an embodiment of this application;

[0080] Figure 2B This is another structural schematic diagram of the cloud system provided in the embodiments of this application;

[0081] Figure 2C This is a schematic diagram of a data center structure provided in an embodiment of this application;

[0082] Figure 3 This is a schematic diagram of an embodiment of the data processing method provided in this application;

[0083] Figure 4A and Figure 4B This is an example diagram of the data encryption process provided in the embodiments of this application;

[0084] Figure 5A and Figure 5B This is an example diagram of the data decryption process provided in the embodiments of this application;

[0085] Figure 6 This is a schematic diagram of an application scenario for data transmission provided in an embodiment of this application;

[0086] Figure 7A This is an example diagram of multi-layered data encryption provided in an embodiment of this application;

[0087] Figures 7B to 7F These are several example diagrams illustrating the layer-by-layer decryption of data provided in the embodiments of this application;

[0088] Figure 8 This is another schematic diagram illustrating the application scenario of data transmission provided in the embodiments of this application;

[0089] Figure 9This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0090] Figure 10 This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0091] Figure 11 This is a schematic diagram of the structure of the data processing apparatus provided in an embodiment of this application;

[0092] Figure 12 This is another structural schematic diagram of the data processing apparatus provided in the embodiments of this application;

[0093] Figure 13 This is another structural schematic diagram of the data processing device provided in the embodiments of this application. Detailed Implementation

[0094] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0095] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0096] This application provides a data processing method to improve the security and anonymity of data transmission. This application also provides corresponding apparatus, computer-readable storage media, and computer program products. These will be described in detail below.

[0097] For ease of understanding, the technical terms involved in the embodiments of this application are briefly introduced below:

[0098] 1. Artificial Intelligence (AI): AI is the theory, methods, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to have the functions of perception, reasoning, and decision-making. Research in the field of artificial intelligence includes robotics, natural language processing, computer vision, decision-making and reasoning, human-computer interaction, recommendation and search, and basic AI theory. After more than half a century of development, AI technology has now fully entered the stage of industrialization and has penetrated into all walks of life. In the accelerated development of the AI ​​technology ecosystem, cloud platforms have become an important basic carrier for AI technology. They can not only provide low-cost and highly flexible infrastructure resources through automation and resource abstraction, but also provide flexible services at the platform and application layers. With the development of AI, users are increasingly relying on cloud services to store or compute user data.

[0099] 2. Cloud services: These refer to services provided through cloud systems or platforms, which users can purchase on demand. Common cloud services for users include cloud computing and cloud storage. Cloud computing means that a cloud platform can provide computing services to users through one or more servers (in cloud computing, these servers can be computing nodes). For example, if a user wants to train an AI model, the cloud platform can allocate one or more servers to perform the computation, and then return the results to the user. Cloud storage means that users send the data they want to store to the cloud platform, which can then store the user's data in one or more servers (in cloud storage, these servers can be storage nodes). Communication between the user and the server can be achieved through a relay network. A system including the user, server, and relay network can be called a transmission network / transmission system or a communication system.

[0100] 3. Relay network: refers to a network composed of multiple relay nodes; such as... Figure 1 As shown, this relay network can include a massive number of relay nodes, which can be routers, switches, gateways, network devices in wireless access networks, or user-end and server-end devices. The user-end can be a terminal device, a component within a terminal device (e.g., a processor, chip, or chip system), or a logical module or software that implements all or part of the terminal device's functions. The server-end can be a cloud-based server or service node, and the service node can be a virtual machine (VM) or a container.

[0101] 4. Terminal device: It can be a wireless terminal device that can receive network device scheduling and instruction information. The wireless terminal device can be a device that provides voice and / or data connectivity to the user, or a handheld device with wireless connection function, or other processing device connected to a wireless modem.

[0102] Terminal devices can communicate with one or more core networks or the Internet via a radio access network (RAN). Terminal devices can be mobile terminal devices, such as mobile phones (or "cellular" phones), computers, and data cards. For example, they can be portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile devices that exchange voice and / or data with the RAN. Examples include personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), tablets, and computers with wireless transceiver capabilities. Wireless terminal equipment can also be called subscriber unit, subscriber station, mobile station (MS), remote station, access point (AP), remote terminal, access terminal, user terminal, user agent, subscriber station (SS), customer premises equipment (CPE), terminal, user equipment (UE), mobile terminal (MT), etc.

[0103] By way of example and not limitation, in this embodiment, the terminal device can also be a wearable device. Wearable devices, also known as wearable smart devices or smart wearable devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include those that are feature-rich, large in size, and can achieve complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses, as well as those that focus on a specific type of application function and require the use of other devices such as smartphones, such as various smart bracelets, smart helmets, and smart jewelry for vital sign monitoring.

[0104] Terminal devices can also be drones, robots, devices in device-to-device (D2D) communication, vehicles to everything (V2X) communication, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in telemedicine or telehealth services, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.

[0105] Furthermore, terminal devices can also be terminal devices in future communication systems beyond the fifth generation (5G) (such as 5G Advanced communication systems) or in future evolved public land mobile networks (PLMNs). For example, 5G Advanced networks can further expand the form and function of 5G communication terminals; 5G Advanced terminals include, but are not limited to, vehicles, cellular network terminals (integrating satellite terminal functions), drones, and Internet of Things (IoT) devices.

[0106] In this embodiment, the terminal device can also obtain artificial intelligence (AI) services provided by the network device. Optionally, the terminal device can also have AI processing capabilities.

[0107] 5. Network equipment: This can be equipment within a wireless network. For example, network equipment can be a RAN node (or device) that connects terminal devices to the wireless network, and can also be called a base station. Currently, some examples of RAN equipment include: base stations, evolved NodeBs (eNodeBs), gNBs (gNodeBs) in 5G communication systems, transmission reception points (TRPs), evolved Node Bs (eNBs), radio network controllers (RNCs), Node Bs (NBs), home base stations (e.g., home-evolved Node Bs, or home Node Bs, HNBs), base band units (BBUs) or wireless fidelity (Wi-Fi) access points (APs), terminals that function as base stations in device-to-device (D2D) communication, satellites, drones, unmanned spacecraft, communication balloons, and other non-ground equipment. In addition, in one network architecture, network devices may include central unit (CU) nodes, distributed unit (DU) nodes, or RAN devices that include both CU and DU nodes.

[0108] Optionally, the RAN node can also be a macro base station, micro base station, indoor station, relay node, donor node, or a radio controller in a cloud radio access network (CRAN) scenario. The RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU).

[0109] 6. The terms "system" and "network" in the embodiments of this application can be used interchangeably. "Multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects.

[0110] 7. In the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which may include sending directly via the air interface or sending indirectly via the air interface from other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which may include receiving directly from YY via the air interface or receiving indirectly from YY via the air interface from other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.

[0111] In other words, sending and receiving can occur between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via buses, wiring, or interfaces.

[0112] It is understandable that information may undergo necessary processing, such as encoding and modulation, between the source and destination, but the destination can understand the valid information from the source. Similar statements in this application can be interpreted in a similar way and will not be elaborated further.

[0113] 8. In the embodiments of this application, "instruction" may include direct instruction and indirect instruction, as well as explicit instruction and implicit instruction. The information indicated by a certain piece of information (hereinafter referred to as instruction information) is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is an association between the other information and the information to be instructed; or it can only indicate a part of the information to be instructed, while the other parts of the information to be instructed are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol predefined) arrangement order of various information, thereby reducing the instruction overhead to a certain extent. This application does not limit the specific method of instruction. It is understood that for the sender of the instruction information, the instruction information can be used to indicate the information to be instructed; for the receiver of the instruction information, the instruction information can be used to determine the information to be instructed.

[0114] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, and the various methods / designs / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various methods / designs / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various methods / designs / implementations within each embodiment can be combined to form new embodiments, methods, or implementations based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0115] The technical solutions of this application can be applied to various communication systems, such as: cloud systems for edge-to-cloud communication, mobile communication systems requiring privacy protection, the Internet of Things (IoT), social networks, and decentralized blockchain networks. The following description uses a cloud system for edge-to-cloud communication as an example.

[0116] Figure 2A This is a schematic diagram of the structure of a cloud system provided in an embodiment of this application.

[0117] like Figure 2A As shown, the cloud system includes a scheduling node and multiple service nodes. The scheduling node can communicate with multiple service nodes. The scheduling node can receive service requests sent by the client and then schedule computing / storage tasks to one or more service nodes for execution based on the type of service request.

[0118] Figure 2AThe scheduling node can be a standalone device, or it can be integrated into the control platform of the cloud system, or it can be integrated into a service node.

[0119] The functionality of a scheduling node can be implemented through software or hardware.

[0120] As an example of a software functional unit, a scheduling node can include code running on a compute instance. A compute instance can include at least one of a physical host (compute device), a virtual machine, or a container. Furthermore, the aforementioned compute instance can be one or more. For example, a scheduling node can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region can include multiple AZs.

[0121] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a single region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0122] As an example of a hardware functional unit, a scheduling node can include at least one computing device, such as a server. Alternatively, a scheduling node can also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD can be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0123] The scheduling node comprises multiple computing devices that can be distributed in the same region or in different regions. Similarly, the scheduling node may be located within the same Availability Zone (AZ) or in different AZs. Likewise, the scheduling node may be located within the same Virtual Private Cloud (VPC) or multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0124] The cloud system provided in this application embodiment can be a cloud service system. In a cloud service system, such as... Figure 2B As shown, the cloud service system includes a cloud platform and basic resources. The cloud platform includes a cloud platform manager. Figure 2A The scheduling node in the middle can be Figure 2B The cloud platform manager in the system. Basic resources can include multiple servers, and each server can include multiple service nodes.

[0125] exist Figure 2A and Figure 2B When a service node is used to perform computing tasks, it can be a computing device card or a virtual machine (VM). The computing device card can be at least one of a central processing unit (CPU), a graphics processing unit (GPU), and a network processing unit (NPU). When a service node is used to perform storage tasks, it can be data storage, including but not limited to solid-state drives (SSDs), disk arrays, or other types of non-transitory computer-readable media.

[0126] The cloud platform manager can compile and optimize the computation graph, such as by slicing the computation graph.

[0127] The cloud system provided in this application embodiment can be a data center, in which, for example... Figure 2C As shown, the data center includes a data center management platform, an internal data center network, and multiple servers. Each server comprises a hardware layer and a software layer. The hardware layer includes memory, network interface cards (NICs), processors, and disks, which are connected via a bus. The hardware layer provides the necessary hardware resources for the virtual machines in the software layer to run. The software layer includes a host operating system and multiple virtual machines. The host operating system may include a data center management platform client, enabling interaction with the data center management platform.

[0128] Virtualization technology mainly consists of computing virtualization and input / output (I / O) virtualization. It uses virtual machines as the granularity to share a physical server with multiple users, enabling users to use physical resources conveniently and flexibly under the premise of secure isolation, and greatly improving the utilization rate of physical resources.

[0129] Computational virtualization provides computing resources such as the server's processor and memory to virtual instances. Virtual instances are, for example, virtual machines, and in other scenarios, containers or bare metal servers.

[0130] Figure 2C Each server in the system uses virtualization technology to obtain multiple virtual machines, and each virtual machine can be understood as a service node. Figure 2A The scheduling node in the middle can be Figure 2C The data center management platform in China.

[0131] Virtual machines can also be called cloud servers (Elastic Compute Service, ECS) or elastic instances (different cloud service providers may use different names).

[0132] The data center management platform can provide access interfaces (such as user interfaces or application programming interfaces, APIs). Users can remotely access these interfaces via client software to register an account and password on the data center management platform and log in. After successful authentication of the account and password, the user can send data to the platform through the client. The platform can then assign computation or storage tasks to that data, schedule these tasks to one or more virtual machines for execution, and return the processing results or task completion response to the user. Figure 2C The client in this context refers to the user terminal.

[0133] The data processing method provided in the embodiments of this application can be found in [reference]. Figure 3 To understand.

[0134] like Figure 3 As shown, the data processing method provided in this application embodiment includes:

[0135] S301. The user terminal determines the first transmission path for the first data.

[0136] In this application, the user terminal can determine the first transmission path based on the transmission network for the first data. The terminal devices, servers, and routing devices in the transmission network all act as relay nodes to forward data. This can also be understood as various types of devices in the transmission network being used as relay nodes.

[0137] The transmission nodes on the first transmission path include the user terminal, multiple relay nodes, and the server terminal.

[0138] In this application, the first data is the data that the user client wants to send to the server for storage or processing.

[0139] In this application, the Diffile-Hellman algorithm can be used to randomly select transmission nodes to generate the first transmission path.

[0140] S302. The user terminal performs multi-layer encryption on the second data to obtain the first encrypted data.

[0141] The first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer in the order from the server to the user on the first transmission path from the inner layer to the outer layer. The data of the first layer is the second data, which is associated with the first data. The first encrypted data contains the first data.

[0142] In this application, the association of second data with first data means that the second data may include all of the first data, or the second data may include a portion of the first data, such as header information. If the second data includes all of the first data, then the first encrypted data may include the second data after multiple layers of encryption; if the second data includes the header information of the first data, the first encrypted data includes not only the second data after multiple layers of encryption, but also the payload of the first data.

[0143] There can be multiple relationships between the first data, the second data, and the first encrypted data. The following explanation uses two examples:

[0144] The first method: If the payload length of the first data exceeds the first threshold, the payload of the first data can be symmetrically encrypted using a symmetric encryption key. Correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

[0145] In this application, the first threshold can be a preset value or a dynamically determined value, such as 256 bytes or other values.

[0146] In this case, the relationship between the first data, the second data, and the first encrypted data can be found in [reference needed]. Figure 4A To understand. For example Figure 4AAs shown, the first data includes payload 401 and header information 402; the second data includes header information 402 and symmetric encryption key 403; the first encrypted data includes symmetrically encrypted payload 404 and multi-layer encrypted second data 405. Specifically, the symmetrically encrypted payload 404 of the first data is obtained by symmetrically encrypting payload 401 using symmetric encryption key 403; the multi-layer encrypted second data 405 is obtained through multi-layer encryption. The "multi-layer encryption" refers to the number of relay nodes on the first transmission path and the server. For example, if there are 4 relay nodes plus the server, then 5 layers of encryption are required. The encryption order is as follows: first, the server's public key is used to encrypt the second data and the server's address information to obtain the first layer. Then, based on the first layer, following the order from the server to the user (or the reverse order starting from the user), each layer uses the public key of the corresponding relay node to encrypt the data of the previous layer and the address information of the server or relay node of the previous layer, until a relay node adjacent to the user is reached, resulting in the first encrypted data.

[0147] In this application, when the payload length of the first data is large, using a symmetric encryption key to symmetrically encrypt the payload of the first data can improve the speed of payload encryption. Then, using the header information of the first data and the symmetric encryption key as the second data for multi-layer encryption also facilitates rapid multi-layer encryption. This improves both the security and anonymity of data transmission and the encryption speed of the first data.

[0148] The second approach: If the payload length of the first data is less than the first threshold, then the second data includes the first data and the symmetric encryption key.

[0149] In this case, the relationship between the first data, the second data, and the first encrypted data can be found in [reference needed]. Figure 4B To understand. For example Figure 4B As shown, the first data includes payload 411 and header information 412; the second data includes the first data and a symmetric encryption key 413, which can be provided to the server for encryption when sending data back to the user; the first encrypted data includes the second data 414 after multiple layers of encryption. For details on multiple layers of encryption, please refer to the above. Figure 4A To understand the part of the introduction.

[0150] In this application, if the payload length of the first data is less than the first threshold, the first data can be directly encrypted using multiple layers as a whole. This eliminates the need for two encryption methods as when the payload length is longer, thus improving the convenience of encryption.

[0151] S303. The user terminal sends the first encrypted data to the first relay node, which is the next hop of the user terminal on the first transmission path. Correspondingly, the first relay node receives the first encrypted data.

[0152] S304. The first relay node uses its private key to decrypt the outermost layer of the first encrypted data to obtain the address information of the next hop relay node.

[0153] S305. The first relay node sends the encrypted data after stripping the outermost layer to the next hop relay node based on the address information of the next hop relay node.

[0154] If there are multiple relay nodes, S304 and S305 can be repeated, but the decryption layers are different for different relay nodes.

[0155] S306. The second relay node receives encrypted data sent by the previous hop relay node.

[0156] In this application, the second relay node is the relay node preceding the server on the first transmission path. The encrypted data received by the second relay node includes two layers of encryption.

[0157] S307. The second relay node decrypts the outermost layer of the received encrypted data using its private key to obtain the address information of the next-hop server.

[0158] S308. The second relay node sends the second encrypted data to the server based on the server's address information.

[0159] The second encrypted data is the data obtained after the first encrypted data has been decrypted layer by layer by each relay node on the first transmission path.

[0160] S309. The server decrypts the second encrypted data using its private key to obtain the first data.

[0161] As can be seen from S304 to S309 above, after the user terminal sends the first encrypted data, the relay nodes on the first transmission path can peel an onion. Each relay node uses its own private key to decrypt a layer of data to obtain the address information of the next hop, and then sends the remaining encrypted data of the decrypted layer to the next hop. This continues until the encrypted data is transmitted to the server. The server then uses its own private key to decrypt the last layer of data to obtain the second data, and further obtains the first data based on the second data.

[0162] The process of decrypting the second data to obtain the first data corresponds to the encryption process. If the encryption process uses, for example, the above... Figure 4A In the case of [the first data], the server uses its private key to decrypt the second encrypted data to obtain the header information and symmetric encryption key of the first data; and uses the symmetric encryption key to decrypt the payload of the first data to obtain the payload of the first data.

[0163] The decryption process for this situation can be found in [reference needed]. Figure 5A To understand.

[0164] like Figure 5A As shown, the server uses its private key to decrypt the second encrypted data, obtaining the payload 501 of the symmetrically encrypted first data and the second data. The second data includes the header information 502 of the first data and the symmetric encryption key 503. Then, the server uses the symmetric encryption key 503 to decrypt the payload 501 of the symmetrically encrypted first data again, obtaining the payload 504 of the symmetrically encrypted first data. The payload 504 of the first data and the header information 502 of the first data constitute the complete first data.

[0165] If the encryption process uses, for example, the above... Figure 4B In the case of [the first data], the server uses its private key to decrypt the second encrypted data to obtain the first data and the symmetric encryption key. The symmetric encryption key is used to encrypt the processing result of the first data.

[0166] The decryption process for this situation can be found in [reference needed]. Figure 5B To understand.

[0167] like Figure 5B As shown, the server uses its private key to decrypt the second encrypted data, which yields the second data. The second data includes the first data, which includes payload 511 and header information 512. The second data also includes the symmetric encryption key 513.

[0168] The solution provided in this application embodiment allows the first transmission path to be generated by the user terminal through a multi-terminal node obfuscation process, randomly selected from a massive number of relay nodes, other user terminals, or other servers. Each time the user terminal sends data, it randomly selects nodes to generate a different transmission path. During the transmission of the first encrypted data along the first transmission path, each relay node can only decrypt the data corresponding to its own layer, and the resulting next layer of data is encrypted. This prevents each relay node from determining its position within the first transmission path or the source of the first encrypted data. Similarly, the server, upon receiving the encrypted data, cannot determine its origin. This improves both the security of data transmission and the anonymity of communication.

[0169] The above Figure 3 The data processing methods described can be found in [reference needed]. Figure 6 To understand.

[0170] like Figure 6 As shown, the communication system or transmission network may include a directory server 600 and multiple transmission nodes, wherein the multiple transmission nodes may include a user terminal 601, a server terminal 602, and multiple relay nodes. The network consisting of the user terminal 601, the server terminal 602, and the multiple relay nodes can also be called a relay network.

[0171] The directory server 600 is used to store and manage the address information and public keys of all transmission nodes in the relay network. This address information and public keys can be recorded or stored in the form of a node list. The node list of this transmission network can be understood by referring to Table 1.

[0172] Table 1: List of nodes in the transmission network

[0173] Identifier of transmission node Address information of transmission nodes Public key of the transmission node Transmission Node 1 Address Information 1 Public Key 1 Transmission Node 2 Address Information 2 Public Key 2 Transmission Node 3 Address Information 3 Public Key 3 …… …… ……

[0174] In Table 1, the identifier of a transmission node can be its device number or other index or identifier that can uniquely characterize the transmission node. The address information of a transmission node can be its Internet Protocol (IP) address. The public key of a transmission node refers to the publicly disclosed portion of the key corresponding to the transmission node; the private key, which corresponds to the public key, can decrypt data encrypted using the public key.

[0175] Directory server 600 can send the above node list to each user terminal in the transmission network. When there are changes in the transmission nodes, directory server 600 will also update the above node list in a timely manner and synchronize the updated node list to each user terminal in the transmission network. There can be one or more directory servers 600. When there are multiple directory servers, the address information and public keys of different transmission nodes can be obtained from different directory servers. Directory servers can be physical machines, virtual machines, or containers.

[0176] User terminal 601 can randomly select transmission nodes from the node list to generate a transmission path. For example, it can select relay nodes 603, 604, 605, 606, and server 602 to generate a first transmission path from user terminal 601 → relay node 603 → relay node 604 → relay node 605 → relay node 606 → server 602. Then, multi-layered first encrypted data is transmitted through this transmission path.

[0177] Regarding this Figure 6 The first encrypted data in the scenario shown can be found in [reference]. Figure 7ALet's understand this. The first layer of encryption uses the public key of user terminal 602 to encrypt the second data, i.e., encapsulate it as the first layer. The second layer of encryption uses the public key of relay node 606 to encrypt the first layer and the address information of server terminal 602, i.e., encapsulate it as the second layer. The third layer of encryption uses the public key of relay node 605 to encrypt the second layer and the address information of relay node 606, i.e., encapsulate it as the third layer. The fourth layer of encryption uses the public key of relay node 604 to encrypt the third layer and the address information of relay node 605, i.e., encapsulate it as the fourth layer. The fifth layer of encryption uses the public key of relay node 603 to encrypt the fourth layer and the address information of relay node 604, i.e., encapsulate it as the fifth layer. If the above... Figure 4A In the scenario shown, the first encrypted data includes the payload of the symmetrically encrypted first data, and Figure 7A The five layers of encrypted data are shown. If the above... Figure 4B As shown, the first encrypted data includes Figure 7A The five layers of encrypted data are shown.

[0178] User terminal 601 sends the first encrypted data to relay node 603 based on the address information of relay node 603. After receiving the first encrypted data, relay node 603 uses its private key to decrypt the five-layer encrypted data, such as... Figure 7B As shown, after decrypting the five layers of encrypted data, we get four layers of encrypted data and the address information of relay node 604, that is, the fifth layer has been removed.

[0179] Relay node 603 sends four-layer encrypted data to relay node 604 based on the address information of relay node 604. Of course, if targeting... Figure 4A In this case, the transmitted encrypted data also includes the payload of the first data after symmetric encryption, which will not be described in detail later. After receiving the four-layer encrypted data, relay node 604 decrypts the four-layer encrypted data using its private key, such as... Figure 7C As shown, after decrypting the four layers of encrypted data, three layers of encrypted data and the address information of relay node 605 are obtained, that is, the fourth layer has been removed.

[0180] Relay node 604 sends three-layer encrypted data to relay node 605 based on the address information of relay node 605. After receiving the three-layer encrypted data, relay node 605 decrypts the data using its private key, such as... Figure 7D As shown, after decrypting the three layers of encrypted data, two layers of encrypted data and the address information of relay node 606 are obtained, that is, the third layer has been removed.

[0181] Relay node 605 sends two layers of encrypted data to relay node 606 based on the address information of relay node 606. After receiving the two layers of encrypted data, relay node 606 decrypts the data using its private key, as follows: Figure 7E As shown, after decrypting the two layers of encrypted data, you will get one layer of encrypted data and the address information of the server 602, that is, the second layer has been removed.

[0182] Relay node 606 sends a layer of encrypted data to server 602 based on the server's address information. After receiving the encrypted data, server 602 decrypts it using its private key, such as... Figure 7F As shown, decrypting the first layer of encrypted data yields the second layer, essentially removing the first layer. Then, based on the previous... Figure 5A or Figure 5B The introduction states that the first data can be obtained from the second data.

[0183] From the above Figure 6 As described in the data transmission process, each relay node on the first transmission path can only decrypt the data corresponding to its own layer, and the subsequent layer of data is encrypted. This makes it impossible for each relay node to determine its position in the first transmission path or the source of the first encrypted data. Similarly, the server, upon receiving the encrypted data, cannot determine its origin. This improves both the security of data transmission and the anonymity of communication.

[0184] The above describes the data transmission process from the user end to the server end. After the server decrypts the first data, it can store the first data and then return a task completion response through the first transmission path; alternatively, the server can decrypt the first data, process it, and obtain the processing result. Taking the AI ​​model training process as an example, this data processing process can be the process of using cloud computing resources to perform model training, and then obtaining the trained weights, which can be the processing result of the first data.

[0185] The user terminal can receive the processing result of the first data through the first transmission path from which the data originates. The principle is as follows: each relay node on the first transmission path can maintain a link mapping table. This link mapping table maintains the previous hop and next hop information for each port on the relay node. Thus, the first transmission path is equivalent to a transport layer security (TLS) tunnel maintained by each relay node using a link mapping table. The user terminal can also maintain a link mapping table, which can maintain information about the ports of the relay nodes from which the data originates.

[0186] like Figure 8 As shown, server 602 can encrypt the processing result of the first data using a symmetric encryption key, and then send the symmetrically encrypted processing result of the first data to relay node 606. Relay node 606 will determine the next hop of the processing result as relay node 605 according to the link mapping table, and then forward the symmetrically encrypted processing result of the first data to relay node 605. Similarly, relay nodes 605, 604 and 603 will forward the symmetrically encrypted processing result of the first data in sequence and return the symmetrically encrypted processing result of the first data to client 602.

[0187] During or after the data transmission process from the user to the server, or from the server to the user, the user can disconnect from the first relay node on the first transmission path at any time. The disconnection can be achieved by the user transmitting a connection disconnection indication message through the first transmission path. The connection disconnection indication message is used to instruct each transmission node on the first transmission path to clear the temporary connection information associated with the first transmission path. In this way, each transmission node on the first transmission path can clear its own stored temporary connection information, leaving no historical records or data cache, thus improving the privacy of data transmission.

[0188] The data processing procedures for the aforementioned client and server can also be found in [reference needed]. Figure 9 To understand.

[0189] like Figure 9 As shown, the user terminal obtains a node list from the directory server and determines a first transmission path for the transmission of the original data. The transmission nodes on this path may include client node C, relay node A, ..., relay node B and server node S. Here, client node C can be understood as the user terminal or its communication port, and server node S can be understood as the server or its communication port.

[0190] The user-side can perform symmetric encryption and multi-layer encryption on the original data. Alternatively, it can perform only multi-layer encryption without symmetric encryption. Whether to use one or two encryption methods depends on the payload length of the original data; for details, please refer to [link to relevant documentation]. Figure 4A and Figure 4B Please refer to the introduction for a basic understanding. The original data can be the initial data, or it can include the symmetric encryption key. The encryption process can be found in [reference needed]. Figure 7A To understand this, the public key used for encryption is the public key of relay node A, ..., relay node B and server node S, and the encapsulated address information is the address information of relay node A, ..., relay node B and server node S.

[0191] Client node C sends the first encrypted data, which uses the public keys of relay nodes A, ..., B, and the server node S. This first encrypted data is decrypted layer by layer through relay nodes A, ..., B. The decryption process can be found in [reference needed]. Figures 7B to 7E For comprehension, the second encrypted data sent by relay node B has an additional layer of encryption. After this second encrypted data reaches server node S, server node S decrypts it to obtain the original data. This process can be found in [reference needed]. Figure 7F To understand.

[0192] The server can process the original data to obtain the calculation result, and then encrypt the calculation result using a symmetric encryption key to obtain the ciphertext result. The server can then return the ciphertext result to client node C through a temporary TLS established via the first transmission path (the original transmission path). Client node C can decrypt the ciphertext result using the symmetric encryption key to obtain the calculation result.

[0193] from Figure 9 As can be seen, during the transmission of data from the user to the server and from the server to the user, the relay nodes along the transmission path cannot know the data being transmitted, which improves the security of data transmission. Moreover, the relay nodes along the transmission path also cannot know the source of the data, which improves the anonymity of communication.

[0194] Figure 10 This is a schematic diagram comparing the architecture of the embodiments of this application with that of the Tor network.

[0195] from Figure 10 The comparison shows that the communication network provided in this application introduces "client node C" and "server node S" to replace the entry node and exit node in Tor, and introduces a symmetric encryption mechanism between the user end and the client.

[0196] Although Tor uses multiple layers of encryption, it relies on the final exit node for decryption, thus posing a risk of plaintext leakage. If the service used does not employ an encryption protocol such as Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), the data will be transmitted to the server in plaintext after being decrypted at the exit node, making the exit node a potential point of privacy breach.

[0197] This application introduces client nodes and server nodes, and protects transmitted data through symmetric encryption, such as... Figure 10All data remains encrypted even after multiple relays, and is only decrypted upon reaching the server. This prevents data from being exposed in plaintext at any node (especially the client and server nodes), significantly improving the security and anonymity of data transmission.

[0198] The data processing method has been described above. The data processing apparatus provided in the embodiments of this application is described below with reference to the accompanying drawings.

[0199] like Figure 11 As shown in the embodiment of this application, the data processing device 110 is a user terminal in a transmission network. Terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The data processing device 110 includes:

[0200] The first processing unit 1101 is used to determine a first transmission path for the first data; wherein the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and a server terminal.

[0201] The second processing unit 1102 is used to perform multi-layer encryption on the second data to obtain the first encrypted data. The first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer in the order from the server to the user on the first transmission path from the inner layer to the outer layer. The data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data.

[0202] The sending unit 1103 is used to send the first encrypted data to the first relay node of the next hop of the user terminal on the first transmission path.

[0203] The data processing apparatus provided in this application embodiment allows the first transmission path to be generated by the user terminal through a multi-terminal node obfuscation process, randomly selected from a massive number of relay nodes, other user terminals, or other servers. Each time the user terminal sends data, it randomly selects nodes again to generate a different transmission path. During the transmission of the first encrypted data along the first transmission path, each relay node can only decrypt the data corresponding to its own layer, and the resulting next layer of data is encrypted. This prevents each relay node from determining its position within the first transmission path or the source of the first encrypted data. Similarly, the server, upon receiving the encrypted data, cannot determine its source. This improves both the security of data transmission and the anonymity of communication.

[0204] Optionally, the second processing unit 1102 is further configured to perform symmetric encryption on the payload of the first data using a symmetric encryption key if the payload length of the first data exceeds a first threshold; correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

[0205] Optionally, if the payload length of the first data is less than the first threshold, the second data includes the first data and the symmetric encryption key.

[0206] Optionally, the first processing unit 1101 is further configured to randomly select a transmission node to generate a first transmission path based on the node list of the transmission network.

[0207] Optionally, the data processing device 110 further includes a receiving unit 1104;

[0208] The receiving unit 1104 is used to receive the processing result of the first data through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted with a symmetric encryption key.

[0209] The second processing unit 1102 is also used to decrypt the processing result of the first data according to the symmetric encryption key.

[0210] Optionally, the transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

[0211] Optionally, the sending unit 1103 is further configured to transmit connection disconnection indication information through the first transmission path, the connection disconnection indication information being used to instruct each transmission node on the first transmission path to clear the temporary connection information associated with the first transmission path.

[0212] The functions of each unit of the data processing device 110 described above can be understood by referring to the introduction related to the user terminal in the previous method embodiment section, and will not be repeated here.

[0213] like Figure 12 As shown in the embodiment of this application, the data processing device 120 is a server in a transmission network. Terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The data processing device 120 includes:

[0214] The receiving unit 1201 is used to receive second encrypted data sent by the second relay node; wherein, the second relay node is the relay node one hop before the server on the first transmission path, and the second encrypted data is the data after the first encrypted data has been decrypted layer by layer by each relay node on the first transmission path; the transmission nodes on the first transmission path include the user terminal, multiple relay nodes, and the server; the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer by using the public key of the server and each relay node in the order from the server to the user terminal on the first transmission path from the inner layer to the outer layer, wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data;

[0215] The processing unit 1202 is used to decrypt the second encrypted data using the private key of the server to obtain the first data.

[0216] Optionally, the processing unit 1202 is used to decrypt the second encrypted data using the server's private key to obtain the header information and symmetric encryption key of the first data; and to decrypt the payload of the first data using the symmetric encryption key to obtain the payload of the first data.

[0217] Optionally, the processing unit 1202 is used to decrypt the second encrypted data using the server's private key to obtain the first data and the symmetric encryption key, the symmetric encryption key being used to encrypt the processing result of the first data.

[0218] Optionally, the data processing device 120 further includes a transmission unit 1203;

[0219] The sending unit 1203 is used to send the processing result of the first data to the user terminal through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted with a symmetric encryption key.

[0220] Optionally, the first transmission path is a transport layer security protocol tunnel maintained by each relay node using a link mapping table.

[0221] The functions of each unit of the data processing device 120 described above can be understood by referring to the introduction related to the server in the previous method embodiment section, and will not be repeated here.

[0222] Figure 13 This is a schematic diagram of a possible logical structure of a data processing apparatus provided for embodiments of this application. For example... Figure 13 As shown, the data processing device 130 provided in this application embodiment includes: a processor 1301, a communication interface 1302, a memory 1303, and a bus 1304. The processor 1301, the communication interface 1302, and the memory 1303 are interconnected via the bus 1304.

[0223] In embodiments of this application, processor 1301 is used to control and manage the operation of data processing device 130. For example, processor 1301 is used to execute data encryption or decryption processes. Communication interface 1302 is used to support communication by data processing device 130. For example, communication interface 1302 can execute the process of sending encrypted data. Memory 1303 is used to store program code and data of data processing device 130.

[0224] The processor 1301 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, etc. The bus 1304 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0225] The computer device provided in this application embodiment can also be the above-mentioned... Figure 13 The data processing device described herein is understood.

[0226] In another embodiment of this application, a computer-readable storage medium is also provided, which stores computer-executable instructions. When the processor of a data processing device executes the computer-executable instructions, the data processing device performs the aforementioned... Figures 3 to 10 The steps performed by the user or server.

[0227] In another embodiment of this application, a computer program product is also provided, which includes computer program code. When the computer program code is executed on a computer, the computer device performs the above-described... Figures 3 to 10 The steps performed by the user or server.

[0228] In another embodiment of this application, a chip system is also provided, the chip system including one or more interface circuits and one or more processors; the interface circuits and processors are interconnected via lines; the interface circuits are used to receive signals from the memory of a data processing device and send signals to the processors, the signals including computer instructions stored in the memory; when the processor executes the computer instructions, the data processing device performs the aforementioned actions. Figures 3 to 10 The steps performed by the user or server. In one possible design, the chip system may also include a memory for storing program instructions and data necessary for the data processing device. This chip system may consist of chips or may include chips and other discrete components.

[0229] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0230] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0231] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented wholly or partially through software, hardware, firmware, or any combination thereof.

[0232] When the integrated unit is implemented using software, it can be implemented wholly or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

Claims

1. A data processing method, characterized in that, The method is applied to user terminals in a transmission network, where terminal devices, servers, and routing devices all act as relay nodes for forwarding data. The method includes: A first transmission path is determined for the first data; wherein the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and a server terminal; The second data is encrypted in multiple layers to obtain the first encrypted data; wherein, the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer in the order from the server to the user on the first transmission path from the inner layer to the outer layer, using the public key of the server and each relay node in turn; wherein, the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; The first encrypted data is sent to the first relay node of the next hop of the user terminal on the first transmission path.

2. The method according to claim 1, characterized in that, The method further includes: If the payload length of the first data exceeds the first threshold, the payload of the first data is symmetrically encrypted using a symmetric encryption key. Correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

3. The method according to claim 1, characterized in that, If the payload length of the first data is less than the first threshold, then the second data includes the first data and the symmetric encryption key.

4. The method according to any one of claims 1-3, characterized in that, Determining the first transmission path for the first data includes: The first transmission path is generated by randomly selecting a transmission node from the node list of the transmission network. The node list includes the address information and public key of the transmission nodes in the transmission network.

5. The method according to any one of claims 1-4, characterized in that, The method further includes: The processing result of the first data is received through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key; The processing result of decrypting the first data according to the symmetric encryption key.

6. The method according to claim 5, characterized in that, The transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

7. The method according to any one of claims 1-6, characterized in that, The method further includes: The connection disconnection indication information is transmitted through the first transmission path, and the connection disconnection indication information is used to instruct each transmission node on the first transmission path to clear the temporary connection information associated with the first transmission path.

8. A data processing method, characterized in that, The method is applied to the server side of a transmission network, where terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The method includes: The system receives second encrypted data sent by a second relay node; wherein the second relay node is the relay node preceding the server on the first transmission path, and the second encrypted data is the data obtained by decrypting the first encrypted data layer by layer through each relay node on the first transmission path; the transmission nodes on the first transmission path include the user terminal, multiple relay nodes, and the server; the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer layer by layer using the public key of the server and each relay node in the order from the server to the user terminal on the first transmission path from the inner layer to the outer layer, wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; The second encrypted data is decrypted using the server's private key to obtain the first data.

9. The method according to claim 8, characterized in that, The step of decrypting the second encrypted data using the server's private key to obtain the first data includes: The second encrypted data is decrypted using the server's private key to obtain the header information of the first data and the symmetric encryption key; The payload of the first data is decrypted using the symmetric encryption key to obtain the payload of the first data.

10. The method according to claim 8, characterized in that, The step of decrypting the second encrypted data using the server's private key to obtain the first data includes: The second encrypted data is decrypted using the server's private key to obtain the first data and the symmetric encryption key, which is used to encrypt the processing result of the first data.

11. The method according to claim 9 or 10, characterized in that, The method further includes: The processing result of the first data is sent to the user terminal through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key.

12. The method according to claim 11, characterized in that, The transport layer security protocol tunnel is a channel established by each relay node on the first transmission path using a linked mapping table.

13. A data processing apparatus, characterized in that, The data processing device is a user terminal in the transmission network. The terminal devices, servers, and routing devices in the transmission network all act as relay nodes for forwarding data. The data processing device includes: The first processing unit is configured to determine a first transmission path for the first data; wherein the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and a server terminal. The second processing unit is used to perform multi-layer encryption on the second data to obtain the first encrypted data; wherein, the first encrypted data is obtained by encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer in the order from the server to the user on the first transmission path from the inner layer to the outer layer, layer by layer using the public key of the server and each relay node; wherein, the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; The sending unit is used to send the first encrypted data to the first relay node of the next hop of the user terminal on the first transmission path.

14. The apparatus according to claim 13, characterized in that, The second processing unit is further configured to perform symmetric encryption on the payload of the first data if the payload length of the first data exceeds a first threshold; correspondingly, the second data includes the header information of the first data and the symmetric encryption key.

15. The apparatus according to claim 13, characterized in that, If the payload length of the first data is less than the first threshold, then the second data includes the first data and the symmetric encryption key.

16. The apparatus according to any one of claims 13-15, characterized in that, The first processing unit is further configured to randomly select a transmission node to generate the first transmission path based on a node list of the transmission network, wherein the node list includes the address information and public key of the transmission nodes in the transmission network.

17. The apparatus according to any one of claims 13-16, characterized in that, The device also includes a receiving unit. The receiving unit is configured to receive the processing result of the first data through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key. The second processing unit is further configured to decrypt the processing result of the first data according to the symmetric encryption key.

18. A data processing apparatus, characterized in that, The data processing device is a server in the transmission network, where terminal devices, servers, and routing devices all act as relay nodes for forwarding data. The data processing device includes: A receiving unit is configured to receive second encrypted data sent by a second relay node; wherein the second relay node is the relay node preceding the server on the first transmission path, and the second encrypted data is data obtained by sequentially decrypting the first encrypted data layer by layer through each relay node on the first transmission path; the transmission nodes on the first transmission path include a user terminal, multiple relay nodes, and the server; the first encrypted data is obtained by sequentially encrypting the data of the previous layer and the address information of the corresponding transmission node of the previous layer using the public key of the server and each relay node in the order from the server to the user terminal on the first transmission path from the inner layer to the outer layer, wherein the data of the first layer is the second data, the second data is associated with the first data, and the first encrypted data contains the first data; The processing unit is used to decrypt the second encrypted data using the private key of the server to obtain the first data.

19. The apparatus according to claim 18, characterized in that, The device also includes a transmitting unit. The sending unit is used to send the processing result of the first data to the user terminal through the transport layer security protocol tunnel corresponding to the first transmission path; wherein the processing result of the first data is encrypted using a symmetric encryption key.

20. A data processing apparatus, characterized in that, Includes a processor and a computer-readable storage medium storing a computer program; The processor is coupled to the computer-readable storage medium, and when the computer program is executed by the processor, it implements the method as described in any one of claims 1 to 7, or the method as described in any one of claims 8 to 12.

21. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7, or the method as described in any one of claims 8 to 12.

22. A computer program product, characterized in that, The computer program product includes computer program code that, when run on a computer device, implements the method as described in any one of claims 1 to 7, or implements the method as described in any one of claims 8 to 12.