Data processing method, device, computer program product, equipment and storage medium

By encapsulating the processing server and the request server as virtual addresses and using elliptic curve encryption algorithm and anonymous protocol, the problems of privacy leakage and high computational complexity in remote procedure calls are solved, and anonymized processing and efficiency improvement are achieved.

CN116488832BActive Publication Date: 2025-09-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210044800.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-14
Publication Date
2025-09-26
Estimated Expiration
2042-01-14

AI Technical Summary

Technical Problem

In remote procedure calls, existing technologies have the risk of user privacy data leakage, and the high computational complexity of traditional encrypted transmission leads to large hardware overhead, affecting the data processing efficiency and user experience of mobile devices.

Method used

By encapsulating the processing server and request server as virtual addresses, and encapsulating the function method as a virtual address, and using the elliptic curve encryption algorithm and anonymous protocol, the anonymization of data processing is achieved to ensure user privacy and security.

Benefits of technology

It realizes anonymization processing in different types of data processing scenarios, prevents user privacy leakage, and improves data processing efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116488832B_ABST
    Figure CN116488832B_ABST
Patent Text Reader

Abstract

The present application provides a data processing method, including: requesting a server to obtain a processing server address of a processing server; based on the processing server address, the requesting server sends an authentication request to the processing server address, and the requesting server address and the public key matching the processing server are used to detect the requesting server address; when it is determined that the target requesting server address calculated by the processing server is consistent with the requesting server address, the processing server sends a function address mapping relationship to the requesting server; the requesting server processes the data to be processed through the function address mapping relationship and obtains the virtual address of the data to be processed. The present application also provides a data processing device, a computer program product, an electronic device and a storage medium. The present application can realize the encapsulation of the processing server and the requesting server as virtual addresses, and the encapsulation of the function method of the processing server as a virtual address, thereby ensuring the anonymity of data processing and preventing the leakage of user privacy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to data processing technology, and in particular to data processing methods, devices, computer program products, electronic devices, and storage media. Background Art

[0002] In related technologies, when performing a remote procedure call (RPC), it is necessary to ensure that the input data of all parties involved in the function and the data processing results are not leaked. However, due to the defects in encrypted transmission, the user's private data is often leaked. At the same time, when faced with a large amount of business data to be processed, the computational complexity of the exponentiation operation in the traditional exchange encryption function structure is high, and the hardware overhead of the encryption process is large, which makes the user's waiting time longer, increases the cost of hardware use, is not conducive to the implementation of business data processing in the mobile device, and affects the user's experience. Summary of the Invention

[0003] In view of this, the embodiments of the present application provide a data processing method, device, computer program product, electronic device and storage medium, which can encapsulate the processing server and the request server as virtual addresses for different types of data processing scenarios, and encapsulate the function methods of the processing server as virtual addresses, thereby ensuring the anonymity of data processing, preventing user privacy leakage, and improving the user experience.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] An embodiment of the present application provides a data processing method, the method comprising:

[0006] Requesting the server to obtain the processing server address of the processing server;

[0007] Based on the processing server address, the requesting server sends an authentication request to the processing server address, wherein the authentication request includes the requesting server address and a public key matching the processing server;

[0008] The processing server detects the requesting server address in response to the authentication request based on the requesting server address and a public key matching the processing server;

[0009] When it is determined by detecting the address of the request server that the target request server address calculated by the processing server is consistent with the address of the request server, the processing server sends a function address mapping relationship to the request server;

[0010] The request server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

[0011] The present application also provides a data processing device, comprising:

[0012] The information transmission module is used for requesting the server to obtain the processing server address of the processing server;

[0013] An information processing module, configured to, based on the processing server address, enable the requesting server to send an authentication request to the processing server address, wherein the authentication request includes the requesting server address and a public key matching the processing server;

[0014] The information processing module is configured for the processing server to detect the requesting server address based on the requesting server address and a public key matching the processing server in response to the authentication request;

[0015] The information processing module is configured to detect the address of the request server and, when it is determined that the target request server address calculated by the processing server is consistent with the address of the request server, send the function address mapping relationship to the request server by the processing server;

[0016] The information processing module is used for the request server to process the data to be processed through the function address mapping relationship, obtain the virtual address of the data to be processed, and send the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

[0017] In the above scheme,

[0018] The information transmission module is used to configure a matching private key for the request server;

[0019] The information processing module is configured to calculate an uncompressed public key corresponding to the private key by using an elliptic curve encryption algorithm, and determine a first hash value in the uncompressed public key;

[0020] The information processing module is used to transform the first hash value of the length in the non-compressed public key based on the anonymous protocol matched with the request server to obtain the anonymous address corresponding to the request server.

[0021] In the above scheme,

[0022] The information transmission module is configured to calculate a second hash value of the RACE original integrity check message digest based on the first hash value in the uncompressed public key;

[0023] The information processing module is configured to add a version number of the anonymous protocol matched by the requesting server to the second hash value of the RACE original integrity check message digest to obtain a first hash value processing result;

[0024] The information processing module is configured to cyclically calculate a hash value of a fixed length in the first hash value processing result to obtain a second hash value processing result;

[0025] The information processing module is configured to add the first hash value processing result to the 4 bytes of the header of the second hash value processing result to obtain the anonymous address corresponding to the request server.

[0026] In the above scheme,

[0027] The information transmission module is used for the processing server to respond to the authentication request and obtain an anonymous protocol that matches the processing server;

[0028] The information processing module is used to calculate the target request server address based on the anonymous protocol matched with the processing server and the public key matched with the processing server;

[0029] The information processing module is configured to determine that the anonymous protocol versions of the requesting server and the processing server are consistent when the target requesting server address is consistent with the requesting server address carried in the authentication request.

[0030] In the above scheme,

[0031] The information transmission module is configured to determine that the anonymous protocol versions of the requesting server and the processing server are different when the target requesting server address is inconsistent with the requesting server address carried in the authentication request;

[0032] The information processing module is used for the processing server to send a rejection request message, or to notify the requesting server to send a notification message to achieve the change of the anonymous protocol version.

[0033] In the above scheme,

[0034] The information transmission module is used for the request server to receive the processing result sent by the processing server;

[0035] The information processing module is used to process the data to be processed based on the anonymous address of the request server and the function address mapping relationship to obtain a processing result of the data to be processed.

[0036] In the above scheme,

[0037] The information transmission module is used to send the processing server address, request server address, anonymous protocol and function address mapping relationship to the cloud network, so that the corresponding business party device can obtain the processing server address, request server address, anonymous protocol and function address mapping relationship from the cloud network.

[0038] An embodiment of the present application further provides an electronic device, characterized in that the electronic device includes:

[0039] a memory for storing executable instructions;

[0040] The processor is used to implement the preceding data processing method when running the executable instructions stored in the memory.

[0041] An embodiment of the present application further provides a computer-readable storage medium storing executable instructions, which implement the preceding data processing method when executed by a processor.

[0042] The embodiments of the present application have the following beneficial effects:

[0043] This application obtains the processing server address of the processing server through the request server; based on the processing server address, the request server sends an authentication request to the processing server address, wherein the authentication request includes the request server address and the public key that matches the processing server; the processing server responds to the authentication request and detects the request server address based on the request server address and the public key that matches the processing server; by detecting the request server address, when it is determined that the target request server address calculated by the processing server is consistent with the request server address, the processing server sends a function address mapping relationship to the request server; the request server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed. In this way, it is possible to encapsulate the processing server and the request server as virtual addresses for different types of data processing scenarios, and encapsulate the function method of the processing server as a virtual address, thereby ensuring the anonymity of data processing, preventing the leakage of user privacy, and improving data processing efficiency and user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 This is a schematic diagram of the use environment of the data processing method provided in the embodiment of the present application;

[0045] Figure 2 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0046] Figure 3 An optional flowchart of the data processing method provided in the embodiment of the present application;

[0047] Figure 4 Schematic diagram of the process of obtaining the anonymous address corresponding to the request server in an embodiment of the present application;

[0048] Figure 5 A schematic diagram of the process of calculating the request server address by the processing server in an embodiment of the present application;

[0049] Figure 6 A front-end display diagram of the data processing method provided in this application;

[0050] Figure 7 An optional flowchart of the data processing method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0051] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting the present invention. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0052] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0053] Before further explaining the embodiments of the present invention in detail, the nouns and terms involved in the embodiments of the present invention are explained. The nouns and terms involved in the embodiments of the present invention are subject to the following interpretations.

[0054] 1) In response, it is used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more operations executed can be real-time or have a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations executed are executed.

[0055] 2) Remote Procedure Call (RPC), a remote method call between two services.

[0056] 3) Terminals, including but not limited to: ordinary terminals and dedicated terminals, wherein the ordinary terminals maintain a long connection and / or a short connection with the sending channel, and the dedicated terminals maintain a long connection with the sending channel.

[0057] 4) Client: The carrier of specific functions in the terminal. For example, the mobile client (APP) is the carrier of specific functions in the mobile terminal, such as the function of executing report creation or the function of displaying reports.

[0058] 5) Mini Programs are programs developed using a front-end language (such as JavaScript) that implement services within a Hypertext Markup Language (HTML) page. These programs are downloaded by a client (such as a browser or any client with an embedded browser core) via a network (e.g., the internet) and interpreted and executed within the client's browser environment, eliminating the need for client-side installation. For example, a social network client can download and run mini programs for various services, such as ticket purchases, report generation, and data presentation.

[0059] 7) Anonymous protocol: Since the exchanges between nodes follow a fixed algorithm, the data interaction is trustless. Therefore, there is no need to publicly disclose one’s identity in order to gain trust from the other party, which is very helpful for accumulating credit.

[0060] 8) Private key: The public key and private key are a key pair obtained through an algorithm, and the private key is called the private key.

[0061] 9) Public key: The public key and private key are a key pair obtained through an algorithm, and the public key is called the public key.

[0062] Figure 1 Schematic diagram of the use scenario of the data processing method provided in the embodiment of the present application, see Figure 1 The terminals (including terminal 10-1 and terminal 10-2) are provided with clients with various functions (for example, clients of chat software or clients such as instant messaging client software that can integrate different functions). Users can input corresponding data through the set clients, such as business data of financial inquiries. The clients can also receive the processing results of the corresponding business data and display the processing results of the received business data to the users. The terminals are connected to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two, and a wireless link is used to realize data transmission.

[0063] In some embodiments of the present application, when terminals 10-1 and 10-2 transmit data with server 200, they can use remote procedure calls (RPCs). The clients running in terminals 10-1 and 10-2 can be Tor clients. Tor clients can serve as tools for users to access the Tor anonymous network or the Internet (when accessing the Internet, access requests are transmitted through the Tor anonymous network). Tor clients can be other browsers such as Tor Browser or other software with similar functions. Server 200 can be a Tor server. The Tor server can serve as software used to send Tor client requests to the Tor anonymous network (the Tor server encrypts the access requests and transmits them to the Tor anonymous network) or the Internet (when accessing the Internet, access requests are transmitted through the Tor anonymous network, in which case the Tor server encrypts the access requests and transmits them to the Tor anonymous network). Users access the network through the Tor client and the Tor server, and obtain the Internet's Hypertext Transfer Protocol service through the Tor anonymous network.

[0064] Through the data processing method provided by this application, the Tor client Stub (stub code) and the Tor server Stub are used for the Tor client and Tor server, respectively, to implement the process of obtaining data from the network or sending data to the network. In the RPC call process, the client calls the service in a local call mode. After receiving the call, the client Stub is responsible for assembling the method, parameters, etc. into a message body that can be transmitted over the network. The client Stub finds the service address and sends the message to the server. After receiving the message, the server Stub decodes it and calls the local service based on the decoding result. The local service executes and returns the result to the server Stub. The server Stub packages the return result into a message and sends it to the client. The client Stub receives the message and decodes it. The client obtains the final result.

[0065] As an example, server 200 is used to deploy corresponding different service cluster front ends to implement a data processing method, so as to trigger the execution of a business process that matches the business data to be processed, so as to process the business data to be processed through the task execution component, and display the generated processing results of the business data corresponding to the business data through the terminal (terminal 10-1 and / or terminal 10-2).

[0066] Of course, the business data is processed by the data processing device, specifically including: requesting the server to obtain the processing server address of the processing server; based on the processing server address, the requesting server sends an authentication request to the processing server address, wherein the authentication request includes the requesting server address and the public key that matches the processing server; the processing server responds to the authentication request and detects the requesting server address based on the requesting server address and the public key that matches the processing server; when it is determined by detecting the requesting server address that the target requesting server address calculated by the processing server is consistent with the requesting server address, the processing server sends a function address mapping relationship to the requesting server; the requesting server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server, so as to realize anonymous processing of the data to be processed.

[0067] The structure of the data processing device of the embodiment of the present application is described in detail below. The data processing device can be implemented in various forms, such as a dedicated terminal with a data processing function, or a server with a data processing function, such as the preceding Figure 1 Server 200 in. Figure 2 The schematic diagram of the structure of the data processing device provided in the embodiment of the present application can be understood as follows: Figure 2 The data processing device is shown only as an example rather than as a complete structure, and can be implemented as needed. Figure 2 Partial or complete structure shown.

[0068] The data processing device provided in the embodiment of the present application includes: at least one processor 201, a memory 202, a user interface 203 and at least one network interface 204. The various components in the data processing device 20 are coupled together via a bus system 205. It can be understood that the bus system 205 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 205 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 2 Various buses are labeled as bus system 205 .

[0069] The user interface 203 may include a display, a keyboard, a mouse, a trackball, a click wheel, keys, buttons, a touch pad or a touch screen.

[0070] It is understood that the memory 202 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. The memory 202 in the embodiment of the present application can store data to support the operation of the terminal (such as 10-1). Examples of these data include: any computer program for operating on the terminal (such as 10-1), such as an operating system and an application. Among them, the operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application can include various applications.

[0071] In some embodiments, the data processing device provided in the embodiments of the present application can be implemented in a combination of software and hardware. As an example, the data processing device provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the data processing method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0072] As an example of a data processing device provided in an embodiment of the present application being implemented by a combination of software and hardware, the data processing device provided in an embodiment of the present application can be directly embodied as a combination of software modules executed by the processor 201. The software module can be located in a storage medium, and the storage medium is located in the memory 202. The processor 201 reads the executable instructions included in the software module in the memory 202, and combines with the necessary hardware (for example, including the processor 201 and other components connected to the bus system 205) to complete the data processing method provided in the embodiment of the present application.

[0073] As an example, the processor 201 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0074] As an example of a data processing device provided in an embodiment of the present application being implemented by hardware, the device provided in an embodiment of the present application can be directly executed by a processor 201 in the form of a hardware decoding processor, for example, one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components to implement the data processing method provided in an embodiment of the present application.

[0075] The memory 202 in the embodiment of the present application is used to store various types of data to support the operation of the data processing device 20. Examples of such data include any executable instructions for operating on the data processing device 20, such as executable instructions. The program for implementing the data processing method in the embodiment of the present application may be included in the executable instructions.

[0076] In other embodiments, the data processing device provided in the embodiments of the present application may be implemented in software. Figure 2 The data processing device stored in the memory 202 is shown. The data processing device may be software in the form of a program or plug-in, and may include a series of modules. As an example of a program stored in the memory 202, a data processing device may be included. The data processing device includes the following software modules: an information transmission module 2081 and an information processing module 2082. When the software modules in the data processing device are read into the RAM by the processor 201 and executed, the data processing method provided in the embodiment of the present application will be implemented. The functions of each software module in the data processing device will be further described below, including:

[0077] The information transmission module 2081 is used to request the server to obtain the processing server address of the processing server.

[0078] The information processing module 2082 is used to request the server to send an authentication request to the processing server address based on the processing server address, wherein the authentication request includes the request server address and a public key matching the processing server.

[0079] The information processing module 2082 is used to process the server's response to the authentication request and detect the requesting server address based on the requesting server address and the public key that matches the processing server.

[0080] The information processing module 2082 is configured to detect the request server address and, when it is determined that the target request server address calculated by the processing server is consistent with the request server address, send the function address mapping relationship to the request server.

[0081] The information processing module 2082 is used to request the server to process the data to be processed through the function address mapping relationship, obtain the virtual address of the data to be processed, and send the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

[0082] according to Figure 2 In one aspect of the present application, the present application further provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of the computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to execute different embodiments and combinations of embodiments provided in various optional implementations of the data processing method provided in the present application.

[0083] Combine Figure 2 The data processing device shown illustrates the data processing method provided in the embodiment of the present application, see Figure 3 , Figure 3 This is an optional flow chart of the data processing method provided in the embodiment of the present application. It can be understood that: Figure 3 The steps shown can be executed by various electronic devices running data processing devices, such as dedicated terminals, servers or server clusters with data processing devices, wherein the dedicated terminal with data processing devices can be the preamble Figure 2 The electronic device with data processing device in the embodiment shown is as follows. Figure 3 The steps shown are explained.

[0084] Step 301: The request server obtains the processing server address of the processing server.

[0085] The request server and the processing server together constitute a data processing system, in which the data processing system can implement remote procedure calls (RPCs). Specifically, remote procedure calls (RPCs) are a protocol for requesting services from remote computer programs over a network without requiring knowledge of the underlying network technology. The RPC protocol assumes the existence of certain transport protocols, such as TCP or UDP, to carry information data between communicating programs. The main functional goal of RPC is to make it easier to build distributed computing (applications) while providing powerful remote calling capabilities without sacrificing the semantic simplicity of local calls. In a data processing system composed of a request server and a processing server, the request server can transmit the encoded RPC request message to the processing server. After execution, the processing server returns a result message or confirmation message to the request server. The TCP protocol with a long connection mode can be selected to achieve higher data processing efficiency.

[0086] In some embodiments of the present application, for applications with low data transfer volumes, a single connection can generally meet data processing requirements. In some embodiments, multiple connections can be used to receive data to be processed. Each connection has its own private send and receive buffers. Therefore, when large amounts of data are transmitted, distributing the data across different connection buffers results in better throughput efficiency and avoids extended user wait times.

[0087] Step 302: Based on the processing server address, the requesting server sends an authentication request to the processing server address, wherein the authentication request includes the requesting server address and a public key matching the processing server.

[0088] In some embodiments of the present application, the address of the requesting server is recorded as addressS, and the address of the processing server is recorded as addressP. Before conducting network communication, the requesting server needs to obtain the address addressP of the processing server, and send the address addressS of the requesting server and the public key corresponding to the requesting server that matches the processing server to the processing server through an anonymous protocol for authorization and authentication to ensure that the user's privacy information is not leaked.

[0089] Step 303: The processing server responds to the authentication request and detects the requesting server address based on the requesting server address and the public key that matches the processing server.

[0090] In some embodiments of the present application, in order to achieve information anonymization during the RPC call process and protect the privacy of the request server and the processing server, it is necessary to encapsulate the processing server and the request server into virtual addresses through an anonymous protocol, and at the same time encapsulate the function method of the processing server into a virtual address. Specifically, refer to Figure 4 , Figure 4This is a schematic diagram of the process of obtaining the anonymous address corresponding to the request server in an embodiment of the present application, which specifically includes the following steps:

[0091] Step 401: Configure a matching private key for the requesting server.

[0092] When requesting the server to generate a private key, a 32-byte number between 1 and 0xFFFFFFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD25E8C D036 4141 is randomly selected as the private key.

[0093] Step 402: Calculate the uncompressed public key corresponding to the private key using an elliptic curve encryption algorithm, and determine a first hash value in the uncompressed public key.

[0094] In some embodiments of the present invention, taking the length of the first hash value as 256 bits as an example, when a 256-bit hash value is used, the elliptic curve encryption algorithm (ECDSA-secp256k1) can be used to calculate the uncompressed public key corresponding to the private key. The obtained uncompressed public key is 65 bytes in total, including: 1 byte 0x04, 32 bytes for the x coordinate, and 32 bytes for the y coordinate.

[0095] Step 403: Based on the anonymous protocol matching the requesting server, the first hash value in the uncompressed public key is transformed to obtain the anonymous address corresponding to the requesting server.

[0096] In some embodiments of the present invention, the first hash value in the uncompressed public key is transformed to obtain the anonymous address corresponding to the requesting server, which can be achieved by:

[0097] Based on the first hash value in the uncompressed public key, a second hash value of the RACE original integrity check message digest is calculated. The version number of the anonymous protocol matching the requesting server is added to the second hash value of the RACE original integrity check message digest to obtain a first hash value processing result; the fixed-length hash value in the first hash value processing result is cyclically calculated to obtain a second hash value processing result, wherein the second hash value can be a 160-bit hash value, and the fixed length in the first hash value processing result can be 256 bits. It should be noted that when executing the data processing method provided by the present application, the first hash value, the second hash value, and the fixed length in the first hash value processing result can be adjusted according to different data processing scenarios. For example, in a financial data processing scenario, the first hash value is a 256-bit hash value, the second hash value is a 160-bit hash value, and the fixed length in the first hash value processing result is 256 bits. In an identity data processing scenario, due to lower security requirements for data transmission, the first hash value is a 128-bit hash value, the second hash value is an 80-bit hash value, and the fixed length in the first hash value processing result is 128 bits.

[0098] In some embodiments of the present application, taking the first hash value having a length of 256 bits as an example, the 256-bit hash value in the uncompressed public key is transformed to obtain the anonymous address corresponding to the requesting server in the following manner:

[0099] Based on the 256-bit hash value of the uncompressed public key, calculate the 160-bit hash value of the RACE original integrity check message digest; add the version number of the anonymous protocol matching the request server to the 160-bit hash value of the RACE original integrity check message digest to obtain a first hash value processing result; loop through the 256-bit hash value of the first hash value processing result to obtain a second hash value processing result; add the 4 bytes of the header of the second hash value processing result to the first hash value processing result to obtain the anonymous address corresponding to the request server. Figure 4As shown, the hash algorithm used in the embodiment of the present application can be a secure hash algorithm (SHA Secure Hash Algorithm), such as SHA256, SHA 512, etc., or a raw integrity check message digest (RIPEMD, RACE Integrity Primitives Evaluation Message Digest), such as RIPEMD160. Of course, it can also be other algorithms, such as the Keccak algorithm, etc., which are not specifically limited in this application. Among them, the SHA series of algorithms includes a series of cryptographic hash functions, such as variants such as SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512. Among them, the SHA256 algorithm is mainly applicable to the Digital Signature Algorithm (DSA) defined in the Digital Signature Standard (DSS). The principle of using this algorithm to calculate the message digest is as follows: for a message of any length (calculated in bits) (the message can be a 130-bit public key in the embodiment of the present application), SHA256 will generate a 32-byte data length, called a message digest (i.e., the first target value in the embodiment of the present application can be obtained). Therefore, the processing server can use the SHA256 algorithm to perform a first hash operation on the public key with a data length of 130 bits to obtain the first target value corresponding to the public key. The data length of this first target value is 64 bits, i.e., 32 bytes.

[0100] In some embodiments of the present application, the SHA256 algorithm is used. The SHA256 algorithm has the following properties: 1. Information cannot be recovered from a message digest; 2. Two different messages cannot produce the same message digest. Therefore, the SHA256 algorithm also ensures the uniqueness of the public key in the processing server. When the processing server receives an authentication request, it cannot reverse engineer the public key, thereby protecting the user's processed data from being leaked.

[0101] refer to Figure 5 , Figure 5 This is a schematic diagram of a process for a processing server to calculate a request server address in an embodiment of the present application. In a financial data processing scenario, the first hash value is a 256-bit hash value, the second hash value is a 160-bit hash value, and the length of the first hash value processing result is fixed to 256 bits. The process specifically includes the following steps:

[0102] Step 501: The processing server obtains the locally stored anonymous protocol.

[0103] Step 502: The processing server randomly selects a private key, calculates the uncompressed public key corresponding to the private key using an elliptic curve encryption algorithm, and determines a 256-bit hash value of the uncompressed public key.

[0104] Step 503: The processing server calculates a 160-bit hash value of the RACE original integrity check message digest based on the 256-bit hash value in the uncompressed public key.

[0105] Step 504: The processing server adds the version number of the anonymous protocol that matches the requesting server to the 160-bit hash value of the RACE original integrity check message digest to obtain a third hash value processing result.

[0106] Step 505: The processing server cyclically calculates the 256-bit hash value in the third hash value processing result to obtain a fourth hash value processing result.

[0107] Step 506: The processing server adds the 4 bytes of the header of the fourth hash value processing result to the third hash value processing result to obtain the request server address.

[0108] In some embodiments of the present application, the processing server detects the requesting server address in response to the authentication request based on the requesting server address and the public key matching the processing server, which can be achieved by:

[0109] In response to the authentication request, the processing server obtains the anonymous protocol that matches the processing server; based on the anonymous protocol and the public key that matches the processing server, it calculates the target request server address; when the target request server address matches the request server address carried in the authentication request, it determines that the anonymous protocol versions of the request server and the processing server are consistent. Therefore, after receiving the authorization authentication request from the request server addressS, the processing server compares the request server address calculated from the request server's public key with the address calculated from the local anonymous protocol version number. If they are the same, it indicates that the same version of the anonymous protocol is used. The server then records addressS in the anonymous protocol request client address book and returns the address mapping relationship of all publicly accessible functions during data processing.

[0110] In some embodiments of the present application, when the target request server address is inconsistent with the request server address carried in the authentication request, it is determined that the anonymous protocol versions of the request server and the processing server are different; the processing server issues a request rejection message, or notifies the request server to issue a notification message to implement a change of the anonymous protocol version. The request server and the processing server possess a pair of public and private keys, with the private key used to generate authentication information and the public key used to verify the legitimacy of the information. This protects user privacy and the leakage of processed data, while ensuring that the anonymous protocol versions of the processing server and the request server are consistent, ensuring the convenience of the data processing method provided by the present application for users. Furthermore, the anonymous protocol version can be changed by polling each anonymous protocol version according to a list of changed anonymous protocol versions, or by notifying the maintenance personnel of the request server to manually change the anonymous protocol version, thereby saving information processing time for the request server and the processing server and providing a better user experience. It should be noted that the anonymous protocol version can be provided by the service infrastructure operator, and the processing server and the request server can periodically change the anonymous protocol version, or they can purchase a more secure anonymous protocol version from the service infrastructure operator.

[0111] Step 304: by detecting the request server address and determining that the target request server address calculated by the processing server is consistent with the request server address, the processing server sends the function address mapping relationship to the request server.

[0112] Step 305: The request server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

[0113] In some embodiments of the present application, after sending the virtual address of the data to be processed to the processing server, after executing the remote procedure call, the request server can receive the processing result sent by the processing server; based on the anonymous address of the request server and the function address mapping relationship, the data to be processed is processed to obtain the processing result of the data to be processed, thereby completing the processing of the data to be processed. Among them, after the request server obtains the address mapping relationship of the function of the processing server, it can convert the corresponding function of the local plaintext request into the form of an address and then send it to the processing server. The request server also uses the function address mapping relationship to reversely query the corresponding function for actual processing, which can effectively avoid the leakage of the request server address and the processing server address during the data processing process.

[0114] The embodiments of the present application may be implemented in conjunction with cloud technology. Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network or local area network to achieve data computing, storage, processing, and sharing. It can also be understood as a general term for network technology, information technology, integration technology, management platform technology, and application technology based on cloud computing business models. The backend services of technical network systems require a large amount of computing and storage resources, such as video websites, image websites, and more portal websites. Therefore, cloud technology needs to be supported by cloud computing.

[0115] It should be noted that cloud computing is a computing model that distributes computing tasks across a resource pool consisting of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides these resources is called the "cloud." To users, the resources in the "cloud" appear to be infinitely scalable and can be accessed at any time, used on demand, and expanded at any time, with a pay-per-use fee. As a provider of cloud computing's basic capabilities, a cloud computing resource pool platform, often referred to as Infrastructure as a Service (IaaS), is established. Various types of virtual resources are deployed within the resource pool for external customers to choose from. The cloud computing resource pool primarily includes computing devices (which can be virtualized machines, including operating systems), storage devices, and network devices.

[0116] The processing server address, request server address, anonymous protocol, and function address mapping relationship can be sent to the cloud network, allowing the corresponding business party device to obtain the processing server address, request server address, anonymous protocol, and function address mapping relationship from the cloud network. Once the business party device passes authentication, the processing server address, request server address, anonymous protocol, and function address mapping relationship can be used to reproduce the data processing business, facilitating regulatory oversight of the data processing process.

[0117] The following further describes the data processing method provided by this application in combination with different implementation scenarios. Figure 6 , Figure 6 This is a front-end display diagram of the data processing method provided by this application. Figure 1 Terminals 10-1 and 10-2 are equipped with client software capable of displaying financial payment software, such as a client or plug-in for conducting financial activities with virtual or physical resources or for borrowing and lending virtual resources. Users can use these clients to obtain loans from financial institutions. This can be applied to cross-industry collaboration scenarios in financial risk control, for example, where the business terminals are Bank A and Bank B.

[0118] Both Bank A's server and Bank B's server can be servers within the microservices architecture (ATF Total Application Framework). The ATF TARS framework is a high-performance RPC development framework based on a name service and using the TARS protocol. It also comes with an integrated service governance platform, helping individuals and enterprises quickly build stable and reliable distributed applications using microservices. The TARS framework is an open source project that summarizes the practical achievements of TAF. It balances usability, high performance, and service governance. The design philosophy of the TARS framework's lowest-level protocol layer is to unify the protocols used for business network communication. Using IDL, a unified protocol is developed that supports multiple platforms, is scalable, and automatically generates protocol code. During development, developers only need to focus on the protocol fields of the communication, not the implementation details. This significantly reduces the need to consider cross-platform compatibility, compatibility, and extensibility issues when developing services. After acquiring data using TAF, the response structure is decomposed into a plain JavaScript object. The WUP-proxy plugin allows the service layer to access the intermediate results of this plain JavaScript object. The communication interface is based on the JCE protocol, which is the lowest level component of the TAF framework. Each communication interface defines a request structure and a response structure based on the JCE protocol. Calling a WUP service means that the business provides a TAF service with a series of interfaces. The platform layer builds a WUP basic service, and the association between the business name and the TAF service is set in the WUP basic service configuration. The front end is proxied to the business's TAF service through the business name and the WUP basic service. Among them, the TAF service is used to provide a business processing thread class to collect statistics on various call information reported by the business service.

[0119] Combined with the preamble Figure 1 As shown, the data processing method provided in the embodiment of the present application can be implemented through corresponding cloud devices. For example, the servers of different business parties (such as the server 10-1 of bank A and the server 10-2 of bank B) are directly connected to the service architecture operator server 200 located in the cloud. It is worth noting that the service architecture operator server 200 can be a physical device or a virtualized device in the cloud network.

[0120] Among them, Bank A receives the loan request from the user shown in Table 1:

[0121] Table 1

[0122]

[0123] In order to further control risks, Bank A hopes to screen out users with low deposits or low credit before officially issuing loans. Users' deposit information and credit information are outside the scope of Bank A's business.

[0124] Meanwhile, Bank B has a collection of users with deposits exceeding 100,000 yuan and their corresponding credit scores, as shown in Table 2. However, Banks A and B have not established a data exchange mechanism. Directly transmitting user information over the network is unsafe and can be easily intercepted and attacked to obtain address information and data, resulting in user data leakage.

[0125] Table 2

[0126]

[0127] When a user needs to handle related financial business, information is transmitted through the server of Bank A and the server of Bank B. When providing financial services, the data processing method provided by this application can be used. For different types of data processing scenarios, the processing server and the request server can be encapsulated as virtual addresses, and the function method of the processing server can be encapsulated as a virtual address to ensure the anonymity of data processing and prevent the leakage of user privacy.

[0128] refer to Figure 7 , Figure 7 An optional flow chart of the data processing method provided in the embodiment of the present application specifically includes the following steps:

[0129] Step 701: The server of Bank A obtains the address of the server of Bank B.

[0130] Step 702: Based on the server address of Bank B, the server of Bank A sends an authentication request to the server address of Bank B, wherein the authentication request includes the server address of Bank A and a public key matching the server of Bank B.

[0131] Step 703: In response to the authentication request, the server of Bank B detects the address of the server of Bank A based on the address of the server of Bank A and the public key that matches the server of Bank B.

[0132] Step 704: The server of Bank B calculates the uncompressed public key corresponding to the private key through the elliptic curve encryption algorithm, and determines the 256-bit hash value in the uncompressed public key. Based on the anonymous protocol matching the server of Bank A, the server of Bank B transforms the 256-bit hash value in the uncompressed public key to obtain the anonymous address of the server of Bank A.

[0133] Step 705: By detecting the server address of Bank A and determining that the server address of Bank A passes the verification, the server of Bank B sends the function address mapping relationship to the server of Bank A.

[0134] Step 706: The server of Bank A processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the server of Bank B.

[0135] Step 707: The server of Bank A receives the processing result sent by the server of Bank B.

[0136] Step 708: Based on the anonymous address of the server of Bank A and the mapping relationship between the function addresses, the data to be processed is processed to obtain a processing result of the data to be processed.

[0137] In this way, the server of Bank A can ensure the anonymity of data processing and prevent the leakage of user privacy. It can also determine that users 37000, 37001 and 37003 have deposits of more than 100,000 yuan and credit scores of more than 80, and approve the loan requests of 37000, 37001 and 37003.

[0138] Beneficial technical effects:

[0139] This application obtains the processing server address of the processing server through the request server; based on the processing server address, the request server sends an authentication request to the processing server address, wherein the authentication request includes the request server address and the public key that matches the processing server; the processing server responds to the authentication request and detects the request server address based on the request server address and the public key that matches the processing server; by detecting the request server address, when it is determined that the target request server address calculated by the processing server is consistent with the request server address, the processing server sends a function address mapping relationship to the request server; the request server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed. In this way, it is possible to encapsulate the processing server and the request server as virtual addresses for different types of data processing scenarios, and encapsulate the function method of the processing server as a virtual address, thereby ensuring the anonymity of data processing, preventing the leakage of user privacy, and improving data processing efficiency and user experience.

[0140] The above description is merely an embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A data processing method, characterized in that: The method comprises: Requesting the server to obtain the processing server address of the processing server; Based on the processing server address, the requesting server sends an authentication request to the processing server address, wherein the authentication request includes the requesting server address and a public key matching the processing server; The processing server detects the requesting server address in response to the authentication request based on the requesting server address and a public key matching the processing server; When it is determined by detecting the address of the request server that the target request server address calculated by the processing server is consistent with the address of the request server, the processing server sends a function address mapping relationship to the request server; The request server processes the data to be processed through the function address mapping relationship, obtains the virtual address of the data to be processed, and sends the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

2. The method according to claim 1, characterized in that The method further comprises: Configuring a matching private key for the requesting server; Calculating an uncompressed public key corresponding to the private key using an elliptic curve encryption algorithm, and determining a first hash value in the uncompressed public key; Based on the anonymous protocol matched with the request server, the first hash value in the uncompressed public key is transformed to obtain the anonymous address corresponding to the request server.

3. The method according to claim 2, characterized in that The step of transforming the first hash value in the uncompressed public key based on the anonymous protocol matched with the requesting server to obtain the anonymous address corresponding to the requesting server includes: Calculate a second hash value of the RACE original integrity check message digest based on the first hash value in the uncompressed public key; Adding the version number of the anonymous protocol matched by the requesting server to the second hash value of the RACE original integrity check message digest to obtain a first hash value processing result; Circularly calculating the fixed-length hash value in the first hash value processing result to obtain a second hash value processing result; The 4 bytes of the header of the second hash value processing result are added to the first hash value processing result to obtain the anonymous address corresponding to the request server.

4. The method according to claim 1, wherein The processing server detects the requesting server address in response to the authentication request based on the requesting server address and a public key matching the processing server, including: The processing server obtains an anonymous protocol matching the processing server in response to the authentication request; Calculating a target request server address based on an anonymous protocol matched with the processing server and a public key matched with the processing server; When the target request server address is consistent with the request server address carried in the authentication request, it is determined that the anonymous protocol versions of the request server and the processing server are consistent.

5. The method according to claim 4, characterized in that The method further comprises: When the target request server address is inconsistent with the request server address carried in the authentication request, determining that the anonymous protocol versions of the request server and the processing server are different; The processing server issues a request rejection message, or notifies the requesting server to issue a notification message to achieve the replacement of the anonymous protocol version.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The processing server address, request server address, anonymous protocol and function address mapping relationship are sent to the cloud network so that the corresponding business party device can obtain the processing server address, request server address, anonymous protocol and function address mapping relationship from the cloud network.

7. A data processing device, applied to a data processing system, the data processing system comprising: The request server and the processing server are characterized in that the device includes: An information transmission module, used for requesting a server to obtain a processing server address of a processing server; An information processing module, configured to, based on the processing server address, cause the requesting server to send an authentication request to the processing server address, wherein the authentication request includes the requesting server address and a public key matching the processing server; The information processing module is configured for the processing server to detect the requesting server address based on the requesting server address and a public key matching the processing server in response to the authentication request; The information processing module is configured to detect the address of the request server and, when it is determined that the target request server address calculated by the processing server is consistent with the address of the request server, send the function address mapping relationship to the request server by the processing server; The information processing module is used for the request server to process the data to be processed through the function address mapping relationship, obtain the virtual address of the data to be processed, and send the virtual address of the data to be processed to the processing server to achieve anonymous processing of the data to be processed.

8. An electronic device, characterized in that: The electronic device comprises: a memory for storing executable instructions; A processor, configured to implement the data processing method according to any one of claims 1 to 6 when running the executable instructions stored in the memory.

9. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the data processing method according to any one of claims 1 to 6 is implemented.

10. A computer-readable storage medium storing executable instructions, characterized in that: When the executable instructions are executed by a processor, the data processing method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Data transmission method and system and computer readable storage medium

    CN110278080A

  • Terminal and business server connection method, system and device and storage medium

    CN110690966A