An identity authentication method and system applied to a PLC system

By employing an identity certificate mechanism and public key information calculation method in the PLC system, the problem of lack of identity authentication in the PLC system in a networked environment is solved, and secure authentication is achieved in both networked and offline states, thereby enhancing the security and convenience of the system.

CN117009945BActive Publication Date: 2025-11-28ZHEJIANG UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210452663.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-27
Publication Date
2025-11-28
Estimated Expiration
2042-04-27

AI Technical Summary

Technical Problem

The lack of effective identity authentication in PLC control systems, especially in networked environments where real-time online authentication is impossible, leads to ineffective identity authentication when devices are connected or when power is off, affecting system security and stability.

Method used

An identity certificate mechanism is adopted, which verifies the authenticity of the identity certificate through a third-party authentication device, or calculates the negotiation key using the device's public key information and establishes a trust relationship by comparing the hash values ​​when the network is offline.

Benefits of technology

It enables secure identity authentication for networked PLC systems in both online and offline states, enhancing system security and authentication convenience, and ensuring reliable communication between devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117009945B_ABST
    Figure CN117009945B_ABST
Patent Text Reader

Abstract

The application discloses an identity authentication method and system applied to a PLC system, wherein the PLC system comprises at least one monitoring device and at least one executing device connected with the monitoring device, each monitoring device and each executing device is solidified with a corresponding identity certificate; before the monitoring device and the executing device communicate, it is judged whether the monitoring device and the executing device are connected with an external third-party authentication device; in the case that the monitoring device and the executing device are connected with the third-party authentication device, the monitoring device and the executing device interchange the identity certificates, and the authenticity of the identity certificates is verified through the third-party authentication device; in this way, the devices in the PLC system are authenticated through digital certificates in a networked state, and are manually authenticated in a network interruption state, so that the security authentication between the devices in the PLC network architecture is realized, and the security of the networked PLC control system and the convenience of the identity authentication are effectively enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of industrial automation, and in particular to an identity authentication method and system applied to a PLC system. BACKGROUND

[0002] As an important component of industrial control system, PLC is currently and widely used in national infrastructure including power, chemical industry, petroleum, national defense and military industry, transportation and manufacturing industry, and bears the important responsibility of maintaining the safe and stable operation of equipment.

[0003] With the advent of the era of Internet of Everything, PLC control system will break the original architecture and gradually access the Internet, and networked PLC control system is the future development direction. Networked PLC control system contains multiple host computer monitoring software and multiple lower computer hardware PLC, so the network of host computer and lower computer also brings the problem of identity authentication.

[0004] After entering the 21st century, with the deep integration of IT and OT, the network trend of industrial control system gradually breaks the relatively closed environment of isolation between industrial control system and the outside world, different industrial control systems begin to interconnect and interoperate, various resources and production materials begin to be shared, and the factory intranet begins to access the Internet to improve production efficiency and reduce operating costs. At the same time, it also brings the problem of lack of effective authentication between interconnected devices. If an intruder poses as an identity to access PLC, it will pose a threat of malicious code implantation and malicious manipulation to PLC.

[0005] Traditional PLCs mostly work in the factory and are isolated from the outside world, so identity authentication is not considered at the beginning of design, and even now there are still a large number of PLCs lacking effective identity authentication. And the PLCs that currently increase the identity authentication function often authenticate through certificates, and the certificate authentication method needs the participation of the certification authority CA. Since the industrial control environment is not completely free from the restriction of closedness, the industrial control system cannot be online at all times, so when a new external PLC device is connected or the existing device is powered off and needs to be re-authenticated, it cannot be effectively authenticated, resulting in the suspension of the PLC control system. SUMMARY

[0006] The purpose of the present application is to provide an identity authentication method and system applied to a PLC system, which solves the problem of lack of effective identity authentication in the current PLC control system and the problem of inconvenient use of certificates.

[0007] The application provides an identity authentication method applied to a PLC system, wherein the PLC system comprises at least one monitoring device and at least one execution device connected with the monitoring device, each of the monitoring device and the execution device is solidified with a corresponding identity certificate.

[0008] The identity authentication method comprises:

[0009] Before the monitoring device and the execution device communicate, it is judged whether the monitoring device and the execution device are connected with a third-party authentication device outside;

[0010] When the monitoring device and the execution device are connected with the third-party authentication device, the monitoring device and the execution device exchange the identity certificates and verify the authenticity of the identity certificates through the third-party authentication device;

[0011] When the verification is passed, the monitoring device and the execution device establish a trust relationship and perform a communication operation;

[0012] When the monitoring device and the execution device are not connected with the third-party authentication device, the monitoring device and the execution device respectively acquire a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device through random parameters according to the device public key information contained in the identity certificate;

[0013] The first negotiation key corresponds to a first hash value and the second negotiation key corresponds to a second hash value through the same hash algorithm, and it is judged whether the first hash value and the second hash value are consistent;

[0014] When the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform a communication operation.

[0015] Preferably, when the monitoring device and the execution device are connected with the third-party authentication device, the monitoring device and the execution device exchange the identity certificates and verify the authenticity of the identity certificates through the third-party authentication device, which comprises:

[0016] The monitoring device sends identity request information and the corresponding identity certificate to the execution device;

[0017] The monitoring device acquires the identity certificate corresponding to the execution device;

[0018] The monitoring device verifies the authenticity of the identity certificate corresponding to the execution device through the third-party authentication device.

[0019] Preferably, the monitoring device and the execution device exchange the identity certificate and verify the authenticity of the identity certificate through the third-party authentication device in the case that the monitoring device and the execution device are connected with the third-party authentication device, comprising:

[0020] The execution device receives the identity request information and the identity certificate corresponding to the monitoring device sent by the monitoring device;

[0021] The execution device sends the identity certificate corresponding to the monitoring device to the monitoring device;

[0022] The execution device verifies the authenticity of the identity certificate corresponding to the monitoring device through the third-party authentication device.

[0023] Preferably, the monitoring device and the execution device exchange the identity certificate and verify the authenticity of the identity certificate through the third-party authentication device in the case that the monitoring device and the execution device are connected with the third-party authentication device, further comprising:

[0024] In the case that the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device are both verified, the monitoring device and the execution device establish a trust relationship and perform a communication operation.

[0025] Preferably, in the case that the monitoring device and the execution device are not connected with the third-party authentication device, the monitoring device and the execution device obtain the first negotiation key corresponding to the monitoring device and the second negotiation key corresponding to the execution device respectively through random parameters according to the device public key information contained in the identity certificate, comprising:

[0026] The monitoring device generates first initial random parameters and second initial random parameters, encrypts the first initial random parameters and the second initial random parameters through the public key in the identity certificate to generate encrypted parameters, and transmits the artificial trust establishment command and the encrypted parameters to the execution device;

[0027] After receiving the trust establishment command request issued by the monitoring device, the execution device obtains the first initial random parameters and the second initial random parameters through the private key of the execution device;

[0028] The execution device generates a first-level parameter, calculates a first-level decryption parameter through a decryption formula, and sends the first-level decryption parameter to the monitoring device through the public key of the monitoring device;

[0029] The monitoring device receives the trust establishment command request, and obtains the first decryption parameter by decrypting a parameter with a private key of the monitoring device itself;

[0030] The monitoring device generates a second parameter, calculates a second decryption parameter through a decryption formula, and sends the second decryption parameter to the monitoring device through encryption with a public key of the execution device;

[0031] The first initial random parameter and the second initial random parameter are random large numbers, and the first decryption parameter and the second decryption parameter are random large numbers.

[0032] Preferably, in the case that the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device obtain a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device, respectively, according to device public key information contained in the identity certificate, through random parameter calculation.

[0033] The execution device receives the second decryption parameter, and calculates a negotiation key of the execution device according to a formula K = K b amodn, while the monitoring device calculates a negotiation key of the monitoring device according to a formula K = K a bmodn, where K represents a negotiation key, a represents a first parameter, b represents a second parameter, and n represents a random large number generated by the monitoring device.

[0034] Preferably, the identity certificate includes public key information, and is generated by a third-party authentication agency according to a request, a hash operation and a signature with a private key of the third-party authentication agency.

[0035] The application provides an identity authentication system applied to a PLC system, the PLC system including at least one monitoring device and at least one execution device connected to the monitoring device, each monitoring device and each execution device being solidified with a corresponding identity certificate.

[0036] The identity authentication system includes:

[0037] A judgment module is configured to judge whether the monitoring device and the execution device are connected to an external third-party authentication device before the monitoring device and the execution device communicate.

[0038] A verification module is configured to exchange the identity certificates between the monitoring device and the execution device, and verify the authenticity of the identity certificates through the third-party authentication device, in the case that the monitoring device and the execution device are connected to the third-party authentication device.

[0039] The trust building module is configured to, in the case that the verification is passed, the monitoring device and the execution device establish a trust relationship and perform a communication operation; in the case that the monitoring device and the execution device are not connected with the third-party authentication device, the monitoring device and the execution device respectively obtain a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device through random parameter calculation according to the device public key information contained in the identity certificate; a first hash value corresponding to the first negotiation key and a second hash value corresponding to the second negotiation key are obtained through the same hash algorithm, and it is judged whether the first hash value and the second hash value are consistent; in the case that the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform a communication operation.

[0040] Preferably, the execution device comprises a master control module connected with a security module and a memory, and configured to control program running, the security module is configured to perform encryption and decryption operations to build a trust environment and transmit to the master control module, and the memory is configured to store processing data of the master control module and store external interaction data.

[0041] Preferably, the trust building module comprises an encryption and decryption module configured to, in the case that the monitoring device generates a first initial random parameter and a second initial random parameter, encrypt the first initial random parameter and the second initial random parameter through a public key in the identity certificate to generate an encrypted parameter, and transmit an artificial trust establishment command and the encrypted parameter to the execution device.

[0042] The negotiation key module is configured to, in the case that the execution device receives the trust establishment command request issued by the monitoring device, the execution device obtains the first initial random parameter and the second initial random parameter through decryption of the parameter by a private key of the execution device; the execution device generates a first-level parameter, obtains a first-level decryption parameter through a decryption formula, and sends the first-level decryption parameter to the execution device through encryption by a public key of the monitoring device; the monitoring device receives the trust establishment command request issued by the execution device, obtains the first-level decryption parameter through decryption of the parameter by a private key of the monitoring device; the monitoring device generates a second-level parameter, obtains a second-level decryption parameter through a decryption formula, and sends the second-level decryption parameter to the execution device through encryption by a public key of the execution device.

[0043] Preferably, the first initial random parameter and the second initial random parameter are random large numbers, and the first-level decryption parameter and the second-level decryption parameter are random large numbers.

[0044] Preferably, the verification module comprises: a first verification module for sending identity request information and the corresponding identity certificate to the execution device by the monitoring device; the monitoring device acquires the identity certificate corresponding to the execution device; and the monitoring device verifies the authenticity of the identity certificate corresponding to the execution device through the third-party authentication device.

[0045] A second verification module for receiving the identity request information and the identity certificate corresponding to the monitoring device by the execution device; the execution device sends the corresponding identity certificate to the monitoring device; and the execution device verifies the authenticity of the identity certificate corresponding to the monitoring device through the third-party authentication device.

[0046] A verification result output module for establishing a trust relationship between the monitoring device and the execution device and performing a communication operation when the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device are both verified.

[0047] For the prior art, the present application has the following beneficial effects:

[0048] The present application provides an identity authentication method and system applied to a PLC system, which can enable the devices in the networked PLC system to perform identity authentication through digital certificates in a networked state and manual authentication in a disconnected state, thereby realizing safe authentication between the devices in the PLC network architecture and effectively enhancing the security of the networked PLC control system and the convenience of identity authentication. BRIEF DESCRIPTION OF DRAWINGS

[0049] Figure 1 A flowchart of the identity authentication method applied to the PLC system described in the first embodiment of the present application;

[0050] Figure 2 A flowchart of the identity authentication through digital certificates in a networked state described in the first embodiment of the present application;

[0051] Figure 3 A flowchart of the pairing authentication in a disconnected state described in the first embodiment of the present application;

[0052] Figure 4 An architecture diagram of the identity authentication system applied to the PLC system described in the second embodiment of the present application. DETAILED DESCRIPTION

[0053] In order to make the purposes, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0054] Embodiment one

[0055] The present application provides an identity authentication method applied to a PLC system, wherein the PLC system comprises at least one monitoring device and at least one execution device connected with the monitoring device, each of the monitoring device and the execution device is solidified with a corresponding identity certificate;

[0056] As shown in the figure, the identity authentication method comprises: Figure 1

[0057] Step S1, before the monitoring device and the execution device communicate, it is judged whether the monitoring device and the execution device are connected with an external third-party authentication device;

[0058] Step S2, in the case that the monitoring device and the execution device are connected with the third-party authentication device, the monitoring device and the execution device exchange the identity certificates, and verify the authenticity of the identity certificates through the third-party authentication device;

[0059] Step S3, in the case that the verification is passed, the monitoring device and the execution device establish a trust relationship and perform a communication operation;

[0060] Step S4, in the case that the monitoring device and the execution device are not connected with the third-party authentication device, the monitoring device and the execution device respectively acquire a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device through random parameters according to the device public key information contained in the identity certificate;

[0061] Step S5, a first hash value corresponding to the first negotiation key and a second hash value corresponding to the second negotiation key are acquired through the same hash algorithm, and it is judged whether the first hash value and the second hash value are consistent;

[0062] Step S6, in the case that the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform a communication operation.

[0063] ​The skilled in the art can understand that the monitoring device is a carrier device or host computer loaded with monitoring software, and the execution device can be a lower computer PLC hardware. One device sends a connection request, and the two devices exchange certificates. Each device verifies the authenticity of the certificate. If the verification is passed, the two devices establish trust, otherwise, the manual authentication step is entered. One device sends a manual trust establishment command request. Both sides generate a random large number and transmit it through the public key in the certificate. Both sides calculate the negotiated key through the formula. Both sides calculate and display a six-digit value through the hash algorithm according to the negotiated key. The six-digit value is manually confirmed for consistency. If consistent, the two devices establish trust. The identity certificate includes public key information and is generated by a third-party authentication agency according to its own private key, hash operation and signature. The identity of each device in the network can be protected by a digital certificate. A digital certificate is a binary digital file that indicates the identity of the communication party in the network communication process, and provides a secure way to authenticate identity and encrypt and decrypt information.

[0064] There is a source root CA that issues certificates in the factory of the device. When the execution device PLC is shipped, it will send its own information including public key information, firmware information, production time, etc. to the root CA to request an identity certificate. The root CA will use its own private key to hash the request information and sign it to generate an identity certificate. Then the manufacturer will solidify the certificate into the PLC.

[0065] The monitoring device monitoring software will also request and embed the identity certificate in the same way before shipment. After the certificate is embedded and the device-related functions are detected, the device can be shipped.

[0066] Specifically, as shown in Figure 2 The step S2, under the condition that the monitoring device and the execution device are connected with the third-party authentication device, the monitoring device and the execution device exchange the identity certificate, and the authenticity of the identity certificate is verified through the third-party authentication device, includes:

[0067] The monitoring device sends identity request information and the corresponding identity certificate to the execution device;

[0068] The monitoring device obtains the identity certificate corresponding to the execution device;

[0069] The monitoring device verifies the authenticity of the identity certificate corresponding to the execution device through the third-party authentication device.

[0070] The skilled in the art can understand that the executing device receives the identity request information from the monitoring device, and obtains the identity certificate of the monitoring device itself, the identity request information including the command of requesting identity, the request information; the executing device returns the response information to the monitoring device, the response information including the identity certificate of the executing device itself, the signature digest of the response information;

[0071] The authenticity of the certificate is verified by the third-party authentication agency in a networked manner, if the verification is passed, the trust is established with both parties and the communication connection is carried out; otherwise, the communication process is terminated.

[0072] Specifically, the step S2, in the case that the monitoring device and the executing device are connected with the third-party authentication device, the monitoring device and the executing device exchange the identity certificate, and the authenticity of the identity certificate is verified by the third-party authentication device includes:

[0073] The executing device receives the identity request information sent by the monitoring device and the identity certificate corresponding to the monitoring device;

[0074] The executing device sends the corresponding identity certificate to the monitoring device;

[0075] The executing device verifies the authenticity of the identity certificate corresponding to the monitoring device by the third-party authentication device.

[0076] The skilled in the art can understand that the monitoring device verifies the identity certificate of the executing device itself, and establishes the trust of the monitoring device to the executing device; the executing device verifies the identity certificate of the monitoring device itself after the verification is successful, and establishes the trust of the executing device to the monitoring device and carries out the bidirectional communication.

[0077] In the networked PLC control system, when the device needs to communicate after starting, the communication parties need to carry out identity verification first, and the authentication method of the certificate trust is as follows: the monitoring device sends the identity request information and the identity certificate of itself to the executing device, the identity request information including the command of requesting identity, the request information, etc., the executing device returns the response information to the monitoring device, including the certificate of itself, the signature digest of the response information, etc. The monitoring device verifies the authenticity of the certificate of the executing device to the CA agency in a networked manner, if the verification is passed, it is considered that the executing device is trusted and enters the next operation, otherwise the communication process is terminated. The executing device starts to carry out the verification operation according to the above steps to the monitoring device after receiving the verification identity command and the verification is successful.

[0078] Specifically, as Figure 3As shown, the monitoring device and the execution device exchange the identity certificate and verify the authenticity of the identity certificate through the third-party authentication device in the case that the monitoring device and the execution device are connected with the third-party authentication device, and the monitoring device and the execution device establish a trust relationship and perform a communication operation in the case that the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device are both verified.

[0079] The skilled in the art can understand that the artificial trust establishment command request is sent from the monitoring device to the execution device;

[0080] Random parameters are respectively generated from the monitoring device and the execution device, and the encrypted random parameters are encrypted by the public key in the identity certificate and transmitted to each other;

[0081] The encrypted random parameters are parsed, and the parsed random parameters are used to calculate the negotiation key of the monitoring device and the execution device according to the decryption formula, and the negotiation key of the monitoring device and the execution device is output respectively;

[0082] The negotiation key is calculated by a hash algorithm to obtain a hash value, and the hash value of the monitoring device and the execution device is output respectively;

[0083] It is judged whether the hash value output from the monitoring device and the hash value output from the execution device are consistent, when they are consistent, the execution device transmits a trust instruction to the monitoring device, and the monitoring device and the execution device confirm the trust instruction to establish trust between them, and perform secure connection and communication.

[0084] Specifically, in the case that the monitoring device and the execution device are not connected with the third-party authentication device, the monitoring device and the execution device respectively obtain the first negotiation secret key corresponding to the monitoring device and the second negotiation secret key corresponding to the execution device through random parameter calculation according to the device public key information contained in the identity certificate.

[0085] The monitoring device generates a first initial random parameter and a second initial random parameter, encrypts the first initial random parameter and the second initial random parameter through the public key in the identity certificate to generate an encrypted parameter, and transmits an artificial trust establishment command and the encrypted parameter to the execution device;

[0086] After receiving the trust establishment command request issued by the monitoring device, the execution device decrypts the parameter through its own private key to obtain the first initial random parameter and the second initial random parameter;

[0087] The execution device generates a first-level parameter, calculates a first-level decryption parameter through a decryption formula, and sends the first-level decryption parameter to the execution device through the public key of the monitoring device;

[0088] The monitoring device receives the trust establishment command request, and obtains the first decryption parameter by decrypting the parameter through a private key of the monitoring device;

[0089] The monitoring device generates a second parameter, calculates the second decryption parameter through a decryption formula, and sends the second decryption parameter to the monitoring device through public key encryption of the execution device;

[0090] The first initial random parameter and the second initial random parameter are random large numbers, and the first decryption parameter and the second decryption parameter are random large numbers.

[0091] Specifically, in the case where the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device respectively obtain the first negotiation key corresponding to the monitoring device and the second negotiation key corresponding to the execution device through random parameter calculation according to the device public key information contained in the identity certificate, and the method further comprises the following steps:

[0092] The execution device receives the second decryption parameter, and calculates the negotiation key of the execution device according to the formula The monitoring device calculates the negotiation key of the monitoring device according to the formula wherein K represents the negotiation key, a represents the first parameter, b represents the second parameter, and n represents the random large number generated by the monitoring device.

[0093] Those skilled in the art can understand that, since the authentication mode in the form of a certificate needs to interact with the CA agency through networking, the industrial control system cannot be online in many cases, and when a new device accesses the current network, it cannot operate normally. At this time, the user can manually pair the trust establishment command on site by operating the monitoring device. The steps are as follows:

[0094] Before communication, since the certificates have been exchanged by both parties, although the validity of the certificate cannot be confirmed at this time, the public key of the other party can be obtained through the certificate. At this time, it can be considered that the public key is indeed that of the other party, and then verification is performed.

[0095] Step 1: The monitoring device generates two large integers n and g, where 1 < g < n. n and g are encrypted by the public key of the execution device and sent to the execution device together with the manual trust establishment command.

[0096] Step 2: After receiving the command, the execution device decrypts the parameters to obtain the parameters n and g through its own private key, parses the command, and generates a large random number a in the internal of the execution device. Then, the first decryption parameter K is calculated as follows: a a mod n, and the first decryption parameter K​a The monitoring device sends the K to the execution device by encrypting the K with the public key of the execution device.

[0097] In the third step, the monitoring device decrypts the parameter K with its own private key after receiving the command, and obtains the K a , and then generates a large random number b as a second-level parameter, and calculates K b = g b mod n, and sends the second-level decryption parameter K b to the execution device after encrypting the K with the public key of the execution device.

[0098] In the fourth step, the execution device decrypts the K with its own private key after receiving the information, and obtains the K b , and then calculates the negotiation key K The monitoring device also calculates the negotiation key K

[0099] In the fifth step, the execution device calculates a six-digit hash value hash(K) by using the same hash function with the negotiation key K, and the monitoring device displays the number through a display interface, and the execution device outputs the number through an I / O module, and the output result is indicated by a light.

[0100] In the sixth step, the user confirms whether the numbers of the monitoring device and the execution device are the same, and after manual confirmation, the user clicks a confirmation trust button on the monitoring device, and the execution device transmits a trust command to the execution device PLC through the I / O module, and after receiving the manual confirmation command, the two devices consider that the certificate of the other device is trusted, and trust is established between the two devices.

[0101] Embodiment Two

[0102] Based on the embodiment one, the application further provides an identity authentication system applied to a PLC system,

[0103] The PLC system comprises at least one monitoring device and at least one execution device connected with the monitoring device, and each monitoring device and each execution device is solidified with a corresponding identity certificate.

[0104] The identity authentication system comprises:

[0105] A judgment module is configured to judge whether the monitoring device and the execution device are connected with a third-party authentication device before the monitoring device and the execution device communicate.

[0106] A verification module is configured to exchange the identity certificates between the monitoring device and the execution device, and verify the authenticity of the identity certificates through the third-party authentication device when the monitoring device and the execution device are connected with the third-party authentication device.

[0107] A trust module is established to enable the monitoring device and the execution device to establish a trust relationship and perform communication operations when the verification is successful. If the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device calculate a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device respectively using random parameters based on the device public key information contained in the identity certificate. A first hash value corresponding to the first negotiation key and a second hash value corresponding to the second negotiation key are obtained using the same hash algorithm, and it is determined whether the first hash value and the second hash value are consistent. If the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform communication operations.

[0108] Those skilled in the art will understand that the monitoring equipment is a carrier device or host computer equipped with monitoring software, and the execution device can be a lower-level PLC hardware.

[0109] Furthermore, the execution device includes a main control module for connecting to the security module and memory, and controlling program execution. The security module performs encryption and decryption operations to build a trusted environment and transmits the data to the main control module. The memory stores the processing data of the main control module and external interaction data. This main control module is a processor.

[0110] like Figure 4 As shown, this embodiment is based on a networked PLC control system. This system can include monitoring software for multiple monitoring devices and PLC hardware for multiple execution devices. Authentication is required before communication between each pair of devices. The following explanation uses an example of a network containing only one monitoring device's monitoring software and one execution device's PLC hardware. The execution device's PLC hardware module mainly includes a main control chip, a security chip, and memory. The main control chip is responsible for the stable operation of the program, the security chip provides cryptographic operations to build a secure and reliable environment, and the memory stores relevant data. In the monitoring software, the configuration software is responsible for compiling and downloading the program and monitoring and controlling the status of the execution device.

[0111] Furthermore, the trust building module includes:

[0112] The encryption / decryption module is used to generate a first initial random parameter and a second initial random parameter in the monitoring device, encrypt the first initial random parameter and the second initial random parameter using the public key in the ID card to generate encrypted parameters, and transmit the manual trust establishment command and the encrypted parameters to the execution device.

[0113] The negotiation key module is configured to, after the execution device receives the trust establishment command request sent by the monitoring device, the execution device decrypts the parameters by using a private key of the execution device to obtain the first initial random parameter and the second initial random parameter; the execution device generates a first-level parameter, calculates a first-level decryption parameter by using a decryption formula, and sends the first-level decryption parameter to the monitoring device by using a public key of the monitoring device; after the monitoring device receives the trust establishment command request sent by the execution device, the monitoring device decrypts the parameters by using a private key of the monitoring device to obtain the first-level decryption parameter; the monitoring device generates a second-level parameter, calculates a second-level decryption parameter by using a decryption formula, and sends the second-level decryption parameter to the execution device by using a public key of the execution device.

[0114] The first initial random parameter and the second initial random parameter are random large numbers, and the first-level decryption parameter and the second-level decryption parameter are random large numbers.

[0115] Further, the verification module comprises:

[0116] The first verification module is configured to send, by the monitoring device, identity request information and the corresponding identity certificate to the execution device; the monitoring device obtains the identity certificate corresponding to the execution device; and the monitoring device verifies the identity certificate corresponding to the execution device by using the third-party authentication device.

[0117] The second verification module is configured to, by the execution device, receive the identity request information and the identity certificate corresponding to the monitoring device sent by the monitoring device; the execution device sends the corresponding identity certificate to the monitoring device; and the execution device verifies the identity certificate corresponding to the monitoring device by using the third-party authentication device.

[0118] The verification result output module is configured to, in a case where the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device are both verified, establish a trust relationship between the monitoring device and the execution device and perform a communication operation.

[0119] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. An authentication method for a PLC system, characterized in that, The PLC system includes at least one monitoring device and at least one execution device connected to the monitoring device, and each monitoring device and each execution device is equipped with a corresponding identity certificate. The identity authentication method includes: Before the monitoring device and the execution device communicate, it is determined whether the monitoring device and the execution device are connected to an external third-party authentication device; When the monitoring device and the execution device are connected to the third-party authentication device, the monitoring device and the execution device exchange the identity certificates and verify the authenticity of the identity certificates through the third-party authentication device; If the verification is successful, the monitoring device and the execution device establish a trust relationship and perform communication operations; When the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device calculate the first negotiation key corresponding to the monitoring device and the second negotiation key corresponding to the execution device respectively by using random parameters based on the device public key information contained in the identity certificate. The first hash value corresponding to the first negotiation key and the second hash value corresponding to the second negotiation key are obtained using the same hash algorithm, and it is determined whether the first hash value and the second hash value are consistent. If the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform communication operations.

2. The authentication method for a PLC system as described in claim 1, characterized in that, When the monitoring device and the execution device are connected to the third-party authentication device, the monitoring device and the execution device exchange identity certificates, and the third-party authentication device verifies the authenticity of the identity certificates, including: The monitoring device sends an identity request message and the corresponding identity certificate to the execution device; The monitoring device obtains the identity certificate corresponding to the execution device; The monitoring device verifies the authenticity of the identity certificate corresponding to the execution device through the third-party authentication device.

3. The authentication method for a PLC system as described in claim 1, characterized in that, When the monitoring device and the execution device are connected to the third-party authentication device, the monitoring device and the execution device exchange identity certificates, and the third-party authentication device verifies the authenticity of the identity certificates, including: The execution device receives the identity request information sent by the monitoring device and the identity certificate corresponding to the monitoring device; The execution device sends the corresponding identity certificate to the monitoring device; The execution device verifies the authenticity of the identity certificate corresponding to the monitoring device through the third-party authentication device.

4. The authentication method for a PLC system as described in claim 1, characterized in that, When the monitoring device and the execution device are connected to the third-party authentication device, the monitoring device and the execution device exchange identity certificates, and the third-party authentication device verifies the authenticity of the identity certificates, further including: If both the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device are verified, the monitoring device and the execution device establish a trust relationship and perform communication operations.

5. The authentication method for a PLC system as described in claim 1, characterized in that, When the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device calculate and obtain the first negotiation key corresponding to the monitoring device and the second negotiation key corresponding to the execution device respectively by using random parameters based on the device public key information contained in the identity certificate. The monitoring device generates a first initial random parameter and a second initial random parameter, encrypts the first initial random parameter and the second initial random parameter using the public key in the ID card book to generate encrypted parameters, and transmits the manual trust establishment command and the encrypted parameters to the execution device. After receiving the trust establishment command request from the monitoring device, the execution device obtains the first initial random parameter and the second initial random parameter by decrypting the parameters with its own private key. The execution device generates a primary parameter, calculates a primary decryption parameter using a decryption formula, and sends the primary decryption parameter to the execution device using the public key of the monitoring device; After receiving the trust establishment command request from the execution device, the monitoring device obtains the first-level decryption parameter through its own private key decryption parameter. The monitoring device generates secondary parameters, calculates secondary decryption parameters using a decryption formula, and sends the secondary decryption parameters to the monitoring device using the public key of the execution device; Wherein, the first initial random parameter and the second initial random parameter are both large random numbers, and the first-level decryption parameter and the second-level decryption parameter are both large random numbers.

6. The authentication method for a PLC system as described in claim 5, characterized in that, When the monitoring device and the execution device are not connected to the third-party authentication device, the method of the monitoring device and the execution device calculating and obtaining the first negotiation key corresponding to the monitoring device and the second negotiation key corresponding to the execution device respectively through random parameters based on the device public key information contained in the identity certificate further includes: The execution device receives the secondary decryption parameters, and the execution device executes the decryption parameters according to the formula. The negotiation key of the execution device is calculated, and the monitoring device calculates the key according to the formula. Calculate the negotiation password of the monitoring device, where K represents the negotiation key, a represents the first-level parameter, b represents the second-level parameter, and n represents the random large number generated by the monitoring device.

7. An authentication system for use in a PLC system, characterized in that, The PLC system includes at least one monitoring device and at least one execution device connected to the monitoring device, and each monitoring device and each execution device is equipped with a corresponding identity certificate. The identity authentication system includes: The judgment module is used to determine whether the monitoring device and the execution device are connected to an external third-party authentication device before the monitoring device and the execution device communicate. The verification module is used to, when the monitoring device and the execution device are connected to the third-party authentication device, allow the monitoring device and the execution device to exchange identity certificates and verify the authenticity of the identity certificates through the third-party authentication device; A trust module is established to enable the monitoring device and the execution device to establish a trust relationship and perform communication operations when the verification is successful. If the monitoring device and the execution device are not connected to the third-party authentication device, the monitoring device and the execution device calculate a first negotiation key corresponding to the monitoring device and a second negotiation key corresponding to the execution device respectively using random parameters based on the device public key information contained in the identity certificate. A first hash value corresponding to the first negotiation key and a second hash value corresponding to the second negotiation key are obtained using the same hash algorithm, and it is determined whether the first hash value and the second hash value are consistent. If the first hash value and the second hash value are consistent, the monitoring device and the execution device establish a trust relationship and perform communication operations.

8. The identity authentication system applied to a PLC system as described in claim 7, characterized in that, The execution device includes a main control module for connecting to the security module and memory, and controlling program execution. The security module is used to perform encryption and decryption operations to build a trusted environment and transmit it to the main control module. The memory is used to store the processing data of the main control module and external interaction data.

9. The identity authentication system applied to a PLC system as described in claim 7, characterized in that, The trust building module includes: An encryption / decryption module is used to generate a first initial random parameter and a second initial random parameter on the monitoring device, encrypt the first initial random parameter and the second initial random parameter using the public key in the ID card to generate encrypted parameters, and transmit the manual trust establishment command and the encrypted parameters to the execution device. The negotiation key module is used as follows: after the execution device receives the trust establishment command request from the monitoring device, the execution device decrypts the parameters using its own private key to obtain the first initial random parameter and the second initial random parameter; the execution device generates a first-level parameter, calculates the first-level decryption parameter using a decryption formula, and encrypts the first-level decryption parameter using the monitoring device's public key before sending it to the execution device; after the monitoring device receives the trust establishment command request from the execution device, it decrypts the parameters using its own private key to obtain the first-level decryption parameter; the monitoring device generates a second-level parameter, calculates the second-level decryption parameter using a decryption formula, and encrypts the second-level decryption parameter using the execution device's public key before sending it to the monitoring device. Wherein, the first initial random parameter and the second initial random parameter are both large random numbers, and the first-level decryption parameter and the second-level decryption parameter are both large random numbers.

10. The identity authentication system applied to a PLC system as described in claim 7, characterized in that, The verification module includes: The first verification module is used to send identity request information and the corresponding identity certificate from the monitoring device to the execution device; the monitoring device obtains the identity certificate corresponding to the execution device; and the monitoring device verifies the authenticity of the identity certificate corresponding to the execution device through the third-party authentication device. The second verification module is used to receive identity request information and the identity certificate corresponding to the monitoring device from the execution device; the execution device sends the corresponding identity certificate to the monitoring device; and the execution device verifies the authenticity of the identity certificate corresponding to the monitoring device through the third-party authentication device. The verification result output module is used to establish a trust relationship between the monitoring device and the execution device and perform communication operations when both the identity certificate corresponding to the execution device and the identity certificate corresponding to the monitoring device pass verification.

Citation Information

Patent Citations

  • Method and device for secure communication in Internet of Things

    CN105791272A

  • Identity authentication system and method for OBD equipment

    CN112398810A