SCADA system and method based on quantum communication
By introducing quantum communication technology into the SCADA system, using QKD devices to generate and verify authentication codes, the problem of vulnerability in traditional systems is solved, and higher security and reliability are achieved, and power grid failure is prevented.
Patent Information
- Application Number
- CN202411157626.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-22
- Publication Date
- 2024-12-27
AI Technical Summary
The traditional SCADA system communication protocol lacks sufficient security measures and is vulnerable to replay and delay attacks, which may lead to abnormal or malfunction of the power grid operation.
Using the SCADA system based on quantum communication, a random authentication seed and key are generated through the first QKD device, the message is encrypted using a hash function, and a double authentication code comparison is performed in the second QKD device to ensure the authenticity and integrity of the message. Prevent replay and delay attacks.
Effectively resist replay attacks and delay attacks, ensure the security and reliability of data transmission, avoid grid failures and power supply interruptions, and improve the stability and security of the system.
Smart Images

Figure CN119210702A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of SCADA technology, in particular to a SCADA system and method based on quantum communication. Background Art
[0002] In modern smart grid systems, it is crucial to ensure the security and reliability of data communications. Smart grids improve the efficiency, reliability and sustainability of energy use by integrating information and communication technologies. However, as smart grids move towards a more distributed and automated direction, their sensitivity to security threats is also increasing. In particular, the security of the smart grid's supervisory control and data acquisition (SCADA) system, as a core part of controlling grid equipment and processing critical operational data, is critical to the stable operation of the entire power system.
[0003] The communication protocols used by traditional SCADA systems often lack adequate security measures, such as authentication and encryption, making these systems vulnerable to a variety of cyber attacks, including replay attacks and delay attacks. In a replay attack, an attacker can resend captured data packets in an attempt to deceive the system or induce unauthorized actions. In a delay attack, the delivery of data packets is deliberately delayed, which may cause the system to make wrong decisions based on outdated information.
[0004] These security vulnerabilities may lead to abnormal operation of the power grid, or even grid failure or power outage, which may have a significant impact on society and the economy. Therefore, it is crucial to develop a new technology that can provide stronger security, especially a system that can resist including replay attacks and delay attacks. Summary of the invention
[0005] In view of the above-mentioned problems, the present invention is proposed.
[0006] Therefore, the problem to be solved by the present invention is that the communication protocol used in the traditional SCADA system often lacks sufficient security measures.
[0007] To solve the above technical problems, the present invention provides the following technical solutions: a SCADA system based on quantum communication, comprising a monitoring data acquisition device, a first QKD device and a second QKD device; the monitoring data acquisition device is used to monitor and control nodes; the first QKD device is used for key management and distribution of control instructions of the monitoring data acquisition device, and the first QKD device is electrically connected to the monitoring data acquisition device; the second QKD device is arranged on the node, the second QKD device includes more than one, and the second QKD device is optically connected to the first QKD device.
[0008] To solve the above technical problems, the present invention provides the following technical solutions: a method of a SCADA system based on quantum communication, comprising: a first QKD device generates a random authentication seed IV; the first QKD device uses a shared key K to encrypt the random authentication seed IV and a message M sent by a monitoring data acquisition device using a hash function to generate a first authentication code MAC, and sends M, IV and MAC to a second QKD device; the second QKD device stores all received messages M in a database, and each time the second QKD device receives a message M, it retrieves the message M from the database. If M is not retrieved in the database, it proceeds to the next step, otherwise it discards M; after the second QKD device receives M, IV and MAC, it uses the shared key K to encrypt IV and M using a hash function to generate a second authentication code MAC'; the second QKD device compares MAC' with MAC, and if MAC' is the same as MAC, it accepts M, otherwise it discards M.
[0009] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, wherein: the generation of a random authentication seed IV includes: the first QKD device generates a random number through a quantum random number generator; the first QKD device divides the random number into multiple initialization vectors with a length of 16 bits; the first QKD device caches the multiple initialization vectors with a length of 16 bits in an initialization list of the first QKD device; the first QKD device takes out any initialization vector from the initialization list as the authentication seed according to the action trigger of the message M sent by the monitoring data acquisition device.
[0010] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, wherein: the initialization list includes a first cache table and a second cache table; the first cache table is connected to a quantum random number generator, and when the second cache table finishes reading data from the first cache table, the first cache table requests the quantum random number generator to generate a random number and stores the initialization vector obtained by dividing the random number.
[0011] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, the second cache table is connected to the first cache table, and when the initialization vector of the first cache table is exhausted, the second cache table reads the data in the first cache table and stores it, each value in the second cache table is provided with a status flag bit, and each time data is read from the first cache table, the status flag bit of each value in the second cache table is set to unread, and if the value in the second cache table is taken out as an authentication seed, the status flag bit of the corresponding value in the second cache table is marked as read; if the status flag bit of the corresponding value in the second cache table is marked as read, when the initialization vector is read from the second cache table, the value corresponding to the status flag bit marked as read cannot be read.
[0012] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, the second QKD device is connected to the first QKD device through a proxy device; when the first QKD device sends a message to the second QKD device, it is sent in the following format: fixed header + variable header + message body; the fixed header includes a repeat flag, a quality level, a reserved flag and a remaining length, the repeat flag is a 1-bit field, if it is set to 1, it indicates that this is a repetition of the previously sent message; the quality level is a 2-bit field, used to specify the service quality level of the message, the quality service level includes 0, 1, or 2; the reserved flag is a 1-bit field, if it is set to 1, it indicates that the current message will be reserved by the proxy device, so that the new second QKD device will receive the message immediately; the remaining length is a variable length field, indicating the size of the remaining bytes after the fixed header.
[0013] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, the variable header includes a message identifier, a topic name and a subscription list, the message identifier contains 16-bit characters, and the message identifier is used to track and manage the transmission status of the message; the topic name is used to identify the content classification and distribution path of the message; the subscription list is used to identify the second QKD device's attention to a specific topic.
[0014] As a preferred solution of the method of the SCADA system based on quantum communication described in the present invention, the message identifier includes three levels, namely Stg0, Stg1 and Stg2.
[0015] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, wherein: at the Stg0 level, the message identifier is used to ensure that the message is sent to the second QKD device at most once; at the Stg1 level, the message identifier is used to ensure that the message is received by the second QKD device at least once; at the Stg2 level, the message identifier is used to ensure that the message is received only once by the second QKD device.
[0016] As a preferred solution of the method of a SCADA system based on quantum communication described in the present invention, when the monitoring data acquisition device sends an emergency shutdown, startup or adjustment instruction for key equipment parameters, the message identifier is Stg2; when the monitoring data acquisition device sends a regular start and stop, adjustment operation setting instruction, the message identifier is Stg1; when the monitoring data acquisition device sends a system configuration update, parameter modification instruction, the message identifier is Stg0.
[0017] The beneficial effects of the present invention are as follows: the present invention uses a first QKD device for key management and distribution of control instructions of a monitoring data acquisition device. Each time an instruction is sent, a first authentication code is generated by a key and a random authentication seed, and a random authentication seed IV is sent together with a message M to a node. A second QKD device at the node encrypts the sent random authentication seed IV and the message M through the same encryption method and a shared key to obtain a second authentication code, and then passes two authentications. The first time, a database is used to confirm whether there are repeated MACs, and the second time, the first authentication code is compared with the second authentication code. If a replay attack occurs, the first authentication fails because the random authentication seed IV is different each time, resulting in each MAC being different from the MAC stored in the database. If a delayed attack occurs, the second authentication fails because the MAC encrypted by the wrong shared key or encryption method is different from the MAC encrypted by the correct shared key or encryption method. The message M corresponding to the unmatched MAC is definitely an incorrect message and can be directly discarded, thereby avoiding delayed attacks. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them:
[0019] Figure 1 This is a schematic diagram of the structure of a SCADA system based on quantum communication in Example 1.
[0020] Figure 2 This is a flow chart of a method for a SCADA system based on quantum communication in Example 1. DETAILED DESCRIPTION
[0021] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the accompanying drawings.
[0022] In the following description, many specific details are set forth to facilitate a full understanding of the present invention, but the present invention may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0023] Example 1, reference Figure 1 , which is the first embodiment of the present invention, provides a SCADA system based on quantum communication including a monitoring data acquisition device, a first QKD device and a second QKD device.
[0024] The monitoring data acquisition device is used to monitor and control the nodes.
[0025] The first QKD device is used for key management and distribution of control instructions of the monitoring data acquisition device, and the first QKD device is electrically connected to the monitoring data acquisition device.
[0026] The second QKD device is arranged on the node, the second QKD device comprises more than one, and the second QKD device is connected to the first QKD device by optical fiber.
[0027] Example 2, reference Figure 2 , which is the third embodiment of the present invention, and which is different from the previous embodiment in that: this embodiment provides a method of a SCADA system based on quantum communication, including: Figure 2 As shown:
[0028] Step 1: The first QKD device generates a random authentication seed IV.
[0029] The first QKD device generates a random number through a quantum random number generator; the first QKD device divides the random number into multiple initialization vectors with a length of 16 bits.
[0030] The first QKD device caches a plurality of initialization vectors each having a length of 16 bits in an initialization list of the first QKD device.
[0031] The first QKD device takes out any initialization vector from the initialization list as the authentication seed according to the action trigger of the message M sent by the monitoring data acquisition device.
[0032] The initialization list includes a first cache table and a second cache table; the first cache table is connected to the quantum random number generator, and when the second cache table finishes reading data from the first cache table, the first cache table requests the quantum random number generator to generate a random number and stores the initialization vector obtained by dividing the random number.
[0033] The second cache table is connected to the first cache table. When the initialization vector of the first cache table is exhausted, the second cache table reads the data in the first cache table and stores it. Each value in the second cache table is provided with a status flag. Each time data is read from the first cache table, the status flag of each value in the second cache table is set to unread. If the value in the second cache table is taken out as an authentication seed, the status flag of the corresponding value in the second cache table is marked as read; if the status flag of the corresponding value in the second cache table is marked as read, when the initialization vector is read from the second cache table, the value corresponding to the status flag marked as read cannot be read.
[0034] Step 2: The first QKD device uses the shared key K to encrypt the random authentication seed IV and the message M sent by the monitoring data acquisition device using a hash function to generate a first authentication code MAC, and sends M, IV and MAC to the second QKD device.
[0035] The second QKD device is connected to the first QKD device through the proxy device. When the first QKD device sends a message to the second QKD device, it is sent in the following format: fixed header + variable header + message body.
[0036] The fixed header includes a repeat flag, a quality level, a reserved flag, and a remaining length. The repeat flag is a 1-bit field. If it is set to 1, it indicates that this is a repeat of a previously sent message.
[0037] The quality level is a 2-bit field used to specify the service quality level of the message. The quality service levels include 0, 1, or 2. The reserved flag is a 1-bit field. If it is set to 1, it means that the current message will be retained by the proxy device, so that the new second QKD device will receive the message immediately. The remaining length is a variable-length field, which indicates the size of the remaining bytes after the fixed header.
[0038] The variable header includes a message identifier, a topic name and a subscription list. The message identifier contains 16 characters and is used to track and manage the transmission status of the message; the topic name is used to identify the content classification and distribution path of the message; the subscription list is used to identify the second QKD device's attention to a specific topic.
[0039] There are three levels of message identifiers: Stg0, Stg1 and Stg2.
[0040] At the Stg0 level, the message identifier is used to ensure that the message is sent to the second QKD device at most once.
[0041] At the Stg1 level, the message identifier is used to ensure that the message is received at least once by the second QKD device.
[0042] At the Stg2 level, the message identifier is used to ensure that the message is received only once by the second QKD device.
[0043] When the monitoring data acquisition device sends an emergency shutdown, startup or key equipment parameter adjustment instruction, the message identifier is Stg2.
[0044] When the monitoring data acquisition device sends a normal start / stop or adjustment operation setting instruction, the message identifier is Stg1.
[0045] When the monitoring data acquisition device sends a system configuration update or parameter modification instruction, the message identifier is Stg0.
[0046] Step 3: The second QKD device stores all received messages M in a database. Each time the second QKD device receives a message M, it searches for the message M in the database. If M is not found in the database, it proceeds to the next step, otherwise it discards M.
[0047] Step 4: After receiving M, IV and MAC, the second QKD device uses the shared key K and a hash function to encrypt IV and M to generate a second authentication code MAC'.
[0048] Step 5: The second QKD device compares MAC' and MAC. If MAC' is the same as MAC, M is accepted; otherwise, M is discarded.
[0049] Here, the security and efficiency of information transmission are ensured by using a proxy device to connect the first and second QKD devices. The information transmission in the system follows the structure of a fixed header (including a repeat flag, quality level, reservation flag, and remaining length) and a variable header (including a message identifier, topic name, and subscription list). This structured information format not only helps to ensure the accurate transmission and processing of information, but also manages and optimizes the transmission status of messages through quality service levels and message identifiers, ensuring that messages are distributed on demand and are safe and reliable. In addition, the setting of the reservation flag allows messages to be temporarily stored by the proxy device when necessary, so that the newly connected second QKD device can receive the information immediately, enhancing the flexibility and responsiveness of the system.
[0050] Embodiment 3, the third embodiment of the present invention, is different from the previous two embodiments in that: a method of a SCADA system based on quantum communication also includes, in order to verify and illustrate the technical effects adopted in this method, this embodiment adopts a traditional technical solution and the method of the present invention for comparative testing, and compares the test results by means of scientific demonstration to verify the real effect of this method.
[0051] Experimental design parameters
[0052] Communication Latency: Measure and compare latency responses in different communication environments.
[0053] Security testing: including the ability to resist replay attacks and delay attacks.
[0054] Key management efficiency: Evaluates the speed and security of key generation, distribution, and updates.
[0055] System resource consumption: Calculate and compare the computing and storage resources required by two systems to process the same amount of data.
[0056] False positive rate and false negative rate: Count and compare the frequency of false positives and false negatives.
[0057] The method of the present invention and the traditional method (using DNP3 protocol for communication) were loaded into the simulation model for testing, and the test data obtained are shown in Table 1:
[0058] Table 1 Test data comparison table
[0059]
[0060] Communication delay: The method of the present invention significantly reduces communication delay by optimizing key management and data transmission mechanism.
[0061] Security test: By adopting advanced encryption technology and dynamic key management, the method of the present invention effectively reduces the success rate of replay attacks and delay attacks.
[0062] Key management efficiency: Through the automated and optimized key distribution system, the efficiency of the method of the present invention in key management is significantly improved.
[0063] False positive rate and false negative rate: Through precise authentication mechanism and data verification, false positives and false negatives are reduced, and the overall security and reliability of the system are improved.
[0064] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.
Claims
1. A SCADA system based on quantum communication, characterized in that: It includes a monitoring data acquisition device, a first QKD device and a second QKD device; The monitoring data acquisition device is used to monitor and control nodes; The first QKD device is used for key management and distribution of control instructions of the monitoring data acquisition device, and the first QKD device is electrically connected to the monitoring data acquisition device; The second QKD device is arranged on a node, the second QKD device comprises more than one, and the second QKD device is connected to the first QKD device by optical fiber.
2. A method of using a SCADA system based on quantum communication as claimed in claim 1, characterized in that: include, The first QKD device generates a random authentication seed IV; The first QKD device uses a shared key K to encrypt the random authentication seed IV and the message M sent by the monitoring data acquisition device using a hash function to generate a first authentication code MAC, and sends M, IV and MAC to the second QKD device; The second QKD device stores all received messages M in a database. Each time the second QKD device receives a message M, it searches the database for the message M. If M is not found in the database, it proceeds to the next step, otherwise it discards M. After receiving M, IV and MAC, the second QKD device uses the shared key K and a hash function to encrypt IV and M to generate a second authentication code MAC'; The second QKD device compares MAC' and MAC, and if MAC' is the same as MAC, M is accepted, otherwise M is discarded.
3. A method for a SCADA system based on quantum communication as claimed in claim 2, characterized in that: Generating the random authentication seed IV includes: the first QKD device generates a random number through a quantum random number generator; The first QKD device divides the random number into a plurality of initialization vectors with a length of 16 bits; The first QKD device caches a plurality of initialization vectors having a length of 16 bits in an initialization list of the first QKD device; The first QKD device takes out any initialization vector from the initialization list as the authentication seed according to the action trigger of the message M sent by the monitoring data acquisition device.
4. A method for a SCADA system based on quantum communication as claimed in claim 3, characterized in that: The initialization list includes a first cache table and a second cache table; The first cache table is connected to the quantum random number generator. When the second cache table finishes reading data from the first cache table, the first cache table requests the quantum random number generator to generate a random number and stores an initialization vector obtained by dividing the random number.
5. A method for a SCADA system based on quantum communication as claimed in claim 4, characterized in that: The second cache table is connected to the first cache table. When the initialization vector of the first cache table is exhausted, the second cache table reads the data in the first cache table and stores it. Each value in the second cache table is provided with a status flag. Each time data is read from the first cache table, the status flag of each value in the second cache table is set to unread. If the value in the second cache table is taken out as an authentication seed, the status flag of the corresponding value in the second cache table is marked as read; if the status flag of the corresponding value in the second cache table is marked as read, when the initialization vector is read from the second cache table, the value corresponding to the status flag marked as read cannot be read.
6. A method for a SCADA system based on quantum communication as claimed in claim 5, characterized in that: The second QKD device is connected to the first QKD device via a proxy device; When the first QKD device sends a message to the second QKD device, it is sent in the following format: fixed header + variable header + message body; The fixed header includes a repeat flag, a quality level, a reserved flag, and a remaining length. The repeat flag is a 1-bit field. If it is set to 1, it indicates that this is a repeat of a previously sent message. The quality level is a 2-bit field used to specify the service quality level of the message. The quality service levels include 0, 1, or 2. The reserved flag is a 1-bit field. If it is set to 1, it means that the current message will be retained by the proxy device, so that the new second QKD device will receive the message immediately. The remaining length is a variable-length field, which indicates the size of the remaining bytes after the fixed header.
7. A method for a SCADA system based on quantum communication as claimed in claim 6, characterized in that: The variable header includes a message identifier, a topic name and a subscription list. The message identifier contains 16 characters and is used to track and manage the transmission status of the message; the topic name is used to identify the content classification and distribution path of the message; and the subscription list is used to identify the second QKD device's attention to a specific topic.
8. A method for a SCADA system based on quantum communication as claimed in claim 7, characterized in that: The message identifier includes three levels, namely Stg0, Stg1 and Stg2.
9. A method for a SCADA system based on quantum communication as claimed in claim 8, characterized in that: At the Stg0 level, the message identifier is used to ensure that the message is sent to the second QKD device at most once; At the Stg1 level, the message identifier is used to ensure that the message is received at least once by the second QKD device; At the Stg2 level, the message identifier is used to ensure that the message is received only once by the second QKD device.
10. A method for a SCADA system based on quantum communication as claimed in claim 9, characterized in that: When the monitoring data acquisition device sends an emergency shutdown, startup or adjustment key equipment parameter instruction, the message identifier is Stg2; When the monitoring data acquisition device sends a conventional start / stop or adjustment operation setting instruction, the message identifier is Stg1; When the monitoring data acquisition device sends a system configuration update or parameter modification instruction, the message identifier is Stg0.