Block chain assisted zero dynamic attack defense method and device for industrial control system

By adopting blockchain technology and zero-knowledge proof technologies in ICS, setting up defense models and breaking the attack chain, the problem of difficult to destroy zero-dynamic attack chains in ICS is solved, and the defense capabilities of ICS and the protection effect of data flows are significantly improved.

CN119652646AActive Publication Date: 2025-03-18WUHAN UNIV

Patent Information

Application Number
CN202411926118.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-03-18
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

The prior art is difficult to effectively destroy the zero-dynamic attack chain in industrial control systems (ICS), and the ICS network structure is complex, the attack resistance is weak, and some components lack computing power, so they cannot bear the protection of data flow.

Method used

Blockchain technology is used as the distributed collaboration base of ICS, combined with cutting-edge technologies such as zero-knowledge proof technology, AI algorithms (genetic algorithms), and set up defense models, break the attack chain through smart contract obfuscation, IP address hiding and other means, and data trusted transfer is carried out through relay chains.

Benefits of technology

It significantly improves the defense capabilities of ICS, can effectively destroy zero-dynamic attack chains, protect data flows, and enhance the concealment and security of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652646A_ABST
    Figure CN119652646A_ABST
Patent Text Reader

Abstract

The invention discloses a blockchain-assisted zero-dynamic attack defense method and device for an industrial control system. According to the method, a zk-SNARK algorithm is designed in a customized manner, so that privacy information of a user and equipment is protected, and accurate authentication of an identity is realized. Secondly, a Garble framework is adopted to confuse the smart contract, so that the IP address hiding of the ICS device is realized, and the attack chain of the ICS is broken. And then, a relay chain is adopted as a data trusted transfer station between the engineer workstation and the PLC, an uplink gateway is designed, a roulette algorithm and a lightweight block chain are improved based on PID control, and attack behaviors faced by the relay chain are defended. And finally, carrying out security analysis on the model, and verifying the performance of the model in an actual ICS scene and the defense capability of zero-dynamic attacks through experiments. According to the invention, the block chain technology is creatively utilized to share the computing power demand of ICS data flow encryption protection, and a research thought is provided for defense of highly hidden network attack behaviors of the ICS.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of industrial control system security, and more specifically, to a blockchain-assisted industrial control system zero-dynamic attack defense method and device. Background Art

[0002] In traditional ICS (industrial control systems), zero dynamics is a description of the dynamic characteristics of the system. Its behavioral characteristics are closely related to the system properties. Zero dynamic attacks can be described as taking advantage of the linearity of the factory and the special properties of zero in the transmission system. On the basis of the attacker's perfect system knowledge, it remains hidden by only modifying the control quantity. At the same time, the construction of the attack quantity has nothing to do with the system itself (such as system control quantity, system quantity measurement or control algorithm). With the integration of ICS and the Internet, modern ICS zero dynamic attacks can be preliminarily described as the attacker's perfect system knowledge, by modifying the communication signals between the engineer workstation, control unit, monitoring unit and field equipment (sensors, actuators), thereby maintaining the concealment and zero dynamics of the attack. This has brought great challenges to the ICS's network attack defense.

[0003] Scholars have conducted the following explorations on the frequent cyber attacks on ICS: 1. Use dynamic coding schemes, dynamic data abstraction technology, dynamic watermark defense strategies, and dynamic encryption algorithms to reduce the attack surface of ICS and enhance the protection of ICS data streams. 2. Use generalized samplers, modulation matrices, and fusion filters to identify and defend against attacks on the input of ICS. 3. Integrate artificial intelligence algorithms, digital twins and other advanced technologies to identify zero-dynamic attack behaviors on ICS. The explorations of the above scholars provide research ideas and research foundations for zero-dynamic attacks on ICS, but based on the low-resource and distributed characteristics of ICS, the following research problems still need to be solved urgently:

[0004] Focusing on attack detection and identification, it is impossible to disrupt the zero-dynamic attack chain of ICS and thus provide effective defense.

[0005] The ICS network structure is complex, including PLC (programmable logic controller), engineer workstations, SCADA (supervisory control and data acquisition), sensors, etc. The existing defense mechanism is mainly centralized defense, and its anti-attack capability is relatively weak.

[0006] Some existing ICS components in critical infrastructure are still at lower versions and have insufficient computing power to protect data flows. Summary of the invention

[0007] In view of the above problems, using distributed solutions to coordinate defense against zero-dynamic attacks on ICS is a feasible way to couple ICS characteristics and reconstruct ICS's defense ideas against zero-dynamic attacks. Blockchain technology is described as a new application model that integrates computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Smart contracts are computer programs that run on distributed ledgers, have preset rules, states, and conditional responses, and can encapsulate, verify, and execute complex behaviors of distributed nodes to complete information exchange, value transfer, and asset management. The combination of blockchain and smart contracts makes blockchain decentralized, tamper-proof, and automated. In the decentralized scenario of ICS, blockchain technology is the only proven solution at present. Scholars have initially explored the integrated application of ICS and blockchain technology, using the high fault tolerance, asymmetric encryption algorithm, and incentive mechanism of blockchain to reconstruct the trust of ICS and coordinate defense against network attacks faced by ICS. In the above three problems, the present invention uses smart contracts to destroy the ICS attack chain, uses blockchain to assume the protection computing power of ICS components for data flow and performs distributed defense. Specifically, the present invention uses blockchain technology as the ICS distributed collaboration base, integrates zero-knowledge proof technology, AI algorithm (genetic algorithm) and other cutting-edge technologies, and provides a feasible solution for ICS zero-dynamic attack defense.

[0008] To achieve the above objectives, the first aspect of the present invention provides a blockchain-assisted industrial control system zero dynamic attack defense method, comprising:

[0009] Analyze the zero dynamic attack point of the industrial control system and obtain the zero dynamic attack point;

[0010] According to the zero dynamic attack point, the defense model is set up in combination with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocol. The programmable logic controller and sensor and actuator are connected through physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow.

[0011] The attack on control data flow, response data flow and monitoring data flow in industrial control system is defended based on the set defense model.

[0012] In one embodiment, the defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to obfuscate smart contracts and hide the IP address of the programmable logic controller, including:

[0013] Use the preset consensus algorithm to generate zero-knowledge proofs and public-private key pairs for engineer workstations, programmable logic controllers, and data acquisition and monitoring control systems, and assign corresponding unique authentication codes in the relay chain;

[0014] The authentication codes and public keys of the engineer workstation, programmable logic controller, and data acquisition and monitoring control system are stored in the relay chain through the uplink gateway. The relay chain includes multiple relay chain nodes.

[0015] Set up a smart contract, bind the unique authentication code of the PLC to the IP address of the PLC, obfuscate the smart contract, and then deploy it to the relay chain node in binary form.

[0016] In one embodiment, the attack on the control data flow in the industrial control system is defended based on the set defense model, including:

[0017] When the engineer workstation sends a service request to the relay chain, the relay chain selects the target relay chain node through the roulette algorithm, and sends the public key of the target relay chain node to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain. The service request contains the unique authentication code of the programmable logic controller to be accessed;

[0018] The engineer workstation uses the public key of the target relay chain node to perform elliptic curve encryption on its own zero-knowledge proof, the unique authentication code of the programmable logic controller to be accessed, and the service request, and then sends the encrypted request data to the relay chain through the uplink gateway between the engineer workstation and the relay chain;

[0019] The relay chain broadcasts the encrypted request data, and the target relay chain node decrypts the encrypted request data using its own public key, and broadcasts the decrypted first information to all relay chain nodes. The first information includes the zero-knowledge proof of the engineer workstation and the unique authentication code of the programmable logic controller; the relay chain node verifies the zero-knowledge proof of the engineer workstation through the smart contract, performs consistency detection, and confirms the identity of the engineer workstation;

[0020] The target relay chain node calls the smart contract to obtain the IP address of the programmable logic controller corresponding to the unique authentication code of the programmable logic controller, and sends the service request to the programmable logic controller corresponding to the IP address of the programmable logic controller.

[0021] In one embodiment, the relay chain selects a target relay chain node through a roulette algorithm, including: using the credit value of the node as the fitness of the relay chain node and updating the fitness, and selecting the target relay chain node according to the updated fitness, wherein the credit value of the node is set and updated using a blockchain incentive mechanism.

[0022] In one embodiment, defending against attacks on response data flows in industrial control systems based on a set defense model includes:

[0023] The PLC encrypts its own zero-knowledge proof and original response data using the public key of the target relay chain node, obtains the encrypted response data, and sends it to the uplink gateway between the PLC and the relay chain;

[0024] The uplink gateway between the programmable logic controller and the relay chain sends the unique authentication code of the corresponding engineer workstation to the relay chain and sets a threshold for the amount of response data returned at the same time;

[0025] The relay chain broadcasts the encrypted response data and the unique authentication code of the engineer workstation. The target relay chain node decrypts the encrypted response data using its own private key and broadcasts the decrypted second information to all relay chain nodes. The second information includes the unique authentication code of the engineer workstation and the zero-knowledge proof of the programmable logic controller. The relay chain node verifies the existence of the unique authentication code of the engineer workstation through the smart contract, verifies the zero-knowledge proof of the programmable logic controller, and then performs node consistency detection to determine the credibility of the encrypted response data.

[0026] After passing the verification, the target relay chain node will perform elliptic curve encryption on the response data using the public key of the engineer workstation, and send it to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain, so that the engineer workstation can decrypt it locally to obtain the original response data.

[0027] In one embodiment, the method further includes: if the verification is passed, the engineer workstation decrypts locally to obtain the original response data, and then increases the credit value of the target relay chain node; if the verification is not passed, the credit value of the target relay chain node is reduced.

[0028] In one embodiment, the attack on the monitoring data stream in the industrial control system is defended based on the set defense model, including:

[0029] The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller;

[0030] The SCADA sends a request for the ledger data to the relay chain, and sends the zero-knowledge proof and public key of the SCADA to the target relay chain node through the data on-chain gateway between the SCADA and the relay chain.

[0031] The target relay chain node verifies the zero-knowledge proof of the SCADA system. After verification, the ledger data is encrypted using the public key of the SCADA system to generate encrypted ledger data, which is then sent to the SCADA system through the uplink gateway between the SCADA system and the relay chain.

[0032] The data acquisition and monitoring control system decrypts the encrypted ledger data with its own local private key, extracts the original ledger data, and compares and verifies it with the historical ledger data to ensure the authenticity of the monitoring data.

[0033] Based on the same inventive concept, the second aspect of the present invention provides a blockchain-assisted industrial control system zero dynamic attack defense device, comprising:

[0034] A zero dynamic attack point analysis module is used to analyze the zero dynamic attack point of the industrial control system to obtain the zero dynamic attack point;

[0035] The defense model setting module is used to set the defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely, engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocols. The programmable logic controller and sensors and actuators are connected through a physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow.

[0036] The defense module is used to defend against attacks on control data flows, response data flows, and monitoring data flows in industrial control systems based on a set defense model.

[0037] Based on the same inventive concept, the third aspect of the present invention provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the blockchain-assisted industrial control system zero dynamic attack defense method described in the first aspect is implemented.

[0038] Based on the same inventive concept, the fourth aspect of the present invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the blockchain-assisted industrial control system zero dynamic attack defense method described in the first aspect is implemented.

[0039] Compared with the prior art, the advantages and beneficial technical effects of the present invention are as follows:

[0040] The present invention proposes a blockchain-assisted zero-dynamic attack defense method for industrial control systems. First, the zero-dynamic attack points of the industrial control system are parsed to obtain the zero-dynamic attack points; then, according to the zero-dynamic attack points, a defense model is set in combination with blockchain and zero-knowledge proof method. The defense model uses a preset consensus algorithm to generate initial parameters, which can protect the privacy information of users and devices and realize accurate identity authentication. In addition, the blockchain technology is combined to confuse the smart contract, and the IP address of the programmable logic controller can be hidden to break the attack chain of the ICS. The relay chain serves as a trusted data transfer station between the engineer workstation and the PLC. Finally, based on the set defense model, the control data flow, response data flow and monitoring data flow in the industrial control system are defended against attacks, which can greatly improve the defense capability of the industrial control system. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0042] Figure 1 A schematic diagram of a zero-dynamic attack on an industrial control system in an embodiment of the present invention;

[0043] Figure 2 Schematic diagram of a zero-dynamic attack and defense model of an industrial control system based on blockchain proposed in an embodiment of the present invention;

[0044] Figure 3 Schematic diagram of an identity authentication mechanism based on zero-knowledge proof in an embodiment of the present invention;

[0045] Figure 4 This is a schematic diagram of the internal logic of IPPSC (IP Protection Smart Contract) in an embodiment of the present invention;

[0046] Figure 5 A schematic diagram of a relay blockchain node defense mechanism in an embodiment of the present invention;

[0047] Figure 6Schematic diagram of UG design logic in an embodiment of the present invention;

[0048] Figure 7 This is a zero-knowledge proof performance test in an embodiment of the present invention; wherein (a) proof size verification (b) proof production time consumption (c) proof verification time consumption;

[0049] Figure 8 It is the original IPPSC decompilation result (Objdump) in the embodiment of the present invention;

[0050] Fig. 9 This is a schematic diagram of the comparison of IPPSC running time consumption in an embodiment of the present invention (before and after obfuscation);

[0051] Fig.10 This is a statistical diagram of the number of node selections and the final fitness value in an embodiment of the present invention, where (a) is the total number of times a node is selected, and (b) is the final fitness of the node. DETAILED DESCRIPTION

[0052] The present invention discloses a blockchain-assisted zero-dynamic attack defense method and device for industrial control systems, wherein the method customizes the design of the zk-SNARK algorithm to protect the privacy information of users and devices and realize accurate identity authentication. Secondly, the Garble framework (a code obfuscation tool designed for the Go language) is used to obfuscate the smart contract, realize the IP address hiding of the ICS device, and break the ICS attack chain. Then, the relay chain is used as a trusted data transfer station between the engineer workstation and the PLC, the on-chain gateway is designed, and the roulette algorithm is improved based on PID control, the blockchain is lightweight and the attack behavior faced by the relay chain is defended. Finally, the model is analyzed for security and the performance of the model in the actual ICS scenario and the defense capability of zero dynamic attack are verified by experiments. The results show that under the data volume of one million bytes, the identity authentication time is within 3 milliseconds, the obfuscated smart contract cannot be decompiled and cracked by Objdump (a viewing tool), and the node selection ensures high security and diversity while avoiding the Matthew effect. The present invention innovatively uses blockchain technology to share the ICS data flow encryption protection computing power requirements, and provides a research idea for the defense of ICS against highly concealed network attacks.

[0053] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0054] Embodiment 1

[0055] The present invention discloses a blockchain-assisted industrial control system zero dynamic attack defense method, comprising:

[0056] S1: Analyze the zero dynamic attack point of the industrial control system to obtain the zero dynamic attack point;

[0057] S2: According to the zero dynamic attack point, the defense model is set up in combination with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocol. The programmable logic controller and sensor and actuator are connected through physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow.

[0058] S3: Defend against attacks on control data flows, response data flows, and monitoring data flows in industrial control systems based on the set defense model.

[0059] Specifically, the schematic diagram of ICS structure is as follows: Figure 1 As shown in Figure 1, it includes two participating entities, EW and PLC. The network is selected according to different industrial protocols. Common ones include Modbus (a serial communication protocol), TCP / IP protocol, Profibus protocol (a field bus standard used in automation technology), etc. The control object is set as a continuous linear time-invariant (LTI) process, as shown in formula (1), where x is the state vector, u is the control input vector, y is the PLC output vector, d is the unknown interference vector, A, B, E d , C, D and F d are dimensionally compatible matrices, is the derivative of the state vector with respect to time t. During data interaction, ICS is very vulnerable to attacks. a is the attack signal of the control command input terminal, y a is the attack signal suffered by the PLC response data output terminal, u * is the control signal sent by the EW end, y * is the PLC response data received by the EW end, w is the fixed-point signal, Figure 1 From formula (2), we can get that if there is no attack u=u * , y=y * . (1)

[0061]

[0062] ICS zero-dynamic attacks rely on complete system knowledge of the device and full access to the control input signals and response signals transmitted over the network. The system G(s) = D + C(sI-A) -1 B can eliminate u by calculation a The attack impact can be reduced, thereby achieving high concealment and zero dynamics of the attack.

[0063] ICS zero-dynamic attack points such as Figure 1 As shown, it includes changing the input behavior, followed by identity forgery and hijacking of the ICS system PLC end and the EW segment, and finally adjusting the response data at the PLC data output position. The zero dynamic attack behavior considered by the present invention is as follows.

[0064] 1) The attacker hijacks the conversation between EW, PLC and SCADA, and creates malicious EW, PLC and SCADA to attack the ICS system. 2) The attacker adds attack signals between the control data stream of EW and PLC, and eliminates the attack behavior in the response data stream of EW and PLC (as well as the monitoring signals between SCADA and EW and PLC), and conducts zero-dynamic attacks. 3) The attacker directly attacks the control signal, monitoring signal and response signal to disrupt the normal operation of the ICS system.

[0065] In response to the attacks faced by ICS, the present invention studies the ICS zero-dynamic defense model based on blockchain technology, and uses the high reliability, tamper-proof and encrypted transmission characteristics of blockchain to defend against the second type of zero-dynamic attacks, and combines the zero-knowledge proof algorithm to defend against the first and third types of attacks. Similarly, the introduction of blockchain will increase the attacker's attack surface on the ICS system. Therefore, the present invention improves the roulette algorithm to defend against attacks on blockchain nodes, forming a comprehensive defense capability against ICS attack behaviors.

[0066] During the specific implementation process, S1 analyzes the zero-dynamic attack points of the industrial control system and determines the zero-dynamic attack points, including the control instruction input end, the response data output end, and the engineer workstation (EW), programmable logic controller (PLC), and the data acquisition and supervisory control system (SCADA) itself.

[0067] S2: Based on the zero dynamic attack point obtained by step S1, a defense model is set up in combination with blockchain and zero-knowledge proof method. This model mainly uses blockchain technology to defend from the control instruction input end and the response data output end, that is, a and aTo defend, use the zero-knowledge proof algorithm to verify the EW, PLC and SCADA identities to prevent identity forgery. The model is as follows Figure 2 As shown in the figure, it includes four ICS participants, including EW, PLC, SA (sensors and actuators), SCADA, and RB (relay chain). EW and RB, RB and PLC communicate through Modbus or Profibus protocol, with TCP or UDP protocol at the bottom. PLC and SA are connected through a physical field bus, so it is secure by default. The data communication between the stakeholders involved in the model is divided into control data flow, response data flow and monitoring data flow.

[0068] In one embodiment, the defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to obfuscate smart contracts and hide the IP address of the programmable logic controller, including:

[0069] Use the preset consensus algorithm to generate zero-knowledge proofs and public-private key pairs for engineer workstations, programmable logic controllers, and data acquisition and monitoring control systems, and assign corresponding unique authentication codes in the relay chain;

[0070] The authentication codes and public keys of the engineer workstation, programmable logic controller, and data acquisition and monitoring control system are stored in the relay chain through the uplink gateway. The relay chain includes multiple relay chain nodes.

[0071] Set up a smart contract, bind the unique authentication code of the PLC to the IP address of the PLC, obfuscate the smart contract, and then deploy it to the relay chain node in binary form.

[0072] Specifically, the customized zk-SNARK consensus algorithm (zero-knowledge succinct non-interactive argument of knowledge, succinct non-interactive zero-knowledge proof, hereinafter referred to as zk-SNARKs) makes EW i (The i-th engineer workstation) is able to generate a unique zero-knowledge proof zk-proof locally ew||i , and generate a pair of public and private keys (pk ew||i ,sk ew||i ), and assign a unique authentication code UI in RB ew||i (the unique authentication code of the i-th engineer workstation) and set UI ew||i and pk ew||i Through the on-chain gateway UG ew||RB (Uplink gateway between the engineer workstation and the relay chain) is stored in RB, as shown in formula (3). Similarly, PLCj (jth PLC) can generate a unique zk-proof locally plc||j (zero-knowledge proof of the jth programmable logic controller) and for PLC j Assign a unique authentication code UI in RB plc||j , UI plc||j and IP plc (IP address of PLC) through UG plc||RB (The uplink gateway between the programmable logic controller and the relay chain) is stored in RB, as shown in formula (4). Finally, the customized IPPSC contract (IP Protection Smart Contract) is used to convert UI plc||j With IP plc Bind and confuse the IPPSC contract using the Garble tool, and then deploy it to Node in binary form RB||k (kth relay chain node, target relay chain node), as shown in formula (5).

[0073] RB←UG ew||RB (UI ew||i ∧pk ew||i )(3)

[0074] RB←UG plc||RB (UI plc||i ∧IP plc||i )(4)

[0075] Node RB||i ←#(Garble(IPPSC(UI plc||i ∝IP plc ))) B (5)

[0076] In one embodiment, the attack on the control data flow in the industrial control system is defended based on the set defense model, including:

[0077] When the engineer workstation sends a service request to the relay chain, the relay chain selects the target relay chain node through the roulette algorithm, and sends the public key of the target relay chain node to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain. The service request contains the unique authentication code of the programmable logic controller to be accessed;

[0078] The engineer workstation uses the public key of the target relay chain node to perform elliptic curve encryption on its own zero-knowledge proof, the unique authentication code of the programmable logic controller to be accessed, and the service request, and then sends the encrypted request data to the relay chain through the uplink gateway between the engineer workstation and the relay chain;

[0079] The relay chain broadcasts the encrypted request data, and the target relay chain node decrypts the encrypted request data using its own public key, and broadcasts the decrypted first information to all relay chain nodes. The first information includes the zero-knowledge proof of the engineer workstation and the unique authentication code of the programmable logic controller; the relay chain node verifies the zero-knowledge proof of the engineer workstation through the smart contract, performs consistency detection, and confirms the identity of the engineer workstation;

[0080] The target relay chain node calls the smart contract to obtain the IP address of the programmable logic controller corresponding to the unique authentication code of the programmable logic controller, and sends the service request to the programmable logic controller corresponding to the IP address of the programmable logic controller.

[0081] In the specific implementation process, defense against attacks that control data flow can be achieved through the following steps:

[0082] EW i Use UG ew||RB Send service request Tx to RB i , as in formula 6, where Qu op For query operations, Pu op For program upload operation, Ct op To control the operation.

[0083]

[0084] 2) Design a roulette algorithm through PID control to randomly select a Node RB||k .

[0085] 3) RB through UG ew||RB Node RB||k PK RB||k Send to EW i .

[0086] 4) EW i Put its own zk-proof ew||i , UI for proposed access control plc||j And Tx i Using pk RB||k Perform elliptic curve cryptography (ECC), as shown in formula (7). CP ew From EW i Encrypted request data, ciphertext data packet.

[0087] CP ew =ECC(zk-proof ew||i ∧UI plc||i ∧Tx i ) pkRB||i(7)

[0088] 5) EW i CP ew Through UG ew||RB Send to RB.

[0089] 6) RB broadcasts, Node RB||k Using sk RB||k About CP ew Decrypt and send zk-proof ew||i 、UI plc||j Broadcast to all nodes RB ,Node RB zk-proof through smart contracts ew||i Verify and then perform consistency test to determine the EW i identity.

[0090] 7)Node RB||k Call IPPSC to get the UI plc||j Corresponding IP plc , and Tx i Send to PLC j .

[0091] Due to the above-mentioned defense design for controlling data flow, for u a Attack volume, PLC in IPPSC smart contract j With UI plc||j The relationship between PLC i This implementation uses Fabric to build RB, where the IPP smart contract is compiled in RB and deployed to all nodes. The smart contract cannot be modified and the running results need to be checked for consistency. Attackers cannot modify Tx i The obfuscation algorithm ensures that the contract cannot be decompiled or the PLC cannot be tampered with. j With UI plc||j The association relationship is restored to ensure that u a The attack amount is invalid. And, CP ew It is unbreakable under the existing computing power, ensuring Tx i The immutability of Tx i Finally, the zero-knowledge proof algorithm used in the design of this invention is a non-interactive zk-SNARK, which has a one-time characteristic and cannot be reused. Therefore, attackers cannot use the historical zk-proof in RB. ew||i To forge CP ew zk-proof ew||i , and then through the EW izk-proof ew||i Verification is performed to ensure CP ew Not hijacked or forged.

[0092] In one embodiment, the relay chain selects a target relay chain node through a roulette algorithm, including: using the credit value of the node as the fitness of the relay chain node and updating the fitness, and selecting the target relay chain node according to the updated fitness, wherein the credit value of the node is set and updated using a blockchain incentive mechanism.

[0093] In one embodiment, defending against attacks on response data flows in industrial control systems based on a set defense model includes:

[0094] The PLC encrypts its own zero-knowledge proof and original response data using the public key of the target relay chain node, obtains the encrypted response data, and sends it to the uplink gateway between the PLC and the relay chain;

[0095] The uplink gateway between the programmable logic controller and the relay chain sends the unique authentication code of the corresponding engineer workstation to the relay chain and sets a threshold for the amount of response data returned at the same time;

[0096] The relay chain broadcasts the encrypted response data and the unique authentication code of the engineer workstation. The target relay chain node decrypts the encrypted response data using its own private key and broadcasts the decrypted second information to all relay chain nodes. The second information includes the unique authentication code of the engineer workstation and the zero-knowledge proof of the programmable logic controller. The relay chain node verifies the existence of the unique authentication code of the engineer workstation through the smart contract, verifies the zero-knowledge proof of the programmable logic controller, and then performs node consistency detection to determine the credibility of the encrypted response data.

[0097] After passing the verification, the target relay chain node will perform elliptic curve encryption on the response data using the public key of the engineer workstation, and send it to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain, so that the engineer workstation can decrypt it locally to obtain the original response data.

[0098] In the specific implementation process, the defense of the response data flow is achieved through the following steps:

[0099] 1) PLC j zk-proof plc||j And the response data RP j , using Node RB||k PK RB||k Encryption, that is CP plcIt is the encrypted ciphertext data packet from PLC, that is, the encrypted response data.

[0100] 2) PLC j CP plc Send to UG plc||RB UG plc||RB Together with the corresponding UI ew||i Sent to RB to ensure that the attacker can infer the IP address on the PLC side plc , set the data returned at the same time to be greater than M (threshold), as shown in formula (8).

[0101]

[0102] 3) RB broadcasts, Node RB||k Using sk RB||k About CP plc Decrypt and convert the UI ew||i 、zk-proof plc||j Broadcast to all nodes RB ,Node RB Verify UI via smart contract ew||i Does it exist and is zk-proof plc||j Verify and then perform node consistency detection to determine the CP plc credibility.

[0103] 4) After verification, Node RB||k RP j Using EW i PK ew||i Using elliptic curve encryption, and through UG ew||RB Send to EW i , E.W. i Decrypt locally to obtain RP j .

[0104] 5) After data transmission is completed, Node RB||k If the verification fails, the reputation value decreases and the task is terminated.

[0105] Due to the above control data flow design, for y a Attack volume, first of all, the design of the response data stream in this implementation method ensures that the returned CP plc It is unbreakable under the currently known computing power conditions, so it can be guaranteed that attackers cannot plc To tamper with y a The attack volume is invalid. Secondly, in order to prevent PLC j With UG plc||RB The communication between them was hijacked, and then the CP was forgedplc , pretending to be PLC j With UG plc||RB Communication, and then launch a zero-dynamic attack on ICS, just like controlling data flow, the present invention uses zk-proof plc||j Verification is used to ensure CP plc It is indeed PLC j Returned.

[0106] In one embodiment, the method further includes: if the verification is passed, the engineer workstation decrypts locally to obtain the original response data, and then increases the credit value of the target relay chain node; if the verification is not passed, the credit value of the target relay chain node is reduced.

[0107] In one embodiment, the attack on the monitoring data stream in the industrial control system is defended based on the set defense model, including:

[0108] Defense against attacks on monitoring data streams in industrial control systems based on the set defense model, including:

[0109] The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller;

[0110] The SCADA sends a request for the ledger data to the relay chain, and sends the zero-knowledge proof and public key of the SCADA to the target relay chain node through the data on-chain gateway between the SCADA and the relay chain.

[0111] The target relay chain node verifies the zero-knowledge proof of the SCADA system. After verification, the ledger data is encrypted using the public key of the SCADA system to generate encrypted ledger data, which is then sent to the SCADA system through the uplink gateway between the SCADA system and the relay chain.

[0112] The data acquisition and monitoring control system decrypts the encrypted ledger data with its own local private key, extracts the original ledger data, and compares and verifies it with the historical ledger data to ensure the authenticity of the monitoring data.

[0113] In the specific implementation process, in the ICS system, EW and SCADA both have the function of monitoring the real-time operation status of PLC, etc. Among them, the monitoring data flow of EW refers to the control data flow and the response data flow. The monitoring data flow of SCADA includes the monitoring of EW and PLC. i The customized zk-SNARK consensus algorithm enables SCADA to generate unique zero-knowledge proof zk-proof locally scada||l, and generate a pair of public and private keys (pk scada||l ,sk scada||l ).

[0114] Monitoring data flow defense can be achieved through the following steps:

[0115] 1) SCADA obtains local real-time and historical storage data of EW and PLC (RS plc||ew ).

[0116] 2) SCADA sends EW and PLC related account data to RB (RB plc||ew ) call request and pass UG scada||RB (Data on-chain gateway between SCADA and relay chain) Send zk-proof scada||l (Zero-knowledge proof for SCADA) and pk scada||l Send to Node RB||k .

[0117] 3)Node RB||k zk-proof scada||l Verify and after success, RB plc||ew Using pk scada||i Encrypt and generate encrypted data packet SR scada , as shown in formula (9).

[0118]

[0119] 4) Through UG scada||RB SR scada Send to SCADA.

[0120] 5)SCADA uses sk locally scada||l Decrypt and extract RB plc||ew , and with RS plc||ew Carry out comparative verification to ensure the authenticity of the monitoring data.

[0121] The ledger data in the blockchain is tamper-proof. Therefore, the implementation of the present invention designs a data verification mechanism to prevent SCADA from being attacked. By comparing local data with data on the blockchain, the authenticity of the data is guaranteed. From the Impossibility Triangle theorem, although the present invention increases the credibility of SCADA monitoring data, plc||ew Compared with RS plc||ew The call becomes more complicated. Therefore, in this implementation mode, verification and data monitoring are designed to be performed in parallel, that is, verification is designed to have a hysteresis to ensure the real-time performance of SCADA monitoring.

[0122] The advantages of the present invention are:

[0123] (1) The blockchain-assisted zero-dynamic attack defense method for industrial control systems of the present invention is an attempt to combine blockchain technology, zero-knowledge proof algorithm, smart contract obfuscation technology, artificial intelligence technology and industrial control system. It is innovative and has certain guiding value for the subsequent expansion of the method to other Internet of Things systems and even other industries. (2) The present invention innovatively defends against zero-dynamic attacks from the ICS data control flow, data response flow and data monitoring flow. (3) The present invention innovatively uses intelligent obfuscation technology to hide the IP of PLC and thus break the zero-dynamic attack chain of ICS. (4) The present invention innovatively uses blockchain technology to encrypt and protect the data flow of ICS in the scenario where the computing power resources of ICS components are limited. (5) The present invention innovatively uses the roulette algorithm to lightweight the consensus mechanism of blockchain, greatly improve the applicability of blockchain in ICS, and improve the processing ability of blockchain for ICS high-frequency data requests. (6) The present invention innovatively uses the PID control algorithm to improve the roulette algorithm, while retaining its own "species diversity" characteristics, avoiding the "cocoon" effect of roulette selection.

[0124] The relevant technologies involved in the present invention are described in detail below.

[0125] Zero-knowledge proof is the core of the authentication mechanism in the model. This section mainly designs the zero-knowledge proof generation and verification methods for the three participating entities of PLC, EW and SCADA, which includes four steps, namely authentication circuit design, trusted initialization, proof generation and proof verification. The privacy of data in ICS is relatively high and requires high efficiency. The Zk-SNARK zero-knowledge proof algorithm has zero knowledge, simplicity and non-interactivity, low communication overhead, short length of generated proof, and verification time is independent of computational complexity, which is consistent with ICS requirements and suitable for blockchains with limited resources. Therefore, this implementation method designs a Zk-SNARK zero-knowledge proof algorithm suitable for ICS based on the Groth16 algorithm, as shown in the schematic diagram. Figure 3 shown.

[0126] 1) Node authentication arithmetic circuit design

[0127] To design the arithmetic circuit in zero-knowledge proof, first, the domain is the common input domain of the system, and the circuit C is mapped as shown in formula (10), where R is the common input, which refers to EW i 、PLC j And SCADA uses formula (11) to convert its own information ID plc||ew||scada Sent to the authority AO for endorsement and generation of the corresponding authoritative public parameter R, Enter EW for secret i 、PLC j And the private identity information of SCADA, as shown in formula (12). w is the secret input, representing the input value from the N+1th to the mth item, I mid is an index set of the same length as w.

[0128]

[0129]

[0130]

[0131] The specific design of the ICS node authentication arithmetic circuit is shown in Algorithm 1.

[0132]

[0133] The ICS node authentication arithmetic circuit is divided into three steps. First, in the domain C is constructed in the middle, followed by the calculation of public input, that is, the ICS node information is authenticated by the authority AO, hashed, and compiled into binary as public input R PLC||SCADA||EW Announced, finally EW i 、PLC i SCADA uses the same hash function to perform hashing and builds an equal value comparison circuit with R PLC||SCADA||EW Perform a bitwise comparison and convert the result P plc||scada||ew The design of the ICS node authentication arithmetic circuit ensures the credibility of ICS node identity authentication while protecting the privacy data of ICS node identity. The arithmetic circuit is reliable, complete and zero-knowledge.

[0134] Reliability: Due to the common parameter R PLC||SCADA||EW For EW i 、PLC i The actual identity information of SCADA is hashed and converted to be authentic, and is authoritative and recognized by an authoritative organization. In addition, the hash process is irreversible, so the public parameter R PLC||SCADA||EW The secret w cannot be inferred, so the ICS node cannot forge the proof and is reliable.

[0135] Completeness: The circuit is public, the verification process is transparent, and the public parameter P plc||scada||ew , the verifier of the proof can be sure that the equation does have a solution and is complete by checking the prover's proof.

[0136] Zero Knowledge: EW i、PLC j And SCADA will not disclose any confidential information itself (ID plc||j ,ID scada||l ,ID ew||i ) details, only a string of hash values ​​is disclosed, and the hash process itself is irreversible, so it has zero knowledge.

[0137] 2) Trusted Initialization

[0138] After C is constructed, Zk-SNARK is initialized with trust, the satisfiability problem of C is reduced to a QAP satisfiability problem, and the corresponding QAP string Ω(t(z),U,W,Y) is constructed, with a scale of m and a degree of d, and t(z) is the target polynomial transformed by C (Eq.(13), Eq.(14), i.e., formulas (13) and (14) in Algorithm 1). U, W, Y are shown in formula (15), and the common input is Eq.(10) (i.e., formula 10), then Ω is satisfiable, and only if there exists a coefficient w=(c N+1 ,c N+2 ,.....c m ), so that t(z) can divide p(z), p(z) is as shown in formula (16). This means that there exists h(z) that satisfies the conditions of formula (17), that is, the scale of Ω is m and the degree is d.

[0139]

[0140]

[0141] p(z)-h(z)t(z)=0 (17)

[0142] Secondly, generate the group Corresponding generators g, h, and bilinear mapping group The mapping e is defined as Let [a]1 be g a , [b]2 is h b , [c] T is e(g,h) c . Randomly selected by a trusted AO

[0143] Finally, AO generates a public reference string σ = ([σ1]1, [σ2]2) and a simulation trapdoor τ = (α, β, γ, δ, s) according to formulas (18) and (19). i 、PLC iAs well as the forgery of SCADA-related zero-knowledge proofs, AO needs to destroy τ = (α, β, γ, δ, s) after generating σ = ([σ1]1, [σ2]2).

[0144]

[0145]

[0146] 3) Generate proof

[0147] QAP string Ω, EW converted by ICS arithmetic authentication circuit i 、PLC i And the SCADA-related identity zero-knowledge proof is stored in σ and That is, construct a zero-knowledge proof (π plc||j ∧π scada ∧π ew||i ), as shown in formula (20).

[0148]

[0149] Random Selection in As shown in formulas (21), (22) and (23).

[0150]

[0151]

[0152]

[0153] In π plc||j ∧π scada ∧π ew||i After being generated, it is broadcast to each node of the relay chain according to formula (24) to ensure the credibility of the proof and the authenticity of subsequent verification. i The broadcast delay.

[0154] Blockchain Node i ←P2P(π plc||j ∧π scada ∧π ew||i ) ti (24) The subsequent verification of the proof only requires judging formula (25) to determine π plc||j ∧π scada ∧π ew||i to verify.

[0155]

[0156] 4) Proof Verification

[0157] According to formula (24), the nodes on the relay chain have plc||j ∧π scada ∧π ew||i Verification is used to verify EW i 、PLC i As well as SCADA identity and defense against zero dynamic attacks suffered in ICS. The verification process of the node is specifically shown in formula (26).

[0158]

[0159] Only when the above verification process passes, the output b=1, otherwise b=0, each node and the verification process adopts the Kafka consensus mechanism to broadcast the verification process, and determine the verification result of the proof by voting.

[0160] This implementation adopts Groth16 to design EW based on the actual needs of ICS. i 、PLC j As well as the zero-knowledge proof of SCADA authentication, the reference string σ of this design contains (m+2d+2) The elements of the group and (d+3) The communication complexity of the proof is 2 Elements of the group and 1 The computational overhead of the verifier is 4 pairing operations, which is suitable for the high efficiency and low latency requirements in ICS.

[0161] IPPSC (smart contract), in order to achieve the hiding of physical devices from attackers and thus avoid the risk of zero dynamic attacks, the present invention designs an IP-Protection smart contract (IPPSC) to implement communication protection between "EngineerWorkstation-PLC" (engineer workstation and programmable logic controller). The design of IPPSC is as follows Figure 4 shown.

[0162] IPPSC links the unique code of PLC in RB with the zero-knowledge proof of PLC and the actual IP address of PLC, and uses Garble obfuscation tool to confuse it, and then deploys it on RB in binary form. With this design, even if an attacker steals the communication packet CP sent by EW to PLC, data , and it is also impossible to locate the target PLC. Secondly, the binding of zero-knowledge proof ensures that CP data Finally, even if the attacker iThe attack was carried out and was successful. Since the IPPSC deployed on RB is in binary form, the attacker cannot directly see the specific link relationship and needs to decompile to obtain the link logic. The contract obfuscation design of Garble ensures that IPPSC cannot be obfuscated. From the above three aspects, IPPSC improves the communication protection capability between "Engineer Workstation-PLC". The specific design of the IPPSC contract and the obfuscation strategy are introduced below.

[0163] 1) IPPSC design

[0164] The control data flow of the model shows that EW i CP ew Use ECC encryption algorithm to send to RB node k ,Node k Use own skp k After decryption, CP data Broadcast to all RB nodes RB||k , each node and obtain the EW i π ew And verify according to formula (16). If the verification is passed, IPPSC is called to match the relevant data and obtain IP plc||j , and sends the data packet to the PLC of the IP through the uplink gateway UG. The internal link relationship of IPPSC is shown in Table 1, and the IPPSC algorithm is shown in Algorithm 2.

[0165] Table 1: Schematic diagram of IPPSC internal link relationships

[0166]

[0167]

[0168] Algorithm 2: IPPSC Smart Contract

[0169]

[0170] 2) Contract obfuscation strategy

[0171] The present invention uses the Garble tool to confuse IPPSC written in the Go language. Garble is deeply integrated with the Go tool chain and has deep applicability with the present embodiment. Garble can reduce the readability of the source code in the binary file by obfuscating identifiers, package paths, file names, etc., greatly enhancing the anti-decompilation capability of IPPSC. In addition, Garble has strong controllability and can choose whether to obfuscate string literals, minimize the size of binary files, etc. The obfuscation of IPPSC by Garble mainly includes three steps: identifier obfuscation operation CI, literal obfuscation CF, and minimization of binary CM.

[0172] Identifier obfuscation CI: Generate the corresponding hash value H for the identifier in IPPSC I , as shown in formula (27). Then, I Use Base64 to encode and get the obfuscated identifier I obf , as shown in formula (28). Then, the symbol conversion function SymTrans is used to convert I obf As a further alternative, k1 is used to control the strength of the transformation, as shown in formula (29).

[0173]

[0174] I obf =Base64(H I ) (28)

[0175] I trans =SymTrans(I obf ,k1) (29)

[0176] Literal value confusion CF: The original literal value L in IPPSC orig After being processed by the encoding function Enc, L is generated enc , as shown in formula (30). Then, after encoding, the literal value L enc Random noise Rand(k2) is added to increase the obfuscation, as shown in formula (31). The mapping function Map is applied to further transform the perturbed value to obtain the obfuscated literal value L obf , as shown in formula (32).

[0177]

[0178] L perturb =L enc +Rand(k2) (31)

[0179] L obf =Map(L perturb ) (32)

[0180] Minimize binary CM: First, from the obfuscated binary file B obf Remove the debug information DebugInfo(B obf ), get B strip , as shown in formula (33). Secondly, delete the symbol table SymbolTable (B strip ), further reduce the file size to get B symstrip , as shown in formula (34). Finally, the symbol table stripped file B is compressed by the compression function Compress. symstrip Compress to generate a minimal binary file B tiny , as shown in formula (35).

[0181]

[0182] B symstrip =B strip -SymbolTable(B strip ) (34)

[0183] B tiny =Compress(B symstrip ) (35)

[0184] The PID-based roulette node selection algorithm is designed as follows:

[0185] This section mainly introduces the use of EW i 、PLC j And SCADA data encryption interaction Node RB||k The selection mechanism is used to enhance the actual transmission efficiency of RB in ICS and increase the Node RB||k The attack defense capability is improved by using PID control algorithm to improve the node fitness update scheme of roulette algorithm, so as to better RB||i The selection, such as Figure 5 shown.

[0186] In actual ICS, data flows frequently, but blockchain has the shortcoming of limited resources. Therefore, when using blockchain to enhance the attack defense capability of ICS, it is necessary to consider the reduction in efficiency brought by blockchain. In this implementation, it is necessary to select Node RB||i Used with off-chain EW i 、PLC i As well as SCADA data encryption interaction, the main reason for the low performance of blockchain is the high time consumption of consensus. The present invention uses the roulette algorithm to select Node RB||k, used to replace the consensus election node, this algorithm can greatly reduce the Node RB||k According to the Performance-Complexity Trade-off, improving performance in one aspect (such as speed or efficiency) usually leads to a decrease in performance in other aspects (such as complexity, maintainability, or cost). Using the roulette algorithm will cause malicious Node RB||i Therefore, the present invention improves the roulette algorithm through the PID control algorithm to increase security and prevent the Matthew effect in the roulette algorithm and concurrency in the data transmission process. Figure 4 As shown, this mechanism mainly includes 7 steps.

[0187] 1: Initialize Node according to formula (36) RB||k The fitness f(Node RB||k ), initialized to Su. And calculate Node according to formula (37) RB The total node fitness F total (Node RB ), and calculate Node according to formula (38) RB||k The relative fitness F k .

[0188]

[0189]

[0190]

[0191] 2: Initialize Node RB||k The cumulative probability of the first Node RB The relative fitness of Node is set to the cumulative probability P1, that is, P1 = F1. RB||k Update the cumulative probability P according to formula (39) k .

[0192] P k =P k-1 +F k (k>1) (39)

[0193] 3: For each Node RB||k The cumulative probability P i Normalize to ensure that the last Node RB||k The cumulative probability P n In the range [0,1], as shown in formula (40).

[0194] P n =Clamp(Pn ),0≤P n ≤1 (40)

[0195] 4: Generate a random number r in the range [0,1], as shown in formula (41), and find the smallest Node in the normalized table according to formula (42) RB||k , so that P(Node RB||i ) is greater than or equal to r.

[0196] r~Uniform(0,1)(41)

[0197] Node RB||k =min{k|P(Node RB||k ) k ≥r} (42)

[0198] 5: The Node selected in step 4 RB||k Participate in this interactive task as an encrypted node and interact with the off-chain EW i 、PLC j And SCADA for encrypted data exchange.

[0199] 6: Distinguish Nodes by task completion RB||k It is a normal node or an abnormal node, and combined with manual screening, the abnormal types of abnormal nodes, namely downtime nodes and malicious nodes, are selected. Combined with the incentive mechanism in the blockchain, the credit value of the node is updated, as shown in formula (43), is the historical credit value of the node, T t Updates the value for real-time credit points.

[0200]

[0201] 7: The present invention converts Tr RB||k As Node RB||k The fitness of Node RB||k ) and automatically update the fitness. In order to prevent node downtime (malicious), resulting in task failure, and for the Nash equilibrium of business distribution and anti-concurrency of execution, the present invention adopts PID control to RB||k The update of Node is regulated to avoid the Matthew effect in the roulette algorithm. First, dynamically set f(Node RB||k )'s target value target_value(f(Node RB||k )), set f(Node RB||k ) is greater than or equal to k plan target_value(f(Node RB||k )) The node number threshold k Per, dynamically update target_value(f(Node RB||k )) value, as shown in formula (44). Where Sum is the current f(Node RB||k ) is greater than or equal to k plan target_value(f(Node RB||k ))’s number of nodes.

[0202]

[0203] Secondly, according to formula 45, define the error e k (t), and according to e i (t) Calculate the control output (f(Node RB||k ) is the growth rate), as shown in Formula 46, where u k (t) is f(Node RB||k ) Growth rate, K p , K i , K d are proportional, integral and differential coefficients, respectively, used to adjust the response of the controller. Formula 47 is the RB||k ) Regulation of growth rate.

[0204] e k (t)=target_value-current_value k (t) (45)

[0205]

[0206] current_value k (t+1)=current_value k (t)+u k (t) (47)

[0207] EW i 、PLC j And SCADA is set as a stakeholder entity participating in the RB chain. The data interaction between it and RB relies on UG for data transmission. This section mainly introduces the security enhancement design of the cross-chain gateway UG and the encryption and decryption algorithm ECC for data interaction.

[0208] Specifically, the UG design is as follows:

[0209] Uplink gateway UG connects to EW i With RB, PLC j Data interaction between RB and SCADA and RB, UG schematic diagram as shown Figure 6As shown in the figure, the traditional ICS communication protocol relies on industrial protocols such as Modus TCP / UDP and Profibus. In order to better integrate the original communication, UG is designed as a simple slave station, and EW i 、PLC i And SCADA as the main station.

[0210] EW i 、PLC j SCADA locally splices and encrypts the message to generate CP, and then interacts with UG. The internal logic of UG mainly includes four steps. First, establish a connection with the master station (eg, Modbus TCP protocol through three-way handshake). Second, process the data CP sent by the API interface and convert it into the data format accepted by RB. Third, perform preliminary verification and classification on the processed data, which is divided into non-confidential tasks and encrypted tasks. Non-confidential tasks are plain text transmitted, that is, Node RB||k PK ew||i , the encryption task is to encrypt the transmission of CP, and transmit the data to RB. For the returned data packet, EW i 、PLC j And SCADA decrypts locally and parses the message, and uses corresponding verification methods for different communication protocols to verify the data (eg. Modbus RTU uses a 16-bit CRC check code to detect errors in data frames, and Modbus TCP / IP relies on the built-in error detection mechanism of the TCP / IP protocol).

[0211] In order to make blockchain more suitable for ICS with high frequency of data interaction, Node is replaced by Roulette algorithm. RB||k Consensus election, in addition to the consensus algorithm, the frequent encryption and decryption and time consumption are also one of the main reasons affecting the performance of the blockchain. Therefore, this implementation adopts the ECC encryption algorithm with faster encryption and decryption speed.

[0212] ECC is a public key encryption system whose mathematical basis is the computational difficulty of elliptic discrete logarithms on the Abel additive group using rational points on the elliptic curve. The elliptic curve is shown in formula (48).

[0213] y 2 =x 3 +ax+b,(a,b:4a 3 +27b 2 !=0) (48)

[0214] Set the private key and public key to sk i , pk i , that is, pk i =ski G, G is the base point. The ECC encryption process consists of two steps. First, a random number r is selected and the message (zk-proof ew||i ∧UI plc||i ∧Tx i ) is encrypted into ciphertext C t , as shown in formula (49), the decryption process using d is shown in formula (50).

[0215] C t =(rG,(zk-proof ew||i ∧UI plc||i ∧Tx i )+r·pk i ) (49)

[0216]

[0217] C Case Verification

[0218] In order to verify the performance and security of the research work of the present invention, the present invention has carried out simulation verification and analysis. It has been verified that the blockchain-assisted ICS zero dynamic attack defense model proposed in the present invention can effectively prevent attackers from attacking the data circulating in the ICS, and the zero-knowledge proof algorithm based on Zk-SNARK can efficiently and securely defend EW i 、PLC i The IPPSC contract obfuscation mechanism based on Grable can effectively prevent the decompilation tool from cracking the internal logic of the contract, and can effectively verify the PLC ip Hide and destroy the attacker's zero dynamic attack chain. The design of the roulette algorithm based on the PID control algorithm greatly speeds up the efficiency of RB, realizes the lightweight of RB to a certain extent, and enhances the coupling between RB and ICS. The design of the cross-chain gateway pre-detects the attack behavior, can effectively defend against DDOS attacks, and increases the data transmission matching between the traditional ICS interface and the RB interface. The simulation environment configuration of this implementation is shown in Table 3.

[0219] Table 3 Simulation environment configuration

[0220]

[0221]

[0222] 1) Zero-knowledge proof performance

[0223] This embodiment simulates the Zk-SNARK zero-knowledge proof algorithm designed based on Groth16. Since the access request of ICS is characterized by high frequency and high efficiency, although zero-knowledge proof improves the security of ICS, it will also affect the access efficiency of ICS. Therefore, the present invention simulates and analyzes the size of zero-knowledge proof and the time consumption of verification. The simulation configuration is shown in Table 1. The results are shown in Table 1. Figure 7 shown.

[0224] Figure 7 Part (a) shows that the total size of the zero-knowledge proof π of each block in RB increases with π plc||j , π scada , π ew||i The relationship diagram of the number of changes. In the design of the present invention, the size of the identity certificate of a single participating entity is constant at 256 bytes, regardless of the size of the secret. This is because the present invention uses the BN254 curve, and the size of π is The sum of the sizes of the three group elements is independent of the complexity of the ICS node authentication arithmetic circuit designed by the present invention, which ensures security while minimizing the data transmission and storage overhead of π, and is suitable for environments with low RB resources. Figure 7 Part (b) shows that the generation time of π varies with EW i 、PLC i As well as the time consumption of the size of SCADA identity privacy information, it can be seen that in the case of a million-byte secret, the proof generation time is 21 milliseconds. Since the proof is generated locally, this is within an acceptable range in the actual application of ICS. Figure 7 (c) shows the verification time of π as EW i 、PLC i As well as the change in the size of SCADA identity privacy information, since the verifier calculation overhead in the design of the present invention is 4 pairing operations, the verification overhead is between 1-3 milliseconds under the configuration of Table 1, and the efficiency of the kafka consensus is also at the millisecond level, which is within an acceptable range in the practical application of ICS. It has been verified that the ICS zk-SNARK algorithm designed by the present invention based on the Groth16 algorithm (a typical algorithm of zkSNARK) can greatly increase the security of ICS while having almost no impact on the data interaction of ICS.

[0225] 2) “IP plc Anti-theft test

[0226] The present invention designs an IPPSC contract to interrupt ICS control, uses Garble to obfuscate IPPSC, and then deploys it in a binary form in Fabric. In order to verify the obfuscation result, the present invention assumes that IPPSC is maliciously leaked by the RB node, and uses the commonly used decompilation tool Objdump in the go language for decompilation test. The original IPPSC decompilation result is as follows: Figure 8 shown.

[0227] It can be seen that without obfuscation, attackers can easily obtain the internal logical relationship of the IPPSC contract and thus attack the PLC. ip Match the code in RB to achieve a complete zero-dynamic attack. After being obfuscated by the Garble tool, IPPSC can be made inoperable. After testing, using Objdump to decompile shows: objdump: disassemble IPPSC-obfuscation: no symbol section, thus preventing PLC ip The attacker maliciously steals the data. The present invention then tests the running time consumption difference of IPPSC before and after obfuscation. Fig. 9 The statistical comparison results of the time consumption obtained by repeated operation of the present invention are shown. It can be seen that under the business volume of 100,000 times, the difference is only about 12 seconds.

[0228] In order to further understand the impact of IPPSC obfuscation on contract performance and reduce the error caused by the test environment process, the present invention analyzes 7 dimensions of running time, including Upper quartile, Mean value, Median, Lower quartile, Maximum value, Minimum value, and Standard deviation. Similarly, the present invention conducted 100,000 repeated tests. It can be seen from Table 4 that while increasing the IPPSC security index, the performance impact of the obfuscated IPPSC is extremely low.

[0229] Table 4 Comparison of IPPSC runtime consumption dimensions (before and after obfuscation)

[0230]

[0231] 3) Roulette algorithm test

[0232] The present invention adopts PID control algorithm to improve the roulette algorithm for Node RB||k To test the performance, the present invention simulates 50,000 NodeRB||k Select, the initial fitness is set to 1, Kp is set to 1.0, Ki is set to 0.01, Kd is set to 0.1, the target value of fitness is set to 100, 90% of the nodes reach 90% of the target value, and the fitness target value is automatically updated, and the update method is doubling. Fig. 9 The results of the test are shown.

[0233] Fig.10 The vertical axis of part (a) is the total number of times the node is selected in 50,000 selections, and the horizontal axis is the number of nodes selected in 50,000 selections. RB||k It can be seen that after PID regulation, the number of times the node is selected reaches the Nash equilibrium state, which shows that the design of the present invention can effectively allocate the service requests of the ICS, effectively prevent concurrency problems, and solve the Matthew effect of node selection in the roulette algorithm. Fig.10 The vertical coordinate of part (b) is the value of the total fitness of the node, and the horizontal coordinate is the value of the Node RB||k It can be seen that after PID regulation, the fitness of the node is also in the state of Nash equilibrium, which is around 750, which is in line with the original design intention of the present invention.

[0234] 4) Relay chain performance test

[0235] Some versions of existing ICS components in critical infrastructure are still low, with insufficient computing power and unable to undertake the protection of data flows. Therefore, the present invention uses blockchain technology to assist ICS in protecting data flows, which is used to enhance the resistance of ICS to network attacks. The performance of ICS with relay chains mainly involves the selection of encryption algorithms and consensus mechanisms. In order to adapt to the high-frequency data requests of ICS, the present invention adopts the efficient Kafka consensus mechanism and ECC encryption algorithm. The throughput of Kafka can reach 100,000 to millions of messages / second, and the delay can be controlled in the range of several milliseconds to tens of milliseconds. Kafka's partition design enables it to expand linearly when the number of nodes increases, and data redundancy and consistency are achieved through the ISR (In-Sync Replicas mechanism) mechanism. RSA is also a classic asymmetric encryption algorithm, and the present invention further conducts comparative tests on ECC and RSA. Table 5 shows the comparison of RSA and ECC under different encryption security strengths.

[0236] Table 5 Comparison of RSA and ECC under different encryption security strengths

[0237] Encryption strength RSA (baseline) ECC (the present invention) <![CDATA[2 80 ]]> 1024 163 <![CDATA[2 112 ]]> 2240 233 <![CDATA[2 126 ]]> 3072 283 <![CDATA[2 192 ]]> 7680 409

[0238] The encryption strength is the number of key combinations that an attacker needs to try to crack the encryption. It can be seen that under the same encryption strength, the length required for ECC is much lower than that of RSA. Furthermore, the present invention tests the time consumption comparison required for AES, RSA and ECC during a data interaction of ICS. An ICS data interaction includes a control instruction transmission and a response data reply, involving two encryption and decryption operations. Under the same encryption strength, the time consumption in the aforementioned environment is shown in Table 6, where ECDSA-256 is a specific application of ECC. It can be seen that the ECC encryption algorithm is efficient, highly secure, and meets the actual application environment of ICS.

[0239] Table 6 Comparison of the time consumption of RSA and ECC for one ICS data exchange

[0240] Encryption Algorithm Encryption time / ms Decryption time / ms RSA-3144 15.8 76 ECDSA-256 6.8 14.3

[0241] Embodiment 2

[0242] Based on the same inventive concept, this embodiment discloses a blockchain-assisted industrial control system zero dynamic attack defense device, including:

[0243] A zero dynamic attack point analysis module is used to analyze the zero dynamic attack point of the industrial control system to obtain the zero dynamic attack point;

[0244] The defense model setting module is used to set the defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely, engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocols. The programmable logic controller and sensors and actuators are connected through a physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow.

[0245] The defense module is used to defend against attacks on control data flows, response data flows, and monitoring data flows in industrial control systems based on a set defense model.

[0246] Since the device introduced in the second embodiment of the present invention is a device used to implement the blockchain-assisted industrial control system zero dynamic attack defense method in the first embodiment of the present invention, based on the method introduced in the first embodiment of the present invention, the person skilled in the art can understand the specific structure and deformation of the device, so it is not repeated here. All devices used in the method in the first embodiment of the present invention belong to the scope of protection of the present invention.

[0247] Embodiment 3

[0248] Based on the same inventive concept, the present invention further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method described in the first embodiment is implemented.

[0249] Since the computer-readable storage medium introduced in the third embodiment of the present invention is the computer-readable storage medium used to implement the blockchain-assisted industrial control system zero dynamic attack defense method in the first embodiment of the present invention, based on the method introduced in the first embodiment of the present invention, the person skilled in the art can understand the specific structure and deformation of the computer-readable storage medium, so it is not repeated here. All computer-readable storage media used in the method of the first embodiment of the present invention belong to the scope of protection of the present invention.

[0250] Embodiment 4

[0251] The present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in Embodiment 1 when executing the program.

[0252] Since the computer device introduced in the fourth embodiment of the present invention is a computer device used to implement the blockchain-assisted industrial control system zero dynamic attack defense method in the first embodiment of the present invention, based on the method introduced in the first embodiment of the present invention, the person skilled in the art can understand the specific structure and deformation of the computer device, so it is not repeated here. All computer devices used in the method of the first embodiment of the present invention belong to the scope of protection of the present invention.

[0253] Although preferred embodiments of the present invention have been described, additional changes and modifications may be made to these embodiments by those skilled in the art once the basic creative concepts are known. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention. Obviously, those skilled in the art may make various changes and modifications to the embodiments of the present invention without departing from the spirit and scope of the embodiments of the present invention. Thus, if these modifications and variations of the embodiments of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A blockchain-assisted industrial control system zero dynamic attack defense method, characterized in that: include: Analyze the zero dynamic attack point of the industrial control system and obtain the zero dynamic attack point; According to the zero dynamic attack point, the defense model is set up in combination with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocol. The programmable logic controller and sensor and actuator are connected through physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow. The attack on control data flow, response data flow and monitoring data flow in industrial control system is defended based on the set defense model.

2. The blockchain-assisted industrial control system zero dynamic attack defense method as claimed in claim 1, characterized in that: The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller, including: Use the preset consensus algorithm to generate zero-knowledge proofs and public-private key pairs for engineer workstations, programmable logic controllers, and data acquisition and monitoring control systems, and assign corresponding unique authentication codes in the relay chain; The authentication codes and public keys of the engineer workstation, programmable logic controller, and data acquisition and monitoring control system are stored in the relay chain through the uplink gateway. The relay chain includes multiple relay chain nodes. Set up a smart contract, bind the unique authentication code of the PLC to the IP address of the PLC, obfuscate the smart contract, and then deploy it to the relay chain node in binary form.

3. The blockchain-assisted industrial control system zero dynamic attack defense method as described in claim 2 is characterized in that: Defense against attacks on control data flows in industrial control systems based on the set defense model, including: When the engineer workstation sends a service request to the relay chain, the relay chain selects the target relay chain node through the roulette algorithm, and sends the public key of the target relay chain node to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain. The service request contains the unique authentication code of the programmable logic controller to be accessed; The engineer workstation uses the public key of the target relay chain node to perform elliptic curve encryption on its own zero-knowledge proof, the unique authentication code of the programmable logic controller to be accessed, and the service request, and then sends the encrypted request data to the relay chain through the uplink gateway between the engineer workstation and the relay chain; The relay chain broadcasts the encrypted request data, and the target relay chain node decrypts the encrypted request data using its own public key, and broadcasts the decrypted first information to all relay chain nodes. The first information includes the zero-knowledge proof of the engineer workstation and the unique authentication code of the programmable logic controller; the relay chain node verifies the zero-knowledge proof of the engineer workstation through the smart contract, performs consistency detection, and confirms the identity of the engineer workstation; The target relay chain node calls the smart contract to obtain the IP address of the programmable logic controller corresponding to the unique authentication code of the programmable logic controller, and sends the service request to the programmable logic controller corresponding to the IP address of the programmable logic controller.

4. The blockchain-assisted industrial control system zero dynamic attack defense method as described in claim 3 is characterized in that: The relay chain selects the target relay chain node through a roulette algorithm, including: using the node's credit value as the fitness of the relay chain node and updating the fitness, and selecting the target relay chain node based on the updated fitness, wherein the node's credit value is set and updated using the blockchain incentive mechanism.

5. The blockchain-assisted industrial control system zero dynamic attack defense method as claimed in claim 4, characterized in that: Defense against attacks on response data flows in industrial control systems based on the set defense model, including: The PLC encrypts its own zero-knowledge proof and original response data using the public key of the target relay chain node, obtains the encrypted response data, and sends it to the uplink gateway between the PLC and the relay chain; The uplink gateway between the programmable logic controller and the relay chain sends the unique authentication code of the corresponding engineer workstation to the relay chain and sets a threshold for the amount of response data returned at the same time; The relay chain broadcasts the encrypted response data and the unique authentication code of the engineer workstation. The target relay chain node decrypts the encrypted response data using its own private key and broadcasts the decrypted second information to all relay chain nodes. The second information includes the unique authentication code of the engineer workstation and the zero-knowledge proof of the programmable logic controller. The relay chain node verifies the existence of the unique authentication code of the engineer workstation through the smart contract, verifies the zero-knowledge proof of the programmable logic controller, and then performs node consistency detection to determine the credibility of the encrypted response data. After passing the verification, the target relay chain node will perform elliptic curve encryption on the response data using the public key of the engineer workstation, and send it to the engineer workstation through the uplink gateway between the engineer workstation and the relay chain, so that the engineer workstation can decrypt it locally to obtain the original response data.

6. The blockchain-assisted industrial control system zero dynamic attack defense method as claimed in claim 5, characterized in that: The method also includes: if the verification is passed, the engineer workstation increases the credit value of the target relay chain node after locally decrypting and obtaining the original response data; if the verification is not passed, the credit value of the target relay chain node is reduced.

7. The blockchain-assisted industrial control system zero dynamic attack defense method as described in claim 2 is characterized in that: Defense against attacks on monitoring data streams in industrial control systems based on the set defense model, including: The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller; The SCADA sends a request for the ledger data to the relay chain, and sends the zero-knowledge proof and public key of the SCADA to the target relay chain node through the data on-chain gateway between the SCADA and the relay chain. The target relay chain node verifies the zero-knowledge proof of the SCADA system. After verification, the ledger data is encrypted using the public key of the SCADA system to generate encrypted ledger data, which is then sent to the SCADA system through the uplink gateway between the SCADA system and the relay chain. The data acquisition and monitoring control system decrypts the encrypted ledger data with its own local private key, extracts the original ledger data, and compares and verifies it with the historical ledger data to ensure the authenticity of the monitoring data.

8. A blockchain-assisted industrial control system zero dynamic attack defense device, characterized in that: include: A zero dynamic attack point analysis module is used to analyze the zero dynamic attack point of the industrial control system to obtain the zero dynamic attack point; The defense model setting module is used to set the defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof method. The defense model includes four participating entities, namely, engineer workstation, programmable logic controller, sensor and actuator, data acquisition and monitoring control system, and relay chain. The engineer workstation, programmable logic controller and relay chain communicate through communication protocols. The programmable logic controller and sensors and actuators are connected through a physical field bus. The defense model uses a preset consensus algorithm to generate initial parameters, and combines blockchain technology to confuse smart contracts and hide the IP address of the programmable logic controller. The communication data between the participating entities involved in the model includes control data flow, response data flow and monitoring data flow. The defense module is used to defend against attacks on control data flows, response data flows, and monitoring data flows in industrial control systems based on a set defense model.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, it implements the blockchain-assisted industrial control system zero dynamic attack defense method as described in any one of claims 1 to 7.

10. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the blockchain-assisted industrial control system zero dynamic attack defense method as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Supervisable privacy protection block chain system and method based on zk-SNARK

    CN116366225A

  • ICS data trusted circulation system and method based on double-layer block chain assistance

    CN118748583A

  • Method for providing user identity based on zero-knowledge proof over blockchain network by using user certificate and blockchain system using the same

    US11870905B1

  • System and method for managing user digital assets while maintaining security and privacy

    US11887119B1

  • Programmable application-specific array for protecting confidentiality and integrity of hardware ips

    US20230006674A1

Cited By

  • Semantic-level ICS zero-trust platform based on intra-network computing

    CN120639356A