Data processing method, device and system, electronic equipment and storage medium
By using Merkel tree technology and zero-knowledge proof algorithm in engineering machinery equipment, the security and reliability problems in data transmission are solved, efficient and flexible data transmission and identity verification are achieved, and the overall security of the system is improved. .
Patent Information
- Application Number
- CN202411277458.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2024-12-31
AI Technical Summary
Construction machinery and equipment are susceptible to data tampering, theft and attacks during remote control and data transmission, resulting in poor data security, flexibility and efficiency.
The Merkel tree technology is used to encrypt and decrypt data blocks, and the multi-level data integrity verification mechanism is used to authenticate with the zero-knowledge proof algorithm to ensure the security and integrity of data transmission.
It significantly improves the security, flexibility and efficiency of data transmission, prevents data tampering and theft, and enhances the reliability and security of the system.
Smart Images

Figure CN119227106A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a data processing method, device and system, electronic device, and computer-readable storage medium. Background Art
[0002] With the rapid development of the modern engineering machinery industry, intelligent and unmanned control technologies have been widely used in the field of engineering machinery. These technologies have significantly improved the overall benefits of engineering projects by reducing labor costs, improving work efficiency and safety. However, with the popularization of remote control and unmanned operation, data security and system reliability issues have become increasingly prominent. Engineering machinery equipment is vulnerable to data tampering, theft and attacks during remote control and data transmission, which not only threatens the normal operation of the equipment, but may also cause serious economic losses and safety accidents.
[0003] In related technologies, engineering machinery control systems mainly rely on traditional encryption methods and data verification mechanisms, such as symmetric encryption, asymmetric encryption, and single-layer hash verification. Summary of the invention
[0004] In the related technology, a certain degree of data protection and verification can be provided for the engineering machinery control system, but the security, flexibility and efficiency of data transmission are poor.
[0005] In view of the above technical problems, the present disclosure proposes a solution that can improve the security, flexibility and efficiency of data transmission.
[0006] According to a first aspect of the present disclosure, a data processing method is provided, which is executed by a first node and includes:
[0007] Collecting data, wherein the data includes a plurality of data blocks;
[0008] Constructing a Merkle tree according to the multiple data blocks;
[0009] Using the Merkle tree, encrypt each data block;
[0010] Transmit each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
[0011] According to a second aspect of the present disclosure, a data processing method is provided, which is executed by a second node and includes:
[0012] Receiving a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node, wherein the plurality of data blocks are obtained according to data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree;
[0013] Decrypting each encrypted data block using the Merkle tree;
[0014] Data integrity verification is performed on each decrypted data block.
[0015] According to a third aspect of the present disclosure, a data processing device is provided, which is deployed on a first node and includes:
[0016] A collection module, configured to collect data, wherein the data includes a plurality of data blocks;
[0017] A construction module, configured to construct a Merkle tree according to the multiple data blocks;
[0018] An encryption module, configured to encrypt each data block using the Merkle tree;
[0019] The transmission module is configured to transmit each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
[0020] According to a fourth aspect of the present disclosure, a data processing device is provided, which is deployed on a second node and includes:
[0021] A receiving module, configured to receive a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node, wherein the plurality of data blocks are obtained according to data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree;
[0022] A decryption module, configured to decrypt each encrypted data block using the Merkle tree;
[0023] The verification module is configured to perform data integrity verification on each data block obtained by decryption.
[0024] According to a fifth aspect of the present disclosure, there is provided a data processing system, including:
[0025] A first node is configured to execute the data processing method performed by the first node as described in any of the above embodiments; and / or
[0026] The second node is configured to execute the data processing method performed by the second node as described in any of the above embodiments.
[0027] According to a sixth aspect of the present disclosure, an electronic device is provided, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute the data processing method described in any of the above embodiments based on instructions stored in the memory.
[0028] According to a seventh aspect of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored, and when the instructions are executed by a processor, the data processing method described in any of the above embodiments is implemented.
[0029] In the above embodiments, the security, flexibility and efficiency of data transmission can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0031] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:
[0032] Figure 1 is a flowchart illustrating a data processing method according to some embodiments of the present disclosure;
[0033] Figure 2 is a flowchart illustrating a data processing method according to other embodiments of the present disclosure;
[0034] Figure 3 is a block diagram illustrating a data processing apparatus according to some embodiments of the present disclosure;
[0035] Figure 4 is a block diagram showing a data processing device according to some other embodiments of the present disclosure;
[0036] Figure 5 is a block diagram illustrating a data processing system according to some embodiments of the present disclosure;
[0037] Figure 6 is a block diagram illustrating an electronic device according to some embodiments of the present disclosure;
[0038] Figure 7 is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION
[0039] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.
[0040] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0041] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0042] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered as part of the specification.
[0043] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limiting. Therefore, other examples of the exemplary embodiments may have different values.
[0044] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0045] Figure 1 It is a flowchart illustrating a data processing method according to some embodiments of the present disclosure.
[0046] like Figure 1 As shown, the data processing method performed by the first node includes: step S110, collecting data, the data including multiple data blocks; step S120, constructing a Merkle tree based on the multiple data blocks; step S130, encrypting each data block using the Merkle tree; and step S140, transmitting each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
[0047] In this embodiment, the first node collects data in the form of data blocks, and constructs a Merkle tree based on the data blocks, so that the second node can use the Merkle tree for encryption and integrity verification, realizing a multi-level data integrity verification mechanism based on the Merkle Tree, which can improve the security, flexibility and efficiency of data transmission. The first node can be a sending end, and the second node can be a receiving end. The first node can be a receiving end, and the second node can be a sending end.
[0048] For example, the first node includes a control node and the second node includes one or more device nodes. For another example, the first node includes one or more device nodes and the second node includes a control node.
[0049] For example, a distributed control module realizes synchronous control and management of multiple engineering machinery equipment (device nodes) through a distributed network. The distributed control module includes a control node, a device node and a data synchronization module. The control node is responsible for sending control instructions and coordinating the operations of multiple device nodes. The control node sends instructions to each device node according to actual operation requirements and receives status feedback from the device. The device node receives the control instruction, performs the operation corresponding to the control instruction, and feeds back the device status to the control node. Each device node has independent computing and communication capabilities and can independently complete the execution of instructions. The data synchronization module ensures data consistency between each device node to prevent instruction loss or repeated execution. For example, the data synchronization module uses a distributed consistency algorithm to achieve data synchronization. Distributed consistency algorithms include, for example, the Raft algorithm or the Paxos algorithm.
[0050] Distributed control can improve the flexibility and scalability of the system composed of control nodes and device nodes.
[0051] In step S110 , data is collected, where the data includes a plurality of data blocks.
[0052] In some embodiments, the first node and the second node are nodes related to the engineering machinery operation scenario, and the data include control instructions and operation data during the operation of the engineering machinery, wherein the control instructions and the operation data belong to different data blocks.
[0053] Operational data includes but is not limited to sensor data, operation logs, and status information.
[0054] For example, the data acquisition module can be used to collect various data in the operation process of engineering machinery in real time, including but not limited to sensor data, control instructions, operation logs and status information. These data are used as input to participate in the subsequent hash operation and verification process.
[0055] Specifically, the data acquisition module is responsible for collecting various data generated during the operation of construction machinery, including sensor data, operation logs, and control instructions, etc. These data are acquired in real time through sensors, log systems, and control interfaces, and stored in the data buffer area, waiting for subsequent processing.
[0056] For example, sensors installed on mechanical equipment can be used to monitor the status of the equipment in real time, such as temperature, pressure, position and other parameters, and transmit them to the data acquisition module through the data bus.
[0057] For another example, an operation log file is generated by recording each operation instruction of the operator and the response of the equipment.
[0058] For another example, the control instructions sent by the remote control center are collected as the basis for data verification and execution.
[0059] In step S120, a Merkle tree is constructed according to the multiple data blocks.
[0060] For example, the data hash generation module can be used to perform a hash operation on the collected raw data, that is, to perform a hash operation on each data block, and generate a fixed-length hash value for each data block. The hash function can be SHA-256 (Secure Hash Algorithm-256) or other highly secure hash algorithms to ensure the uniqueness and security of the hash value. Each data block corresponds to a unique hash value, and the hash values of these data blocks are used to subsequently construct the Merkle tree.
[0061] Taking the SHA-256 hash algorithm as an example, the hash function formula is H(x)=SHA-256(x), where G(x) represents the hash value of the data (x) and SHA-256 is the selected hash algorithm.
[0062] The hash generation process includes: inputting each collected data block D(i) into the hash function, calculating the hash value H(D(i)) of each data block, and storing the hash values of all data blocks in the hash list, preparing to build the Merkle tree.
[0063] For example, the Merkle tree building module can be used to recursively merge the hash values of multiple data blocks according to certain rules to generate a Merkle root. The specific process is as follows.
[0064] First, the hash values of multiple data blocks are paired and hashed to obtain multiple new hash values. The hash values of every two paired data blocks can be used to generate a new hash value as the hash value of the next level node of the Merkle tree. The hash value of the data block is the leaf node of the Merkle tree.
[0065] Then, the new hash values are paired together and the hash operation is repeated until only one new hash value remains, which serves as the top-level hash value of the Merkle tree, namely the Merkle root hash value.
[0066] For example, the Merkle tree structure can be represented as:
[0067] H 12 =H(H(D1)||H(D2))
[0068] H 34 =H(H(D3)||H(D4))
[0069] H root =H(H 12 ||H 34 ),
[0070] Among them, H(x||y) means concatenating two hash values x and y and then performing a hash operation. root is the Merkle root hash value.
[0071] In some embodiments, the Merkle tree is also used by the second node to authenticate the first node based on a zero-knowledge proof algorithm.
[0072] For example, the Merkle tree hash verification module combines the Merkle tree's efficient hash verification to ensure data security and authentication accuracy during the authentication process. The specific process includes hash calculation and hash verification. During the hash calculation process, the data in the zero-knowledge proof is hashed to generate a hash value. During the hash verification process, the generated hash value is compared with the corresponding node in the Merkle tree to verify the integrity and validity of the data.
[0073] For another example, the identity verification module verifies the operator's operating authority and identity legitimacy through zero-knowledge proof technology. Specifically, the operator generates an authentication certificate through a zero-knowledge proof protocol without revealing sensitive information. The process of generating an authentication certificate can be expressed as ZKP=Prove(x,w), where ZKP represents zero-knowledge proof, x is public information, w is private information, and Prove is a zero-knowledge proof generation algorithm.
[0074] The remote device can verify the validity of the proof and confirm the identity of the operator through the hash verification mechanism of the Merkle tree structure, for example. The verification process can be expressed as Verify = (ZKP, x) → {true, false}, where Verify is a zero-knowledge proof verification algorithm and returns the verification result.
[0075] For example, the Merkle tree hash verification module can also be combined with the efficient hash verification of the Merkle tree to ensure data security and authentication accuracy during the authentication process. For example, the authentication certificate is hashed, expressed as H(ZKP)=SHA-256(ZKP), and the hash value of the zero-knowledge proof data is obtained. Further, the authentication certificate is hashed, expressed as To verify the consistency of the hash value with the corresponding node in the Merkle tree, and confirm the validity of the authentication certificate.
[0076] For example, identity verification uses an interactive zero-knowledge proof approach.
[0077] First, construct the witness: the witness is composed of non-sensitive information, including several questions and corresponding answers (such as vehicle tonnage, color, load capacity, etc.);
[0078] Second, reply: The prover (sender) randomly selects a question, packages the question and answer, encrypts them using the root hash value, and sends them to the verifier (receiver);
[0079] Again, random challenge: the verifier decrypts, verifies the answer, and randomly selects another question to send to the prover, also encrypted with the root hash value;
[0080] Again, reply: The prover receives the question, decrypts it, calculates the answer and sends it to the verifier. The prover's reply allows the verifier to verify whether the prover actually has access to the witness.
[0081] The above process can be repeated until the verifier trusts the prover.
[0082] For example, identity authentication should be performed during the first communication after the machine is powered on again, or after the online time exceeds the specified communication time (such as 3 hours).
[0083] In the field of construction machinery, compliance verification often requires a large number of operation and maintenance records. Zero-knowledge proof can simplify this process, requiring only verification proofs to be provided without disclosing specific operation details, thereby reducing compliance costs. Zero-knowledge proof supports a decentralized verification process, and verification of operations can be completed without going through a central server, which helps improve the operational efficiency of construction machinery and reduce dependence on centralized systems.
[0084] In some embodiments, the first node may also authenticate the second node based on the Merkle tree received from the second node and based on a zero-knowledge proof algorithm. The verification process is the same as above and will not be described in detail here.
[0085] Zero-knowledge proof technology has broad application prospects in the fields of cryptography and information security. This technology can verify the correctness of data and the legitimacy of identity without leaking sensitive information, significantly improving the security and privacy protection capabilities of the system. However, the application of zero-knowledge proof technology in the field of engineering machinery is still in its infancy, and the zero-knowledge proof mechanism combined with the Merkle tree structure has not been widely studied and applied.
[0086] In step S130, each data block is encrypted using the Merkle tree.
[0087] In some embodiments, the Merkle tree includes a Merkle root hash value. In this case, encrypting each data block using the Merkle tree includes the following steps.
[0088] Each of the data blocks is encrypted using the Merkle root hash value as an encryption key, wherein the Merkle root hash value is also used as a decryption key for decrypting each of the encrypted data blocks.
[0089] In this embodiment, the Merkle root hash value is calculated from multiple layers of hash values in the Merkle tree. Using the Merkle root hash value as an encryption key can further improve the security of data transmission.
[0090] For example, the encryption communication module uses the Merkle tree structure to encrypt data to ensure the security of data transmission. In the data encryption process, the hash value generated by the Merkle tree is used as the key to encrypt the data. In the data transmission process, the encrypted data packet is used for remote transmission to prevent the data from being stolen or tampered with during the transmission process. In the data decryption process, after receiving the encrypted data, the device node or control node uses the same hash key to decrypt and restore the original data.
[0091] In some embodiments, the data encryption process can be expressed as E(D) is the encryption result of data D, AES is a symmetric encryption algorithm, H root is the Merkle root, which serves as the encryption key. Correspondingly, the data decryption process can be expressed as is the decryption function of AES, and D is the original data after decryption.
[0092] In step S140, each encrypted data block and the Merkle tree are transmitted to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
[0093] In some embodiments, the data integrity verification is performed by a data verification module of the second node.
[0094] In some embodiments, the first node may also receive one or more encrypted data blocks and a Merkle tree from the second node, and use the Merkle tree received from the second node to decrypt each encrypted data block received from the second node, and perform data integrity verification on each data block decrypted by the first node. The data integrity verification of the first node is performed, for example, by a data verification module of the first node.
[0095] For example, the data verification module verifies the integrity of the data by comparing the Merkle root with the hash value obtained based on the data block and the root path corresponding to the data block. The specific process is as follows.
[0096] Calculate the hash value of the data block, recalculate the root hash value based on the root path of the data block, and compare it with the root hash value of the Merkle tree. If the calculated root hash value is consistent with the root hash value of the Merkle tree, the data is complete, otherwise the data may be tampered with. In this way, the tampered data can be quickly located and repaired or alarmed in time.
[0097] For example, the data verification module determines whether the hash value of the data block belongs to the Merkle tree by comparing the root hash value obtained based on the hash value of the data block and the root path (also called the hash value path) of the Merkle tree with the Merkle root hash value to verify the integrity of the data. The data verification formula is:
[0098]
[0099] V(D i ) represents data block D i The verification result.
[0100] Specifically, we can first calculate the data block D i Hash value H(D i ), and then find the corresponding hash value path in the Merkle tree. If the path exists and is consistent with the Merkle root, the data is complete, otherwise the data may be tampered with. For tampered data, error logs can be recorded and alarms can be issued, refusing to execute operations corresponding to the data.
[0101] In some embodiments, the transmission of each encrypted data block and the Merkle tree to the second node may be achieved in the following manner.
[0102] Each encrypted data block and the Merkle tree are transmitted to the second node through a secure communication channel. For example, the secure communication channel may be TLS (Transport Layer Security). Transmitting the encrypted data through a secure communication channel is fast and can prevent the data from being stolen or tampered with during transmission.
[0103] In some embodiments, each encrypted data block includes an encrypted control instruction, and transmitting each encrypted data block and the Merkle tree to the second node includes:
[0104] According to the channel state of the secure communication channel, at least one of the bandwidth resource allocation amount for transmitting the encrypted control instruction and the priority of the encrypted control instruction to be transmitted is dynamically adjusted. For example, when the channel state of the secure communication channel is poor and the priority of the encrypted control instruction to be transmitted is originally high, the priority of the encrypted control instruction to be transmitted can be lowered, that is, the execution order of the control instructions is adjusted to ensure that the control instructions are transmitted under a better channel state, improve the stability and integrity of data transmission, and ensure the real-time and reliability of key operations.
[0105] In some other embodiments, the transmission of each encrypted data block and the Merkle tree to the second node may be achieved in the following manner.
[0106] First, the network status is monitored in real time. For example, the network status is determined based on at least one parameter of network delay, loan, and packet loss rate.
[0107] Then, according to the network conditions, the transmission rate and packet size of each encrypted data block and the Merkle tree are dynamically adjusted, so that the transmission performance can be optimized.
[0108] In some other embodiments, the transmission of each encrypted data block and the Merkle tree to the second node may also be achieved in the following manner.
[0109] First, during the transmission of each encrypted data block and the Merkle tree, the transmission progress is recorded regularly.
[0110] Secondly, when the connection between the first node and the second node is interrupted, the transmission progress at the interruption time is saved. For example, the transmission progress can be saved to local or cloud storage.
[0111] Then, it is monitored whether the connection is restored.
[0112] Finally, when the connection is restored, each encrypted data block and the Merkle tree are continuously transmitted to the second node according to the transmission progress at the interruption time until the data transmission is completed.
[0113] In some embodiments, the dynamic adjustment module can support breakpoint resume and dynamic adjustment to improve the adaptability of the data processing system in complex environments. The breakpoint resume strategy enables the system to automatically save the transmission progress when data transmission is interrupted, and continue the transmission after the connection is restored to ensure data integrity. Dynamic adjustment refers to dynamically adjusting the data transmission strategy according to the network status and device status to ensure the stable operation of the system.
[0114] The above is a data processing method executed by the first node. The following describes a data processing method executed by the second node in some embodiments of the present disclosure.
[0115] Figure 2 It is a flowchart illustrating a data processing method according to some other embodiments of the present disclosure.
[0116] like Figure 2As shown, the data processing method performed by the second node includes: step S210, receiving a Merkle tree constructed according to multiple data blocks and each encrypted data block transmitted by the first node, wherein the multiple data blocks are obtained according to data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree; step S220, decrypting each encrypted data block using the Merkle tree; and step S230, performing data integrity verification on each decrypted data block.
[0117] In this embodiment, the first node collects data in the form of data blocks, and constructs a Merkle tree based on the data blocks, so that the second node can use the Merkle tree for encryption and integrity verification, realizing a multi-level data integrity verification mechanism based on the Merkle Tree, which can improve the security, flexibility and efficiency of data transmission. The first node can be a sending end, and the second node can be a receiving end. The first node can be a receiving end, and the second node can be a sending end.
[0118] For example, the first node includes a control node and the second node includes one or more device nodes. For another example, the first node includes one or more device nodes and the second node includes a control node.
[0119] In some embodiments, the first node and the second node are nodes related to the engineering machinery operation scenario, and the data include control instructions and operation data during the operation of the engineering machinery, wherein the control instructions and the operation data belong to different data blocks.
[0120] In some embodiments, the Merkle tree includes a Merkle root hash value, and using the Merkle tree, decrypting each encrypted data block includes: using the Merkle root hash value as a decryption key to decrypt each encrypted data block, wherein each encrypted data block is encrypted using the Merkle root hash value as an encryption key.
[0121] In some embodiments, the second node may utilize the Merkle tree to authenticate the first node based on a zero-knowledge proof algorithm.
[0122] In some embodiments, receiving a Merkle tree constructed based on multiple data blocks and each encrypted data block transmitted by a first node includes: receiving a Merkle tree constructed based on multiple data blocks and each encrypted data block transmitted by a first node through a secure communication channel.
[0123] In the present disclosure, the first node and the second node may perform the same operation. Therefore, some specific descriptions of the data processing method performed by the second node and the data processing method performed by the first node can refer to the description based on Figure 1 The various embodiments of the present invention will not be described in detail in this embodiment.
[0124] The above is a description of the data processing method performed by the second node. The following describes the data processing method in some embodiments of the present disclosure.
[0125] In the above embodiment, the first node and the second node both involve a multi-level data integrity verification mechanism based on Merkle tree, a distributed remote control and encryption communication protocol, and a remote authentication system based on zero-knowledge proof in the process of executing the data processing method.
[0126] For the multi-level data integrity verification mechanism based on the Merkle tree, for example, in an application scenario of an unmanned excavator, the data acquisition module collects the sensor data and operation logs of the excavator in real time. These data are generated by the data hash generation module to generate a hash value of fixed length. Subsequently, the Merkle tree construction module recursively merges these hash values to generate a Merkle root. When the excavator receives a remote control instruction, the data verification module first calculates the root hash value corresponding to the remote control instruction based on the remote control instruction and the hash path, and compares it with the stored Merkle tree root hash value. If the hash values are consistent, the data is complete and the excavator performs the operation corresponding to the remote control instruction. If the hash values are inconsistent, the data may have been tampered with, the system alarms and refuses to perform the operation corresponding to the remote control instruction.
[0127] For distributed remote control and encrypted communication protocols, for example, in a construction machinery fleet management system, the control node is responsible for sending control instructions and coordinating the operation of multiple devices. After each device node receives the control instruction, it is encrypted through the encrypted communication module, and the hash value generated by the Merkle tree is used as the key to ensure the security of data transmission. When the network connection of a device node is interrupted, the dynamic adjustment module can automatically save the transmission progress and continue the transmission after the connection is restored to ensure the integrity of the data. At the same time, according to the network conditions, the system can dynamically adjust the data transmission strategy and control instructions to ensure the stable operation of the system.
[0128] For the remote authentication system based on zero-knowledge proof, in a remotely operated engineering machinery platform, the operator generates an authentication certificate through the zero-knowledge proof protocol and sends it to the remote device. The remote device verifies the validity of the certificate and confirms the identity of the operator through the hash verification mechanism of the Merkle tree structure. In the specific implementation, the zero-knowledge proof data generated by the identity authentication module is calculated through the hash of the Merkle tree to generate a hash value, which is compared with the corresponding node in the Merkle tree. After the verification is passed, the remote device confirms the identity of the operator and allows him to perform subsequent operations.
[0129] The disclosed Merkle tree-based unmanned engineering machinery remote encryption system significantly improves the security of data transmission and the reliability of the system through multi-level data verification, distributed control and encryption communication protocols, and a remote authentication system based on piano knowledge proof, and is suitable for the development needs of intelligent and unmanned control of engineering machinery. The system can effectively solve the data security and system reliability problems in the existing technology, and provide a solid technical guarantee for the future development of the engineering machinery industry.
[0130] The data processing apparatus in some embodiments of the present disclosure will be described below.
[0131] Figure 3 is a block diagram illustrating a data processing apparatus according to some embodiments of the present disclosure.
[0132] like Figure 3 As shown, the data processing device 31 deployed at the first node includes a collection module 311 , a construction module 312 , an encryption module 313 and a transmission module 314 .
[0133] The acquisition module 311 is configured to acquire data, the data including a plurality of data blocks, for example, Figure 1 Step S110 is shown.
[0134] The construction module 312 is configured to construct a Merkle tree according to the plurality of data blocks, for example, by executing Figure 1 Step S120 is shown.
[0135] The encryption module 313 is configured to encrypt each data block using the Merkle tree, for example, by performing the following steps: Figure 1 Step S130 is shown.
[0136] The transmission module 314 is configured to transmit each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block, for example, performing the following steps: Figure 1 Step S140 is shown.
[0137] Figure 4 is a block diagram showing a data processing device according to some other embodiments of the present disclosure.
[0138] like Figure 4 As shown, the data processing device 42 deployed at the second node includes a receiving module 421 , a decryption module 422 and a verification module 423 .
[0139] The receiving module 421 is configured to receive a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by the first node, wherein the plurality of data blocks are obtained according to the data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree, for example, by performing the following steps: Figure 2 Step S210 is shown.
[0140] The decryption module 422 is configured to use the Merkle tree to decrypt each encrypted data block, for example, by performing the following steps: Figure 2 Step S220 is shown.
[0141] The verification module 423 is configured to perform data integrity verification on each data block obtained by decryption, for example, Figure 2 Step S230 is shown.
[0142] The data processing system in some embodiments of the present disclosure will be described below.
[0143] Figure 5 is a block diagram illustrating a data processing system according to some embodiments of the present disclosure.
[0144] like Figure 5 As shown, the data processing system 5 includes a first node 51 and a second node 52 .
[0145] The first node 51, for example, executes the data processing method executed by the first node in any embodiment of the present disclosure. The second node 52, for example, executes the data processing method executed by the second node in any embodiment of the present disclosure.
[0146] Figure 6 is a block diagram illustrating an electronic device according to some embodiments of the present disclosure.
[0147] like Figure 6 As shown, the electronic device 6 includes a memory 61; and a processor 62 coupled to the memory 61. The memory 61 is used to store instructions for executing the corresponding embodiments of the data processing method. The processor 62 is configured to execute the data processing method in any of the embodiments of the present disclosure based on the instructions stored in the memory 61.
[0148] Figure 7 is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.
[0149] like Figure 7 As shown, the computer system 70 may be embodied in the form of a general purpose computing device. The computer system 70 includes a memory 710, a processor 720, and a bus 700 that connects the various system components.
[0150] The memory 710 may include, for example, a system memory, a non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, and other programs. The system memory may include a volatile storage medium, such as a random access memory (RAM) and / or a cache memory. The non-volatile storage medium may store, for example, instructions for executing at least one of the corresponding embodiments of the data processing method. The non-volatile storage medium may include, but is not limited to, a disk memory, an optical memory, a flash memory, etc.
[0151] The processor 720 can be implemented by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistors, etc. Discrete hardware components. Accordingly, each module such as the judgment module and the determination module can be implemented by a central processing unit (CPU) running instructions in a memory that execute corresponding steps, or can be implemented by a dedicated circuit that executes corresponding steps.
[0152] The bus 700 may use any of a variety of bus architectures, including, but not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, and a Peripheral Component Interconnect (PCI) bus.
[0153] The computer system 70 may also include an input / output interface 730, a network interface 740, a storage interface 750, etc. These interfaces 730, 740, 750, the memory 710, and the processor 720 may be connected via a bus 700. The input / output interface 730 may provide a connection interface for input / output devices such as a display, a mouse, and a keyboard. The network interface 740 may provide a connection interface for various networked devices. The storage interface 750 may provide a connection interface for external storage devices such as a floppy disk, a USB flash drive, and an SD card.
[0154] Here, various aspects of the present disclosure are described with reference to flowcharts and / or block diagrams of methods, devices, and computer program products according to embodiments of the present disclosure. It should be understood that each frame of the flowchart and / or block diagram and the combination of frames can be implemented by computer-readable program instructions.
[0155] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable device to produce a machine, so that the processor executes the instructions to produce means for implementing the functions specified in one or more blocks in the flowchart and / or block diagram.
[0156] These computer-readable program instructions may also be stored in a computer-readable memory, which cause the computer to work in a specific manner to produce an article of manufacture, including instructions for implementing the functions specified in one or more blocks in the flowchart and / or block diagram.
[0157] The present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects.
[0158] Some embodiments of the present disclosure further provide a computer program product, including a computer program, which implements the data processing method described in any of the above embodiments when executed by a processor.
[0159] The data processing method, device and system, electronic device, and computer-readable storage medium in the above embodiments can improve the security, flexibility, and efficiency of data transmission.
[0160] So far, the data processing method, device and system, electronic device, and computer-readable storage medium according to the present disclosure have been described in detail. In order to avoid obscuring the concept of the present disclosure, some details known in the art are not described. Based on the above description, those skilled in the art can fully understand how to implement the technical solution disclosed herein.
Claims
1. A data processing method, executed by a first node, comprising: Collecting data, wherein the data includes a plurality of data blocks; Constructing a Merkle tree according to the multiple data blocks; Using the Merkle tree, encrypt each data block; Transmit each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
2. The data processing method according to claim 1, wherein: The Merkle tree includes a Merkle root hash value, and using the Merkle tree, encrypting each data block includes: Each of the data blocks is encrypted using the Merkle root hash value as an encryption key, wherein the Merkle root hash value is also used as a decryption key for decrypting each of the encrypted data blocks.
3. The data processing method according to claim 1, wherein: The Merkle tree is also used by the second node to authenticate the first node based on a zero-knowledge proof algorithm.
4. The data processing method according to claim 1, wherein: Transmitting each encrypted data block and the Merkle tree to the second node includes: Transmit each encrypted data block and the Merkle tree to the second node through a secure communication channel.
5. The data processing method according to claim 4, wherein: Each encrypted data block includes an encrypted control instruction, and transmitting each encrypted data block and the Merkle tree to the second node includes: At least one of an amount of bandwidth resource allocated for transmitting the encrypted control instruction and a priority of transmitting the encrypted control instruction is dynamically adjusted according to a channel state of the secure communication channel.
6. The data processing method according to claim 1, wherein: Transmitting each encrypted data block and the Merkle tree to the second node includes: Real-time monitoring of network status; According to the network conditions, the transmission rate and packet size of each encrypted data block and the Merkle tree are dynamically adjusted.
7. The data processing method according to claim 1, wherein: Transmitting each encrypted data block and the Merkle tree to the second node includes: During the transmission of each encrypted data block and the Merkle tree, regularly recording the transmission progress; When a connection between the first node and the second node is interrupted, saving the transmission progress at the time of interruption; monitoring whether the connection is restored; When the connection is restored, each encrypted data block and the Merkle tree continue to be transmitted to the second node according to the transmission progress at the interruption time.
8. The data processing method according to claim 1, wherein: The first node and the second node are nodes related to the operation scene of the engineering machinery, and the data include control instructions and operation data during the operation of the engineering machinery, wherein the control instructions and the operation data belong to different data blocks; and / or The first node comprises a control node and the second node comprises one or more device nodes, or the first node comprises one or more device nodes and the second node comprises a control node.
9. A data processing method, executed by a second node, comprising: Receiving a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node, wherein the plurality of data blocks are obtained according to data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree; Decrypting each encrypted data block using the Merkle tree; Data integrity verification is performed on each decrypted data block.
10. The data processing method according to claim 9, wherein: The Merkle tree includes a Merkle root hash value, and using the Merkle tree, decrypting each encrypted data block includes: Each encrypted data block is decrypted using the Merkle root hash value as a decryption key, wherein each encrypted data block is encrypted using the Merkle root hash value as an encryption key.
11. The data processing method according to claim 9, further comprising: The Merkle tree is used to authenticate the first node based on a zero-knowledge proof algorithm.
12. The data processing method according to claim 9, wherein: Receiving a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node includes: A Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node are received through a secure communication channel.
13. The data processing method according to claim 9, wherein: The first node and the second node are nodes related to the operation scene of the engineering machinery, and the data include control instructions and operation data during the operation of the engineering machinery, wherein the control instructions and the operation data belong to different data blocks; and / or The first node comprises a control node and the second node comprises one or more device nodes, or the first node comprises one or more device nodes and the second node comprises a control node.
14. A data processing device, deployed at a first node, comprising: A collection module, configured to collect data, wherein the data includes a plurality of data blocks; A construction module, configured to construct a Merkle tree according to the multiple data blocks; An encryption module, configured to encrypt each data block using the Merkle tree; The transmission module is configured to transmit each encrypted data block and the Merkle tree to the second node, wherein the Merkle tree is used by the second node to decrypt each encrypted data block and perform data integrity verification on each decrypted data block.
15. A data processing device, deployed on a second node, comprising: A receiving module, configured to receive a Merkle tree constructed according to a plurality of data blocks and each encrypted data block transmitted by a first node, wherein the plurality of data blocks are obtained according to data collected by the first node, and each encrypted data block is obtained by encrypting each data block using the Merkle tree; A decryption module, configured to decrypt each encrypted data block using the Merkle tree; The verification module is configured to perform data integrity verification on each data block obtained by decryption.
16. A data processing system comprising: A first node, configured to execute the data processing method according to any one of claims 1 to 8; and / or The second node is configured to execute the data processing method according to any one of claims 9 to 13.
17. An electronic device comprising: Memory; as well as A processor coupled to the memory, wherein the processor is configured to execute the data processing method according to any one of claims 1 to 13 based on instructions stored in the memory.
18. A computer-readable storage medium having computer program instructions stored thereon, wherein the instructions, when executed by a processor, implement the data processing method according to any one of claims 1 to 13.
Citation Information
Cited By
Data management method and system for ship-shore data interaction and collaborative decision
CN120200831A
Data processing method, apparatus, and system, electronic device, and storage medium
EP4790579A1
Data processing method, apparatus, and system, electronic device, and storage medium
WO2026056188A1
