Blockchain-assisted industrial control system zero-dynamic attack defense method and device
By combining blockchain technology and zero-knowledge proof with smart contracts, a defense model is built to defend against zero-dynamic attacks on industrial control systems, solving the problem of weak anti-attack capabilities in existing technologies and achieving efficient defense and privacy protection for industrial control systems.
Patent Information
- Application Number
- CN202411926118.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-12-25
AI Technical Summary
Existing technologies cannot effectively defend against zero-dynamic attacks in industrial control systems, especially in low-resource, distributed scenarios. Existing defense mechanisms have weak anti-attack capabilities, and the components have insufficient computing power to protect data flows.
Using blockchain technology as a distributed collaborative base, combined with zero-knowledge proof and smart contracts, a defense model is built to analyze the zero-dynamic attack points of industrial control systems, and data transmission and privacy protection are carried out through the relay chain. The preset consensus algorithm is used to generate initial parameters, the IP address of the programmable logic controller is hidden, and smart contract obfuscation technology is used to achieve identity authentication and data flow defense.
It improves the defense capability of industrial control systems, realizes effective defense of control data flow, response data flow and monitoring data flow, protects user and device privacy information, and improves the accuracy of identity authentication and system security.
Smart Images

Figure CN119652646B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of industrial control system security, and more specifically, to a blockchain-assisted zero-dynamic attack defense method and device for industrial control systems. Background Art
[0002] In traditional ICS (Industrial Control Systems), zero-dynamics describes the system's internal dynamic characteristics, whose behavioral characteristics are closely linked to the system's properties. Zero-dynamic attacks can be described as exploiting the linearity of a plant and the unique properties of zero in transmission systems. Based on perfect system knowledge, the attacker maintains stealth by modifying only controlled variables. Furthermore, the attack variables are constructed independently of the system itself (such as controlled variables, system measurement, or control algorithms). However, with the integration of ICS and the internet, modern ICS zero-dynamics attacks can be initially described as exploiting perfect system knowledge by modifying communication signals between engineering workstations, control units, monitoring units, and field devices (sensors and actuators), thereby maintaining stealth and zero-dynamics. This poses a significant challenge to ICS cyberattack defense.
[0003] In response to the frequent cyberattacks on ICS, scholars have conducted the following explorations: 1. Using dynamic encoding 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. Using generalized samplers, modulation matrices, and fusion filters to identify and defend against attacks on the input side of ICS. 3. Integrating advanced technologies such as artificial intelligence algorithms and digital twins to identify zero-dynamic attack behaviors on ICS. The explorations of the above scholars have provided research ideas and a research foundation for zero-dynamic attacks on ICS. However, given the low resource and distributed nature of ICS, the following research issues still need to be urgently addressed:
[0004] It mainly focuses on attack detection and identification, and cannot disrupt the zero-dynamic attack chain of ICS, thereby providing effective defense.
[0005] The ICS network structure is complex, including PLCs (programmable logic controllers), engineer workstations, SCADA (supervisory control and data acquisition) systems, sensors, etc. The existing defense mechanism is mainly centralized, 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] To address these issues, utilizing distributed solutions for collaborative defense against zero-dynamic attacks on ICS is a viable approach that leverages ICS characteristics and reshapes ICS defense strategies against zero-dynamic attacks. Blockchain technology is described as a novel application model that integrates distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Smart contracts are computer programs that run on a distributed ledger, possessing pre-defined rules, state, and conditional responses. They can encapsulate, verify, and execute complex behaviors of distributed nodes to facilitate information exchange, value transfer, and asset management. The combination of blockchain and smart contracts imbues blockchain with decentralized, tamper-proof, and automated characteristics. In the decentralized context of ICS, blockchain technology is the only proven solution. Scholars have initially explored the integration of ICS and blockchain technologies, leveraging blockchain's high fault tolerance, asymmetric encryption algorithms, and incentive mechanisms to rebuild trust in ICS and provide collaborative defense against cyberattacks. To address the three aforementioned issues, this invention leverages smart contracts to disrupt ICS attack chains and leverages blockchain to assume the computing power of ICS components protecting data flows and provide distributed defense. Specifically, this invention uses blockchain technology as the foundation for ICS distributed collaboration and integrates cutting-edge technologies such as zero-knowledge proof technology and AI algorithms (genetic algorithms), providing a viable solution for zero-dynamic attack defense against ICS.
[0008] To achieve the above objectives, the first aspect of the present invention provides a blockchain-assisted zero-dynamic attack defense method for industrial control systems, comprising:
[0009] Analyze the zero dynamic attack points of industrial control systems and obtain the zero dynamic attack points;
[0010] Based on zero dynamic attack points, a defense model is established by combining blockchain and zero-knowledge proof methods. The defense model includes four participating entities: engineer workstations, programmable logic controllers, sensors and actuators, and data acquisition and monitoring control systems, as well as a relay chain. The engineer workstations, programmable logic controllers, and relay chains communicate via a communication protocol, and the programmable logic controllers are connected to sensors and actuators via a physical field bus. 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. The communication data between the participating entities involved in the model includes control data flow, response data flow, and monitoring data flow.
[0011] The set defense model is used to defend against attacks on control data flow, response data flow and monitoring data flow in industrial control systems.
[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] A preset consensus algorithm is used to generate zero-knowledge proofs and public-private key pairs for engineer workstations, programmable logic controllers, and data acquisition and monitoring control systems, and unique authentication codes are assigned to them 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 programmable logic controller to the IP address of the programmable logic controller, obfuscate the smart contract, and then deploy it to the relay chain node in binary form.
[0016] In one embodiment, defending against attacks on control data flows in an industrial control system based on a set defense model includes:
[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. The encrypted request data is then sent 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. 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 testing, 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 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.
[0022] In one embodiment, defending against attacks on response data flows in an industrial control system 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 and verifies the zero-knowledge proof of the programmable logic controller. It 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, defending against attacks on monitoring data streams in an industrial control system based on a set defense model includes:
[0029] The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller;
[0030] The SCADA system sends a request for ledger data to the relay chain, and sends the SCADA system’s zero-knowledge proof and public key to the target relay chain node through the data on-chain gateway between the SCADA system and the relay chain.
[0031] The target relay chain node verifies the zero-knowledge proof of the SCADA system. Once the verification is successful, the ledger data is encrypted using the SCADA system's public key to generate the encrypted ledger data. The encrypted data is then sent to the SCADA system via 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 and obtain the zero dynamic attack point;
[0035] A defense model setting module is used to set up a defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof methods. The defense model includes four participating entities: an engineer workstation, a programmable logic controller, sensors and actuators, and a data acquisition and monitoring control system, as well as a relay chain. The engineer workstation, programmable logic controller, and relay chain communicate via a communication protocol, and the programmable logic controller is connected to the sensors and actuators via a physical field bus. 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. 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, it implements the blockchain-assisted industrial control system zero dynamic attack defense method described in the first aspect.
[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 runnable on the processor. 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] This paper 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 analyzed to identify them. Then, based on these zero-dynamic attack points, a defense model is established using blockchain and zero-knowledge proof methods. This defense model uses a preset consensus algorithm to generate initial parameters, protecting user and device privacy information and enabling accurate identity authentication. Blockchain technology is also used to obfuscate smart contracts, hiding the IP address of programmable logic controllers (PLCs), disrupting the ICS attack chain. A relay chain acts as a trusted data transfer station between the engineer workstation and the PLC. Finally, based on the established defense model, attacks on the control, response, and monitoring data streams within the industrial control system are defended, significantly improving the defense capabilities 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 following briefly introduces the drawings required for use in the embodiments or the description of the prior art. 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 any creative work.
[0042] Figure 1 Schematic diagram of zero dynamic attack on industrial control system in an embodiment of the present invention;
[0043] Figure 2 Schematic diagram of a zero-dynamic attack and defense model for 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 Schematic diagram of the internal logic of IPPSC (IP Protection Smart Contract) in an embodiment of the present invention;
[0046] Figure 5 Schematic diagram of the 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 performance test of zero-knowledge proof in an embodiment of the present invention; (a) proof size verification (b) proof production time consumption (c) proof verification time consumption;
[0049] Figure 8 This is the original IPPSC decompilation result (Objdump) in the embodiment of the present invention;
[0050] Figure 9 Schematic diagram comparing IPPSC runtime consumption in an embodiment of the present invention (before and after obfuscation);
[0051] Figure 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 the node is selected, and (b) is the final fitness value of the node. DETAILED DESCRIPTION
[0052] This invention discloses a blockchain-assisted zero-dynamic attack defense method and device for industrial control systems. The method utilizes a customized zk-SNARK algorithm to protect user and device privacy and achieve precise identity authentication. Secondly, the Garble framework (a code obfuscation tool designed specifically for the Go language) is used to obfuscate smart contracts, hiding the IP addresses of ICS devices and disrupting the ICS attack chain. Then, a relay chain is used as a trusted data transfer station between the engineer workstation and the PLC. An on-chain gateway is designed, and an improved roulette algorithm based on PID control is used to lightweight the blockchain and defend against attacks against the relay chain. Finally, the model is subjected to security analysis and experimental verification of its performance in real-world ICS scenarios and its zero-dynamic attack defense capabilities. Results show that identity authentication time is within 3 milliseconds with a data volume of one million bytes. The obfuscated smart contract cannot be decompiled and cracked using Objdump (a viewing tool). Furthermore, node selection ensures high security and diversity while avoiding the Matthew effect. This invention innovatively leverages blockchain technology to offload the computing power required for ICS data encryption and provides research insights for defending ICS against highly concealed cyberattacks.
[0053] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only 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 making creative efforts shall fall within the scope of protection of the present invention.
[0054] Example 1
[0055] The present invention discloses a blockchain-assisted zero-dynamic attack defense method for industrial control systems, comprising:
[0056] S1: Analyze the zero dynamic attack point of the industrial control system to obtain the zero dynamic attack point;
[0057] S2: Based on zero dynamic attack points, a defense model is established by combining blockchain and zero-knowledge proof methods. The defense model includes four participating entities: engineer workstations, programmable logic controllers, sensors and actuators, and data acquisition and monitoring control systems, as well as a relay chain. The engineer workstations, programmable logic controllers, and relay chains communicate via a communication protocol. The programmable logic controllers and sensors and actuators are connected via a physical field bus. 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. 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 to 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 * The PLC response data received by the EW end, w is the fixed-point signal, Figure 1 Formula (2) can be obtained. If there is no attack u=u * , y=y * .
[0060]
[0061] Zero-dynamic attacks on ICS rely on complete system knowledge of the device and full access to 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.
[0062] 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 EW segment, and finally adjusting the response data at the PLC data output location. The zero-dynamic attack behavior considered by the present invention is shown below.
[0063] 1) Attackers hijack conversations between EW, PLC, and SCADA, creating malicious EW, PLC, and SCADA systems to attack ICS systems. 2) Attackers insert attack signals between the control data streams between EW and PLC and eliminate the attack behavior in the response data streams between EW and PLC (as well as the monitoring signals between SCADA and EW and PLC), thus conducting a zero-dynamic attack. 3) Attackers directly attack control signals, monitoring signals, and response signals, disrupting the normal operation of ICS systems.
[0064] In response to attacks faced by ICS, this paper studies an ICS zero-dynamic defense model based on blockchain technology. Leveraging blockchain's high reliability, tamper-proofing, and encrypted transmission characteristics, this model defends against the second type of zero-dynamic attacks. It also combines zero-knowledge proof algorithms to defend against the first and third types of attacks. Similarly, the introduction of blockchain increases the attack surface for ICS systems. Therefore, this paper improves the roulette algorithm to defend against attacks on blockchain nodes, forming a comprehensive defense capability against ICS attacks.
[0065] 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, the engineer workstation (EW), the programmable logic controller (PLC), and the data acquisition and supervisory control system (SCADA) itself.
[0066] 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 y aTo defend, use zero-knowledge proof algorithm to verify the identity of EW, PLC and SCADA to prevent identity forgery. Models such as Figure 2 As shown, the model includes four ICS stakeholders: EW, PLC, SA (sensors and actuators), and SCADA, along with a relay chain (RB). Communication between the EW and RB, and between the RB and PLC, occurs via Modbus or Profibus, with TCP or UDP as the underlying protocol. The PLC and SA are connected via a physical fieldbus, which is secure by default. Data communication between the stakeholders involved in the model is divided into control data flow, response data flow, and monitoring data flow.
[0067] 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:
[0068] A preset consensus algorithm is used to generate zero-knowledge proofs and public-private key pairs for engineer workstations, programmable logic controllers, and data acquisition and monitoring control systems, and unique authentication codes are assigned to them in the relay chain.
[0069] 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.
[0070] Set up a smart contract, bind the unique authentication code of the programmable logic controller to the IP address of the programmable logic controller, obfuscate the smart contract, and then deploy it to the relay chain node in binary form.
[0071] 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 (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 UI ew||i and pk ew||i Through the on-chain gateway UG ew||RB (Uplink gateway between engineer workstation and relay chain) is stored in RB, as shown in formula (3). Similarly, make 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 , the UI plc||j and IP plc (PLC IP address) through UG plc||RB (On-chain gateway between programmable logic controller and 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).
[0072] RB←UG ew||RB (UI ew||i ∧pk ew||i ) (3)
[0073] RB←UG plc||RB (UI plc||i ∧IP plc||i ) (4)
[0074] Node RB||i ←#(Garble(IPPSC(UI plc||i ∝IP plc ))) B (5)
[0075] In one embodiment, defending against attacks on control data flows in an industrial control system based on a set defense model includes:
[0076] 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;
[0077] 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. The encrypted request data is then sent to the relay chain through the uplink gateway between the engineer workstation and the relay chain.
[0078] The relay chain broadcasts the encrypted request data. 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 testing, and confirms the identity of the engineer workstation.
[0079] 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.
[0080] In practice, defense against attacks that control data flow can be achieved through the following steps:
[0081] 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 operations.
[0082]
[0083] 2) Design a roulette wheel algorithm through PID control to randomly select a node RB||k .
[0084] 3) RB through UG ew||RB Node RB||k PK RB||k Send to EW i .
[0085] 4) EW i Put its own zk-proof ew||i , UI for proposed access control plc||j and Tx i Use pk RB||k Perform elliptic curve cryptography (ECC) as shown in formula (7). CP ew From EW i Encrypted request data, ciphertext data packet.
[0086]
[0087] 5) EW i CP ew Through UG ew||RBSend to RB.
[0088] 6) RB broadcasts, Node RB||k Using sk RB||k CP ew Decrypt and 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.
[0089] 7)Node RB||k Call IPPSC to get the UI plc||j Corresponding IP plc , and Tx i Send to PLC j .
[0090] Due to the above-mentioned defense design of controlling data flow, for u a Attack volume, PLC in IPPSC smart contract j With UI plc||j The relationship between the two is confused, 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 tested for consistency. Attackers cannot modify Tx i The obfuscation algorithm ensures that the contract cannot be tampered with and cannot be decompiled or the PLC cannot be tampered with. j With UI plc||j The association relationship is restored to ensure 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 feature and cannot be reused. Therefore, attackers cannot use the historical zk-proof in RB. ew||i To fake CP ew zk-proof in ew||i , and then through EW i zk-proof ew||i Verification is performed to ensure CP ew Not hijacked or forged.
[0091] In one embodiment, the relay chain selects a 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.
[0092] In one embodiment, defending against attacks on response data flows in an industrial control system based on a set defense model includes:
[0093] 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;
[0094] 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;
[0095] 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 and verifies the zero-knowledge proof of the programmable logic controller. It then performs node consistency detection to determine the credibility of the encrypted response data.
[0096] 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.
[0097] In the specific implementation process, the defense of the response data flow is achieved through the following steps:
[0098] 1) PLC j zk-proof plc||j And response data RP j , using Node RB||k PK RB||k Encryption, that is CP plc It is the encrypted ciphertext data packet from PLC, that is, the encrypted response data.
[0099] 2) PLC j CPplc 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).
[0100]
[0101] 3) RB broadcasts, Node RB||k Using sk RB||k 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.
[0102] 4) After verification, Node RB||k RP j Using EW i PK ew||i Use elliptic curve encryption and pass UG ew||RB Send to EW i , EW i Decrypt locally to obtain RP j .
[0103] 5) After data transmission is completed, Node RB||k If the verification fails, the reputation value decreases and the task is terminated.
[0104] 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 ensures that the returned CP plc It is unbreakable under the currently known computing power conditions, so it can ensure that attackers cannot plc Tamper with it, so that 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 the CP was forged. plc , pretending to be a PLC j With UG plc||RBCommunication, and then launch a zero dynamic attack on ICS, just like controlling data flow, this invention uses zk-proof plc||j Verification is performed to ensure CP plc It is indeed a PLC j Returned.
[0105] 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.
[0106] In one embodiment, defending against attacks on monitoring data streams in an industrial control system based on a set defense model includes:
[0107] Defense against attacks on monitoring data streams in industrial control systems based on the configured defense model, including:
[0108] The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller;
[0109] The SCADA system sends a request for ledger data to the relay chain, and sends the SCADA system’s zero-knowledge proof and public key to the target relay chain node through the data on-chain gateway between the SCADA system and the relay chain.
[0110] The target relay chain node verifies the zero-knowledge proof of the SCADA system. Once the verification is successful, the ledger data is encrypted using the SCADA system's public key to generate the encrypted ledger data. The encrypted data is then sent to the SCADA system via the uplink gateway between the SCADA system and the relay chain.
[0111] 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.
[0112] In the specific implementation process, in the ICS system, EW and SCADA both have the function of monitoring the real-time operating 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 ).
[0113] Monitoring data flow defense can be achieved through the following steps:
[0114] 1) SCADA obtains local real-time and historical storage data of EW and PLC (RS plc||ew ).
[0115] 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) Sending zk-proof scada||l (Zero-knowledge proof of SCADA) and pk scada||l Send to Node RB||k .
[0116] 3)Node RB||k zk-proof scada||l Verify and after success, RB plc||ew Use pk scada||i Encrypt and generate encrypted data packet SR scada , as shown in formula (9).
[0117]
[0118] 4) Through UG scada||RB SR scada Send to SCADA.
[0119] 5)SCADA uses sk locally scada||l Decrypt and extract RB plc||ew and with RS plc||ew Conduct comparative verification to ensure the authenticity of monitoring data.
[0120] The ledger data in the blockchain is tamper-proof. Therefore, the embodiment of the present invention designs a data verification mechanism to prevent SCADA from being attacked. By comparing local data with the data on the blockchain, the authenticity of the data is guaranteed. According to the Impossibility Triangle Theorem, although the present invention increases the credibility of SCADA monitoring data, RB plc||ew Compared with RS plc||ew The calling becomes more complicated. Therefore, in this embodiment, 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.
[0121] The advantages of the present invention are:
[0122] (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 extension of this 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 the PLC and thus break the zero-dynamic attack chain of the ICS. (4) The present invention innovatively uses blockchain technology to encrypt and protect the data flow of the ICS in the scenario where the computing power resources of the ICS components are limited. (5) The present invention innovatively uses the roulette algorithm to lightweight the consensus mechanism of the blockchain, greatly improving the applicability of the blockchain in the ICS and improving the blockchain's processing ability for high-frequency data requests from the ICS. (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 the roulette selection.
[0123] The relevant technologies involved in the present invention are described in detail below.
[0124] Zero-knowledge proof is the core of the authentication mechanism in the model. This section mainly designs the zero-knowledge proof generation and verification method for the three participating entities: PLC, EW, and SCADA. It includes four steps: 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-interaction. It has low communication overhead, the length of the generated proof is short, and the verification time is independent of the complexity of the calculation. It is consistent with ICS requirements and is 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. The schematic diagram is shown below. Figure 3 shown.
[0125] 1) Node authentication arithmetic circuit design
[0126] To design the arithmetic circuit in zero-knowledge proof, first, the domain 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 Send it to the authority AO for endorsement and generate the corresponding authoritative public parameter R, Enter EW for secret i 、PLCj And the private identity information of SCADA, as shown in formula (12). w is the secret input, representing the input value from item N+1 to item m, I mid is an index set of the same length as w.
[0127]
[0128]
[0129]
[0130] The specific design of the ICS node authentication arithmetic circuit is shown in Algorithm 1.
[0131]
[0132] The ICS node authentication arithmetic circuit is divided into three steps. First, in the domain The second step is the calculation of public input, that is, the ICS node information is authenticated by the authority AO, hashed, and compiled into binary as the public input R PLC||SCADA||EW Announcement, finally EW i 、PLC i SCADA uses the same hash function to perform hashing and builds an equivalent comparison circuit with R PLC||SCADA||EW Perform 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 verification while protecting the privacy data of ICS node identity. The arithmetic circuit is reliable, complete, and zero-knowledge.
[0133] 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 authenticity, 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.
[0134] 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 convinced that the equation does have a solution and is complete by checking the prover's proof.
[0135] Zero knowledge: EW i 、PLC jAnd SCADA will not reveal 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.
[0136] 2) Trusted Initialization
[0137] After C is constructed, Zk-SNARK is initialized with trustworthiness, and the satisfiability problem of C is reduced to a QAP satisfiability problem. The corresponding QAP string Ω(t(z), U, W, Y) is constructed, with a scale of m and a degree of d. 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 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 shows that h(z) exists, which satisfies the conditions of formula (17), that is, the scale of Ω is m and the degree is d.
[0138]
[0139] p(z)-h(z)t(z)=0 (17)
[0140] Next, 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
[0141] Finally, AO generates the public reference string σ=([σ1]1,[σ2]2) and the simulation trapdoor τ=(α,β,γ,δ,s) according to formulas (18) and (19). In order to prevent the random parameters from leaking and causing EW i 、PLC i As well as the forgery of SCADA-related zero-knowledge proofs, AO needs to destroy τ = (α, β, γ, δ, s) after generating σ = ([σ1]1, [σ2]2).
[0142]
[0143] 3) Generate proof
[0144] 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).
[0145]
[0146] Random selection in As shown in formulas (21), (22), and (23).
[0147]
[0148] In π plc||j ∧π scada ∧π ew||i After generation, 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 is the broadcast delay.
[0149]
[0150] Subsequent verification of the proof only requires judging formula (25) to determine π plc||j ∧π scada ∧π ew||i to verify.
[0151]
[0152] 4) Proof Verification
[0153] 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 in ICS. The node verification process is specifically shown in formula (26).
[0154]
[0155] Only when the above verification process passes, the output b = 1, otherwise b = 0. Each node and the verification process uses the Kafka consensus mechanism to broadcast the verification process and determine the verification result of the proof by voting.
[0156] 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) 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 of ICS.
[0157] IPPSC (smart contract), in order to achieve the concealment of physical devices from attackers and thus avoid the risk of zero dynamic attacks, the present invention designs 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.
[0158] 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 , 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 has i The attack was successful. Because the IPPSC deployed on RB is in binary format, the attacker cannot directly see the specific link relationships and must decompile to obtain the link logic. Garble's contract obfuscation design ensures that the IPPSC cannot be obfuscated. By leveraging the three aforementioned aspects, the IPPSC improves communication protection between the Engineer Workstation and the PLC. The following describes the specific design of the IPPSC contract and its obfuscation strategy.
[0159] 1) IPPSC design
[0160] The control data flow of the model shows that EW i CP ewUse ECC encryption algorithm to send to RB node k , Node k Use your 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, call IPPSC 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.
[0161] Table 1: Schematic diagram of internal links in IPPSC
[0162]
[0163]
[0164] Algorithm 2: IPPSC Smart Contract
[0165]
[0166] 2) Contract obfuscation strategy
[0167] This paper uses the Garble tool to obfuscate IPPSC, written in the Go language. Garble is deeply integrated with the Go toolchain and is highly applicable to this embodiment. By obfuscating identifiers, package paths, file names, etc., Garble can reduce the readability of source code in binary files, greatly enhancing IPPSC's anti-decompilation capabilities. In addition, Garble has strong controllability, allowing users to choose whether to obfuscate string literals and minimize binary file size. Obfuscating IPPSC using Garble mainly involves three steps: identifier obfuscation operation CI, literal obfuscation CF, and binary minimization CM.
[0168] Identifier obfuscation CI: Generate the corresponding hash value H for the identifier in IPPSC I , as shown in formula (27). Then, H 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).
[0169]
[0170] I obf =Base64(H I ) (28)
[0171] I trans =SymTrans(I obf ,k1) (29)
[0172] 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).
[0173]
[0174] L perturb =L enc +Rand(k2) (31)
[0175] L obf =Map(L perturb ) (32)
[0176] Minimize binary CM: First, from the obfuscated binary file B obf Remove 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 file B after symbol table stripping is compressed by the compression function Compress. symstrip Compress to generate a minimized binary file B tiny , as shown in formula (35).
[0177]
[0178] B symstrip =B strip -SymbolTable(B strip ) (34)
[0179] B tiny =Compress(B symstrip ) (35)
[0180] The PID-based roulette node selection algorithm is designed as follows:
[0181] 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.
[0182] 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 And SCADA data encryption interaction, while 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 lead to malicious Node RB||i Therefore, the present invention improves the roulette algorithm by using 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 in the figure, this mechanism mainly includes 7 steps.
[0183] 1: Initialize Node according to formula (36) RB||k The fitness of 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 .
[0184]
[0185] 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 .
[0186] P k =P k-1 +F k (k>1) (39)
[0187] 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).
[0188] P n =Clamp(P n ),0≤P n ≤1 (40)
[0189] 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.
[0190] r~Uniform(0,1)(41)
[0191] Node RB||k =min{k|P(Node RB||k ) k ≥r} (42)
[0192] 5: The Node selected in step 4 RB||k Participate in this interactive task as an encryption node and i 、PLC j And SCADA for encrypted data exchange.
[0193] 6: Distinguish Nodes by task completion RB||k It is a normal node or an abnormal node, and combined with manual screening of abnormal types in abnormal nodes, namely downtime nodes and malicious nodes. And 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, Tt Update the credit value in real time.
[0194]
[0195] 7: The present invention will Tr RB||k As a Node RB||k The fitness of Node RB||k ) and automatically update the fitness. In order to prevent the node from crashing (doing evil) and causing task failure, and for the Nash equilibrium of business distribution and anti-concurrency of execution, the present invention adopts PID control to control Tr 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 ))'s 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.
[0196]
[0197] 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 ) 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, which are used to adjust the response of the controller. RB||k )Regulation of growth rate.
[0198] e k (t)=target_value-current_value k (t) (45)
[0199]
[0200] current_value k (t+1)=current_value k (t)+u k (t) (47)
[0201] EW i 、PLC j SCADA is set as a stakeholder entity under 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.
[0202] Specifically, the UG design is as follows:
[0203] Uplink gateway UG connects to EW i With RB, PLC j The data interaction between RB and SCADA and RB is shown in the UG diagram. Figure 6 As shown. Since 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 master station.
[0204] EW i 、PLC j SCADA locally splices and encrypts the message, generates CP, and then interacts with UG. The internal logic of UG mainly includes four steps. First, establish a connection with the master station (e.g., 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, i.e. 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 SCADA decrypts and parses the message locally, and uses corresponding verification methods for different communication protocols to verify the data (e.g. 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).
[0205] In order to make the blockchain more suitable for ICS with high frequency of data interaction, the roulette algorithm is used to replace the Node 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.
[0206] ECC is a public key cryptosystem whose mathematical foundation 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).
[0207] y 2 =x 3 +ax+b,(a,b:4a 3 +27b 2 !=0) (48)
[0208] Set the private key and public key to sk i 、pk i , that is, pk i =sk i G, G is the base point, the ECC encryption process consists of two steps, firstly, 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).
[0209] C t =(rG,(zk-proof ew||i ∧UI plc||i ∧Tx i )+r·pk i ) (49)
[0210]
[0211] C Case Verification
[0212] In order to verify the performance and security of the research work of this 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 this invention can effectively prevent attackers from attacking the data flowing in the ICS. The zero-knowledge proof algorithm based on Zk-SNARK can efficiently and securely i 、PLC i And SCADA verification, Grable-based IPPSC contract obfuscation mechanism can effectively prevent decompilation tools from cracking the internal logic of the contract, and can effectively verify the PLCip This allows for concealment, disrupting the attacker's zero-dynamic attack chain. The design of the roulette wheel algorithm based on the PID control algorithm significantly improves RB efficiency, achieving a certain degree of lightweighting and enhancing the coupling between RB and ICS. The cross-chain gateway design pre-detects attack behavior, effectively defending against DDOS attacks and improving data transmission compatibility between traditional ICS interfaces and RB interfaces. The simulation environment configuration for this implementation is shown in Table 3.
[0213] Table 3 Simulation environment configuration
[0214]
[0215]
[0216] 1) Zero-knowledge proof performance
[0217] This embodiment simulates the Zk-SNARK zero-knowledge proof algorithm based on Groth16. Since ICS access requests are characterized by high frequency and high efficiency, although zero-knowledge proof improves ICS security, it also affects ICS access efficiency. Therefore, the present invention simulates and analyzes the size of zero-knowledge proof and verification time consumption. The simulation configuration is shown in Table 1. The results are shown in Table 1. Figure 7 shown.
[0218] 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. This 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 SCADA identity privacy information size, 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 practical ICS applications. Figure 7 (c) shows the verification time of π as EW i 、PLC iAs for changes in the size of SCADA identity privacy information, since the verifier's computational overhead in the design of this invention is four pairing operations, the verification overhead, under the configuration shown in Table 1, is between 1 and 3 milliseconds. Kafka consensus efficiency is also at the millisecond level, which is within an acceptable range for practical ICS applications. The ICS zk-SNARK algorithm designed in this invention, based on the Groth16 algorithm (a typical zkSNARK algorithm), has been verified to significantly increase ICS security while having virtually no impact on ICS data interactions.
[0219] 2) “IP plc Anti-theft test
[0220] The present invention designs an IPPSC contract to interrupt ICS control, uses Garble to obfuscate IPPSC, and then deploys it in binary form in Fabric. In order to verify the obfuscation result, the present invention assumes that IPPSC is maliciously leaked by RB node, and uses Objdump, a common decompilation tool of Go language, to perform decompilation test. The original IPPSC decompilation result is as follows: Figure 8 shown.
[0221] It can be seen that without obfuscation, attackers can easily obtain the internal logical relationship of the IPPSC contract and thus ip Match the code in RB to achieve a complete zero-dynamic attack. After being obfuscated by the Garble tool, IPPSC can no longer work. After testing, using Objdump to decompile shows: objdump: disassemble IPPSC-obfuscation: no symbol section, thus preventing PLC ip The present invention then tests the difference in running time consumption between IPPSC before and after obfuscation. Figure 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.
[0222] In order to further understand the impact of IPPSC obfuscation on contract performance and reduce errors caused by the test environment process, the present invention analyzes seven dimensions of runtime: Upper quartile, Mean value, Median, Lower quartile, Maximum value, Minimum value, and Standard deviation. Similarly, the present invention conducted 100,000 repeated tests. As can be seen from Table 4, while increasing the IPPSC security index, the performance impact of the obfuscated IPPSC is extremely low.
[0223] Table 4 Comparison of IPPSC runtime consumption dimensions (before and after obfuscation)
[0224]
[0225] 3) Roulette algorithm test
[0226] 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 Node RB||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 by doubling. Figure 9 The results of the test are shown.
[0227] Figure 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 times the node is selected in 50,000 selections. RB||k , it can be seen that after PID control, the number of node selections reaches the Nash equilibrium state, which shows that the design of the present invention can effectively distribute ICS service requests, effectively prevent concurrency problems, and solve the Matthew effect of node selection in the roulette algorithm. Figure 10 The vertical coordinate of part (b) is the total fitness value of the node, and the horizontal coordinate is the value of Node RB||k It can be seen that after PID control, the fitness of the node is also in the Nash equilibrium state, which is around 750, which is in line with the design intention of the present invention.
[0228] 4) Relay chain performance test
[0229] Some existing ICS components in critical infrastructure are still at lower versions and lack computing power, making them unable to protect data flows. Therefore, this invention uses blockchain technology to assist ICS in protecting data flows, thereby enhancing ICS's resistance to cyberattacks. The performance of ICS relay chains primarily depends on the selection of encryption algorithms and consensus mechanisms. To accommodate the high-frequency data requests from ICS, this invention utilizes the efficient Kafka consensus mechanism and ECC encryption algorithm. Kafka's throughput can reach 100,000 to 1 million messages per second, and latency can be controlled within a few to tens of milliseconds. Kafka's partitioning design enables linear scalability as nodes increase, achieving data redundancy and consistency through the ISR (In-Sync Replicas) mechanism. RSA is also a classic asymmetric encryption algorithm, and this invention further compares ECC with RSA. Table 5 shows a comparison of RSA and ECC at different encryption security levels.
[0230] Table 5 Comparison of RSA and ECC at different encryption security strengths
[0231] Encryption strength RSA (baseline) ECC (invention) <![CDATA[2 80 ]]> 1024 163 <![CDATA[2 112 ]]> 2240 233 <![CDATA[2 126 ]]> 3072 283 <![CDATA[2 192 ]]> 7680 409
[0232] Encryption strength is the number of key combinations an attacker needs to try to break the encryption. It can be seen that at the same encryption strength, the length required for ECC is much lower than that for RSA. Furthermore, this paper compared the time required for AES, RSA, and ECC during a single ICS data exchange. An ICS data exchange involves a control command transmission and a response data reply, involving two rounds of encryption and decryption. Under the same encryption strength, the time consumption under the aforementioned environments is shown in Table 6. ECDSA-256 is a specific application of ECC. It can be seen that the ECC encryption algorithm is highly efficient, secure, and suitable for practical ICS applications.
[0233] Table 6 Comparison of RSA and ECC time consumption for one ICS data exchange
[0234] encryption algorithm Encryption time / ms Decryption time / ms RSA-3144 15.8 76 ECDSA-256 6.8 14.3
[0235] Example 2
[0236] Based on the same inventive concept, this embodiment discloses a blockchain-assisted zero-dynamic attack defense device for industrial control systems, comprising:
[0237] A zero dynamic attack point analysis module is used to analyze the zero dynamic attack point of the industrial control system and obtain the zero dynamic attack point;
[0238] A defense model setting module is used to set up a defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof methods. The defense model includes four participating entities: an engineer workstation, a programmable logic controller, sensors and actuators, and a data acquisition and monitoring control system, as well as a relay chain. The engineer workstation, programmable logic controller, and relay chain communicate via a communication protocol, and the programmable logic controller is connected to the sensors and actuators via a physical field bus. 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. The communication data between the participating entities involved in the model includes control data flow, response data flow, and monitoring data flow.
[0239] 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.
[0240] Since the device described in Example 2 of the present invention is the device used to implement the blockchain-assisted zero-dynamic attack defense method for industrial control systems in Example 1 of the present invention, the specific structure and variations of the device are readily understood by those skilled in the art based on the method described in Example 1 of the present invention, and therefore will not be further described here. All devices used in the method of Example 1 of the present invention fall within the scope of protection of the present invention.
[0241] Example 3
[0242] 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.
[0243] Since the computer-readable storage medium described in Example 3 of the present invention is the computer-readable storage medium used to implement the blockchain-assisted industrial control system zero-dynamic attack defense method described in Example 1 of the present invention, those skilled in the art will be able to understand the specific structure and variations of the computer-readable storage medium based on the method described in Example 1 of the present invention, and therefore will not be described in detail here. All computer-readable storage media used in the method of Example 1 of the present invention fall within the scope of protection of the present invention.
[0244] Example 4
[0245] The present invention also provides a computer device, comprising 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 the first embodiment when executing the program.
[0246] Since the computer device described in Example 4 of the present invention is the computer device used to implement the blockchain-assisted industrial control system zero-dynamic attack defense method described in Example 1 of the present invention, those skilled in the art will be able to understand the specific structure and variations of the computer device based on the method described in Example 1 of the present invention, and therefore will not be described in detail here. All computer devices used in the method of Example 1 of the present invention fall within the scope of protection of the present invention.
[0247] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they are aware of the basic inventive concepts. 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, the present invention is intended to include such changes and modifications to the embodiments of the present invention if they fall within the scope of the claims and their equivalents.
Claims
1. A blockchain-assisted zero-dynamic attack defense method for industrial control systems, characterized in that: include: Analyze the zero dynamic attack points of industrial control systems and obtain the zero dynamic attack points; According to the zero dynamic attack point, the defense model is set up in combination with the blockchain and zero-knowledge proof method. The defense model includes four participating entities: 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 a communication protocol. 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 the smart contract 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 model uses a preset consensus algorithm. The algorithm generates initial parameters and uses blockchain technology to obfuscate the smart contract and hide the IP address of the programmable logic controller. This includes: using a preset consensus algorithm to generate zero-knowledge proofs and public-private key pairs for the engineer workstation, programmable logic controller, and data acquisition and monitoring control system, and assigning corresponding unique authentication codes in the relay chain; storing the authentication codes and public keys of the engineer workstation, programmable logic controller, and data acquisition and monitoring control system in the relay chain through an on-chain gateway. The relay chain includes multiple relay chain nodes; setting up a smart contract, binding the unique authentication code of the programmable logic controller to the IP address of the programmable logic controller, obfuscating the smart contract, and then deploying it in binary form to the relay chain nodes; The set defense model is used to defend against attacks on control data flow, response data flow and monitoring data flow in industrial control systems.
2. The blockchain-assisted industrial control system zero dynamic attack defense method according to claim 1 is characterized in that: Defense against attacks on control data flows in industrial control systems based on a 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. The encrypted request data is then sent to the relay chain through the uplink gateway between the engineer workstation and the relay chain. The relay chain broadcasts the encrypted request data. 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 testing, 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.
3. The blockchain-assisted industrial control system zero dynamic attack defense method according to claim 2 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. The node's credit value is set and updated using the blockchain incentive mechanism.
4. The blockchain-assisted industrial control system zero dynamic attack defense method according to claim 3 is characterized in that: Defense against attacks on response data flows in industrial control systems based on a 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 and verifies the zero-knowledge proof of the programmable logic controller. It 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.
5. The blockchain-assisted zero-dynamic attack defense method for industrial control systems according to claim 4 is characterized in that: The method further includes: if the verification is passed, the engineer workstation decrypts the original response data locally to increase 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.
6. The blockchain-assisted industrial control system zero dynamic attack defense method according to claim 1 is characterized in that: Defense against attacks on monitoring data streams in industrial control systems based on the configured defense model, including: The data acquisition and monitoring control system obtains historical ledger data from the engineer workstation and programmable logic controller; The SCADA system sends a request for ledger data to the relay chain, and sends the SCADA system’s zero-knowledge proof and public key to the target relay chain node through the data on-chain gateway between the SCADA system and the relay chain. The target relay chain node verifies the zero-knowledge proof of the SCADA system. Once the verification is successful, the ledger data is encrypted using the SCADA system's public key to generate the encrypted ledger data. The encrypted data is then sent to the SCADA system via 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.
7. A blockchain-assisted zero-dynamic attack defense device for industrial control systems, 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 and obtain the zero dynamic attack point; The defense model setting module is used to set up a defense model based on zero dynamic attack points, combined with blockchain and zero-knowledge proof methods. The defense model includes four participating entities: 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 a communication protocol. 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 model adopts Using a preset consensus algorithm to generate initial parameters, and combining blockchain technology to obfuscate the smart contract and hide the IP address of the programmable logic controller, the process includes: using a preset consensus algorithm to generate zero-knowledge proofs and public-private key pairs for the engineer workstation, programmable logic controller, and data acquisition and monitoring control system, and assigning corresponding unique authentication codes in the relay chain; storing the authentication codes and public keys of the engineer workstation, programmable logic controller, and data acquisition and monitoring control system in the relay chain through an on-chain gateway, and the relay chain includes multiple relay chain nodes; setting up a smart contract, binding the unique authentication code of the programmable logic controller to the IP address of the programmable logic controller, obfuscating the smart contract, and then deploying it in binary form to the relay chain nodes; 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.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the blockchain-assisted industrial control system zero dynamic attack defense method as described in any one of claims 1 to 6 is implemented.
9. A computer device comprising 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 according to any one of claims 1 to 6 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