Asymmetric encryption-based program installation method and related equipment
By storing the private key in the PLC and employing dual authentication with TLS and CRL checks, combined with hash calculation and timestamp binding, the security risks caused by the exposure of the PLC private key are resolved, ensuring the security and integrity of program installation in industrial control systems.
Patent Information
- Application Number
- CN202510953303.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2045-07-10
AI Technical Summary
In industrial control systems, when the PLC's private key is exposed, it can lead to interception of the private key and forgery of certificates, affecting the security of program installation.
The program installation method adopts asymmetric encryption. The PLC's private key is stored in the encryption module. Dual authentication is performed through TLS and CRL checking mechanisms. The engineering station and the PLC perform bidirectional TLS verification to generate a temporary symmetric encryption key. The trusted module is used for hash calculation and timestamp binding to ensure the security of program installation.
Prevent man-in-the-middle attacks from intercepting certificates and private keys, eliminate forged client configuration injection, ensure the security and integrity of program installation, and prevent tampering and forgery.
Smart Images

Figure CN120811659B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of encrypted communication in engineering, and more specifically, to a program installation method and related equipment based on asymmetric encryption. Background Technology
[0002] With the rapid development of technologies such as Industry 4.0, smart manufacturing, and the Industrial Internet of Things (IIoT), traditional Industrial Control Systems (ICS) have transformed from their original closed, localized, and physically isolated architectures into highly interconnected, networked, and intelligent integrated systems. In this development process, programmable logic controllers (PLCs) serve as the core edge computing nodes of ICS, widely deployed in smart factories and critical infrastructures to undertake real-time data acquisition and control tasks.
[0003] To enhance PLC system communication security, the industry has begun to introduce standard security protocols. For example, TLS / SSL is gradually replacing bare plaintext S7 / Modbus communication, supporting methods such as cryptographic negotiation, certificate authentication, and session key protection. Siemens, as a leader in the industrial control equipment market, has introduced the TLS 1.2 / 1.3 protocol on its S7-1200 / 1500 series controllers, establishing a technical framework for two-way authentication and secure communication between the PLC and the engineering programming station. However, when the programmable logic controller's private key is exposed, such as during program installation between the PLC and the engineering station (requiring PLC access to the engineering station), the PLC's private key can easily be exposed. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a program installation method based on asymmetric encryption and a storage medium.
[0005] In a first aspect, this application provides a program installation method based on asymmetric encryption, applied to an industrial system. The industrial system includes a programmable logic controller (PLC) and an engineering station. The PLC performs asymmetric encrypted communication based on a first RSA / ECC key pair. An encryption module is built into the PLC chip, storing the private key from the first RSA / ECC key and the PLC device fingerprint. The engineering station performs asymmetric encrypted communication based on a second RSA / ECC key pair. The method includes:
[0006] In response to the download configuration request, the programmable logic controller obtains the second CA certificate installed on the engineering station and performs security verification on the second CA certificate. The engineering station obtains the first CA certificate installed on the programmable logic controller and verifies the security of the first CA certificate. The first CA certificate is bound to the public key information in the first RSA / ECC key and the PLC fingerprint information. The second CA certificate is bound to the engineering station device information and the public key in the second RSA / ECC key.
[0007] If the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, the programmable logic controller and the engineering station perform bidirectional TLS verification.
[0008] If the handshake verification is successful, the programmable logic controller and the engineering station negotiate to generate a temporary symmetric encryption key and establish an encrypted session channel;
[0009] The engineering station exports the target control program, processes the target control program to generate a signature file, and sends the signature file to the programmable logic controller using the encrypted session channel.
[0010] The programmable logic controller verifies the signature file, and if the verification is successful, it installs the target control program.
[0011] In the embodiments provided in this application, the PLC's private key is stored in an encryption module, making it impossible to transmit the private key back. When the PLC is connected to the engineering station, a dual authentication mechanism of TLS and CRL is used to prevent man-in-the-middle interception of the certificate, private key, and initial password. This also prevents the use of self-signed certificates to forge clients for configuration injection, ensuring that any engineering station with security risks (such as certificate revocation) will no longer be able to access the PLC configuration permissions. At the same time, during the installation process, the installed program is hashed using a trusted module and timestamped to prevent the installation program from being forged or tampered with, and to verify whether the program is being installed for the first time, thus ensuring the security of the program installation.
[0012] One possible approach is that, in the step of exporting the target control program from the engineering station, processing the target control program to generate a signature file, and sending the signature file to the programmable logic controller via the encrypted session channel, the signature file is generated in the following manner:
[0013] The engineering station calls the trusted module to perform a hash calculation on the binary content of the target control program to obtain the hash calculation result of the target control program. After binding the hash calculation result of the target control program with the signature timestamp and the ID information of the second CA certificate, a target control program deployment file is generated. The trusted module is then called to sign the target control program deployment file using the private key of the second CA certificate to generate a signature file.
[0014] One possible approach is that the programmable logic controller verifies the signature file, and if the verification is successful, the signature file is verified in the step of installing the target control program in the following manner;
[0015] The programmable logic controller extracts the public key from the second RSA / ECC key based on the second CA certificate, decrypts the signature file, and obtains the current control program deployment file. The current control program deployment file includes: the current control program, the hash calculation result of the target control program, the signature timestamp bound to the hash calculation result of the target control program, and the ID information of the second CA certificate.
[0016] Obtain the hash calculation result of the current control program and verify whether the hash calculation result of the target control program matches the hash calculation result of the current control program. If they match, the current control program matches the target control program.
[0017] If the current control program matches the target control program, the signature timestamp bound to the hash calculation result of the target control program and the ID information of the second CA certificate are valid, and the current control program is installed for the first time, then the signature file verification is successful.
[0018] One possible approach is that, in response to the download configuration request, the programmable logic controller obtains a second CA certificate installed on the engineering station and performs security verification on the second CA certificate; in the step where the engineering station obtains a first CA certificate installed on the programmable logic controller and verifies the security of the first CA certificate:
[0019] The programmable logic controller specifically verifies whether the second CA certificate is blacklisted, whether it is within its validity period, and whether it belongs to the same CA server as the first CA certificate.
[0020] The engineering station specifically verifies whether the first CA certificate is blacklisted, whether it is within its validity period, and whether it belongs to the same CA server as the second CA certificate.
[0021] One possible approach is that, in the step where, if both the first CA certificate and the second CA certificate are verified as secure and trustworthy, the programmable logic controller (PLC) and the engineering station perform bidirectional TLS authentication; and if the handshake authentication is successful, the PLC and the engineering station construct a temporary symmetric encryption key, the engineering station performs TLS authentication on the PLC in the following manner:
[0022] The programmable logic controller acquires handshake data and generates a first hash digest based on the handshake data using a hash algorithm;
[0023] The first hash digest is signed using a temporary private key to generate a first signature structure, wherein the temporary private key is generated by binding the private key in the first RSA / ECC key with a second timestamp and then encapsulating it using the AES key encapsulation mechanism;
[0024] The first signature structure is sent to the engineering station, and the engineering station verifies the first signature structure.
[0025] One possible approach is that, in the step where, if both the first CA certificate and the second CA certificate are verified as secure and trustworthy, the programmable logic controller (PLC) performs bidirectional TLS authentication with the engineering station; and if the handshake authentication is successful, the PLC constructs a temporary symmetric encryption key with the engineering station. In this step, the PLC performs TLS authentication on the engineering station in the following manner:
[0026] The engineering station acquires handshake data and generates a third hash digest based on the handshake data using a hash algorithm;
[0027] The third hash digest is signed using the private key in the second RSA / ECC key pair to generate a second signature structure;
[0028] The second signature structure is sent to the programmable logic controller, and the second signature structure is verified using the public key in the second RSA / ECC key in the second CA certificate.
[0029] One possible approach is that the handshake data includes: a random number generated by the programmable logic controller, a random number generated by the engineering station, and key exchange parameters.
[0030] One possible approach is that, after the step of negotiating and generating a temporary symmetric encryption key with the engineering station to establish an encrypted session channel, if the handshake verification is successful, the method further includes:
[0031] The engineering station uses the temporary symmetric encryption key to encrypt the configuration information, performs hash calculation on the encrypted configuration information to generate a hash structure, and signs the hash structure using the private key in the second CA certificate to generate signed encrypted configuration information. The configuration information includes: configuration data, a first timestamp, and a verification random value. The verification random value and the first timestamp are used for anti-replay verification.
[0032] The programmable logic controller obtains the signed encrypted configuration information and uses the public key in the second CA certificate to perform signature verification and anti-replay verification on the signed encrypted configuration information.
[0033] One possible approach is that the programmable logic controller obtains the signed encrypted configuration information and uses the public key in the second CA certificate to perform signature verification and anti-replay verification on the signed encrypted configuration information, including the following steps:
[0034] One possible approach is that the programmable logic controller extracts the public key from the second RSA / ECC key based on the second CA certificate, decrypts the signed encrypted configuration information, and obtains the hash structure and encrypted configuration information through the following steps:
[0035] The encrypted configuration information is hashed, and the hash result is compared with the hash structure. If the comparison result matches, the signature verification is successful.
[0036] The encrypted configuration information is decrypted using the temporary symmetric encryption key to obtain a verification random value and a verification timestamp;
[0037] If the verification random value appears for the first time and the verification timestamp is within the validity period, the anti-replay verification passes.
[0038] One possible approach is for the programmable logic controller to install the first CA certificate in the following manner:
[0039] In response to the initialization command, the first RSA / ECC key pair is randomly generated, and the private key in the first RSA / ECC key pair is stored in the encryption module of the chip in the programmable logic controller;
[0040] Generate a certificate signing request, the certificate signing request including: the public key in the first RSA / ECC key pair and the PLC device fingerprint;
[0041] The certificate signing request is sent to the CA server;
[0042] Install the first CA certificate. The first CA certificate is generated by the CA server in response to the certificate signing request, performing a hash calculation on the content formed by the certificate signing request, and then signing it using the CA private key.
[0043] Secondly, this application provides a program installation device based on asymmetric encryption, applied to an industrial system. The industrial system includes a programmable logic controller (PLC) and an engineering station. The PLC performs asymmetric encrypted communication based on a first RSA / ECC key pair. An encryption module is built into the PLC chip, storing the private key from the first RSA / ECC key and the PLC device fingerprint. The engineering station performs asymmetric encrypted communication based on a second RSA / ECC key pair. The method includes:
[0044] Response module: Used to respond to a download configuration request, wherein the programmable logic controller obtains a second CA certificate installed on the engineering station and performs security verification on the second CA certificate, and the engineering station obtains a first CA certificate installed on the programmable logic controller and verifies the security of the first CA certificate, wherein the first CA certificate is bound to the public key information in the first RSA / ECC key and the PLC fingerprint information, and the second CA certificate is bound to the engineering station device information and the public key in the second RSA / ECC key;
[0045] Verification module: If the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, the programmable logic controller and the engineering station shall perform bidirectional TLS verification.
[0046] Module construction: If the handshake verification is successful, the programmable logic controller and the engineering station negotiate to generate a temporary symmetric encryption key and establish an encrypted session channel;
[0047] Generation module: used to export the target control program from the engineering station, process the target control program to generate a signature file, and send the signature file to the programmable logic controller using the encrypted session channel;
[0048] Verification module: Used by the programmable logic controller to verify the signature file. If the verification is successful, the target control program is installed.
[0049] Thirdly, this application provides an electronic device, comprising:
[0050] At least one processor; and
[0051] At least one memory communicatively connected to the processor, wherein:
[0052] The memory stores program instructions that can be executed by the processor, which can invoke the program instructions to perform the method as described in the first aspect.
[0053] Fourthly, this application provides a computer-readable storage medium that stores computer instructions that cause the computer to perform the method described in the first aspect.
[0054] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.
[0055] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0056] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0057] Figure 1 A flowchart illustrating a program installation method based on asymmetric encryption, provided for an embodiment of this application;
[0058] Figure 2 A timing diagram of a program installation method based on asymmetric encryption provided for an embodiment of this application;
[0059] Figure 3 A flowchart illustrating another program installation method based on asymmetric encryption provided in this application embodiment;
[0060] Figure 4 A timing diagram of another program installation method based on asymmetric encryption provided in an embodiment of this application;
[0061] Figure 5 Examples of embodiments in this application Figure 4 The flowchart of the configuration data in the embodiment shown;
[0062] Figure 6 The timing diagram for installing the first CA certificate of the PLC provided in the embodiments of this application;
[0063] Figure 7A structural diagram of a program installation device based on asymmetric encryption provided in this application embodiment;
[0064] Figure 8 This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0065] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0066] With the rapid development of technologies such as Industry 4.0, smart manufacturing, and the Industrial Internet of Things (IIoT), traditional Industrial Control Systems (ICS) have transformed from their original closed, localized, and physically isolated architectures into highly interconnected, networked, and intelligent integrated systems. In this development process, programmable logic controllers (PLCs) serve as the core edge computing nodes of ICS, widely deployed in smart factories and critical infrastructures to undertake real-time data acquisition and control tasks.
[0067] To enhance PLC system communication security, the industry has begun to introduce standard security protocols. For example, TLS / SSL is gradually replacing bare plaintext S7 / Modbus communication, supporting methods such as cryptographic negotiation, certificate authentication, and session key protection. Siemens, as a leader in the industrial control equipment market, has introduced the TLS 1.2 / 1.3 protocol on its S7-1200 / 1500 series controllers, establishing a technical framework for two-way authentication and secure communication between the PLC and the engineering programming station. However, when the programmable logic controller's private key is exposed, such as during secure configuration between the PLC and the engineering station, the programmable logic controller's private key can be easily exposed.
[0068] To address the aforementioned problems, this application provides a program installation method, apparatus, electronic device, and storage medium based on asymmetric encryption, aiming to solve at least some of the problems mentioned above.
[0069] First, the relevant data provided in this application will be explained:
[0070] Engineering Station: A fully integrated automated software development platform that supports the configuration, programming, simulation, debugging, and deployment of programmable logic controllers.
[0071] TLS is a cryptographic protocol used to establish an encrypted communication channel between a client and a server to ensure data confidentiality, integrity, and authentication.
[0072] Reference Figure 1 This application provides a program installation method based on asymmetric encryption, applicable to industrial systems.
[0073] In the embodiments provided in this application, the industrial system includes a programmable logic controller (PLC) and an engineering station. The PLC performs asymmetric encrypted communication based on a first RSA / ECC key pair. That is, the private key of the PLC corresponds to the private key in the first RSA / ECC key pair, and the public key of the PLC corresponds to the public key in the first RSA / ECC key pair.
[0074] In the embodiments provided in this application, the PLC chip is provided with an encryption module, which is used to store the private key in the first RSA / ECC key and the PLC device fingerprint.
[0075] Specifically, the private key in the first RSA / ECC key is used for signing with the public key in the second CA certificate after the following access strategy and hash calculation: the private key is set to be non-exportable / non-forwardable.
[0076] The engineering station uses the second RSA / ECC key pair for asymmetric encrypted communication. That is, the private key in the second RSA / ECC key pair corresponds to the private key of the engineering station, and the public key in the second RSA / ECC key pair corresponds to the public key of the engineering station.
[0077] Reference Figure 1 and Figure 2 The embodiments provided in this application specifically include the following steps:
[0078] S101: In response to the download configuration request, the PLC obtains the second CA certificate installed on the engineering station and performs security verification on the second CA certificate. The engineering station obtains the first CA certificate installed on the PLC and performs security verification on the first CA certificate.
[0079] In the embodiments provided in this application, the first CA certificate is bound to the public key information in the first RSA / ECC key and the PLC fingerprint information, while the second CA certificate is bound to the engineering station equipment information and the public key in the second RSA / ECC key.
[0080] In this step, the PLC verifies the trustworthiness of the second CA certificate. Specifically, the PLC verifies whether the second CA certificate is blacklisted, whether it is valid, and whether it belongs to the same CA server as the first CA certificate.
[0081] Correspondingly, the engineering station specifically verifies whether the first CA certificate is blacklisted, whether it is within its validity period, and whether it belongs to the same CA server as the second CA certificate.
[0082] S102: If the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, the PLC and the engineering station perform bidirectional TLS verification.
[0083] TLS is a cryptographic protocol used to establish encrypted communication channels between clients and servers, ensuring data confidentiality, integrity, and authentication. In industrial control systems, TLS effectively prevents eavesdropping or tampering by performing TLS hash calculations and signing processes such as remote PLC access and configuration distribution using the public key in a second CA certificate.
[0084] In this step, using symmetric encryption, the PLC and the engineering station communicate and negotiate to construct a temporary symmetric encryption key. Specifically, the Advanced Encryption Standard (AES) can be used to construct the temporary symmetric encryption key.
[0085] S103: If the handshake verification is successful, the PLC and the engineering station negotiate to generate a temporary symmetric encryption key and establish an encrypted session channel.
[0086] In this step, based on the aforementioned S20, an encrypted session channel is established using a TLS handshake, and the configuration information is encrypted using a symmetric encryption key, that is, a TLS two-way authentication and CRL check mechanism are adopted.
[0087] In some embodiments, in the embodiments provided in this application, in addition to using the CRL check mechanism to verify the security of the CA certificate, TLS two-way authentication is used for dual authentication, which improves the security of the verification.
[0088] In this embodiment, the signed encrypted configuration information can be transmitted using an encrypted session channel based on the Secure Copy Protocol (SCP).
[0089] In some embodiments, in addition to the authentication methods described above, dynamic fingerprint technology is also used to track expired certificates / identities.
[0090] S104: The engineering station exports the target control program, processes the target control program to generate a signature file, and sends the signature file to the PLC using an encrypted session channel.
[0091] In this step, the engineering station invokes a trusted module to perform hash calculations on the binary content of the target control program. The "trusted module" refers to a secure component that performs both hash calculations and signature encapsulation for the program. In this application, a separate trusted module is used for signing, ensuring that even if the signature file is copied and uploaded to the PLC, it cannot be recognized by the PLC.
[0092] Specifically, in this step, the engineering station first calls the trusted module to perform a hash calculation on the binary content of the target control program in order to obtain the hash calculation result of the target control program.
[0093] Specifically, SHA512 can be used to obtain the program's hash value to generate the hash calculation result of the target control program. More specifically, the generation process of this hash result is based on the complete binary content of the entire exported file, rather than a partial structure or digest truncation. The trusted module ensures that the original content of the file is read and the standard hash value is executed, thereby ensuring accurate and sensitive response to any minute changes in the hash.
[0094] Then, the hash calculation result of the target control program is bound with the signature timestamp and the ID information of the second CA certificate to generate a target control program deployment file. The trusted module is then called to sign the target control program deployment file using the private key of the second CA certificate to generate a signature file.
[0095] It should be noted that the target control program refers to the control program that needs to be installed.
[0096] S105: The PLC verifies the signature file. If the verification is successful, the target control program is installed.
[0097] Specifically, in this step, the PLC first extracts the public key from the second RSA / ECC key based on the second CA certificate. This public key can then be used to decrypt the signature file and obtain the current control program deployment file.
[0098] Here, the current control program deployment file includes: the current control program, the hash calculation result of the target control program, the signature timestamp bound to the hash calculation result of the target control program, and the ID information of the second CA certificate. Here, binary calculation is performed on the binary content of the current control program to obtain the hash calculation result of the current control program, and it is verified whether the hash calculation result of the target control program matches the hash calculation result of the current control program. If they match, it means that the installed program has not been tampered with, the current control program matches the target control program, and thus program forgery is prevented.
[0099] In the embodiments provided in this application, the PLC's private key is stored in an encryption module, making it impossible to transmit the private key back. When the PLC is connected to the engineering station, a dual authentication mechanism of TLS and CRL is used to prevent man-in-the-middle interception of the certificate, private key, and initial password. This also prevents the use of self-signed certificates to forge clients for configuration injection, ensuring that any engineering station with security risks (such as certificate revocation) will no longer be able to access the PLC configuration permissions. At the same time, during the installation process, the installed program is hashed using a trusted module and timestamped to prevent the installation program from being forged or tampered with, and to verify whether the program is being installed for the first time, thus ensuring the security of the program installation.
[0100] Reference Figure 3 and Figure 4 , Figure 3 A flowchart illustrating another program installation method based on asymmetric encryption provided in this application. Figure 4 The timing diagram for another program installation method based on asymmetric encryption provided in this application specifically includes the following steps:
[0101] S201: In response to the download configuration request, the PLC obtains the second CA certificate installed on the engineering station and performs security verification on the second CA certificate. The engineering station obtains the first CA certificate installed on the PLC and verifies the security of the first CA certificate.
[0102] S202: If the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, the PLC and the engineering station perform bidirectional TLS verification.
[0103] S203: If the handshake verification is successful, the PLC and the engineering station negotiate to generate a temporary symmetric encryption key and establish an encrypted session channel.
[0104] Here, please refer to the steps of S101 to S103 mentioned above for S201 to S203, and will not be repeated here.
[0105] S204: The engineering station uses a temporary symmetric encryption key to encrypt the configuration information, performs a hash calculation on the encrypted configuration information to generate a hash structure, and signs the hash structure using the private key in the second CA certificate to generate signed encrypted configuration information.
[0106] Here, the configuration information includes: configuration data, first timestamp, and verification random value. The verification random value and first timestamp are used for anti-replay verification.
[0107] Specifically, in each configuration data transmission, two mechanisms, a "timestamp" and a "nonce," are introduced to jointly transmit uniqueness and validity. Before the engineering station prepares to send configuration data, it generates a timer to determine the current system time and a highly randomized unique nonce, thus generating the first timestamp and the verification nonce.
[0108] S205: The PLC obtains the signed encrypted configuration information and uses the public key in the second CA certificate to perform signature verification and anti-replay verification on the signed encrypted configuration information. If the verification passes, the PLC binds the configuration data to the PLC chip.
[0109] In this step, after the PLC obtains the signed encrypted configuration information, it performs signature verification on the signed encrypted configuration information to determine whether the configuration information comes from a trusted deployment source. It also uses a random value and the first timestamp for anti-replay verification to prevent the configuration data from being replayed. At the same time, since the PLC's private key is always stored in the encryption module and there is no private key return mechanism, and the PLC's private key is not exposed during the TLS handshake, man-in-the-middle attacks cannot intercept the certificate, private key, and initial password, thus improving the security of the encryption protocol.
[0110] Therefore, in the embodiments provided in this application, the PLC's private key is stored in the encryption module, making it impossible to send the private key back. During PLC security configuration, a dual authentication mechanism of TLS and CRL is used to prevent the use of self-signed certificates to forge clients for configuration injection. This prevents man-in-the-middle attacks on certificates, private keys, and initial passwords. In the configuration file, random values and timestamps are bound to prevent replay, and hash values are used to verify the original configuration data to prevent the configuration program from being tampered with or forged, thus improving the security of the encryption protocol.
[0111] The following will describe the specific steps involved in the aforementioned TLS authentication.
[0112] As mentioned above, the PLC and the engineering station need to perform bidirectional authentication. In this step, the engineering station performs TLS authentication on the PLC using the following method:
[0113] First, the PLC signs the first hash digest using a temporary private key to generate the first signature structure.
[0114] It should be noted that, as mentioned above, the PLC first acquires the handshake data and then uses a hash algorithm to generate the first hash digest based on the handshake data.
[0115] Here, the handshake data refers to the handshake data used during engineering station authentication. Specifically, the engineering station random number, the PLC random number, and key exchange parameters (such as ECDHE parameters) form a structure that generates the handshake data. Then, the handshake data is hashed to generate the aforementioned first hash digest.
[0116] At the same time, the PLC first binds the private key in the first RSA / ECC key to the second timestamp, and then uses the AES key encapsulation mechanism to encapsulate and generate it.
[0117] Specifically, AES is used to bind a timestamp to the original key. This second timestamp can be used to generate a temporary key for the timer. The private key in the first RSA / ECC key is combined with this timestamp to form a data block. The AES key encapsulator is then used to encapsulate the data block, thereby ensuring that the original private key is not exposed. Indirect signing is also used to ensure that the original private key is not exposed.
[0118] After a temporary private key is generated, the PLC uses the temporary private key to sign the first hash digest, generating the first signature structure, and sends the first signature structure to the engineering station, which then verifies the first signature structure.
[0119] Specifically, the first signature structure includes handshake data, a first hash digest, and a temporary private key.
[0120] To verify the first signature structure and confirm that the PLC is correctly holding the private key, the public key in the first RSA / ECC key of the first CA certificate is extracted to decrypt the first signature structure, thus obtaining the first hash digest.
[0121] Then, a second hash digest is generated based on the handshake data in the first signature structure using a hash algorithm. If the second hash digest matches the first hash digest, the first signature structure is successfully authenticated.
[0122] Correspondingly, the PLC also needs to authenticate the identity of the engineering station. Specifically, firstly, the engineering station obtains the handshake data and generates a third hash digest based on the handshake data using a hash algorithm. Then, the engineering station signs the third hash digest using the private key in the second RSA / ECC key pair to generate a second signature structure and sends the second signature structure to the PLC.
[0123] Finally, the PLC receives the second signature structure and verifies it based on the public key in the second RSA / ECC key in the second CA certificate.
[0124] Specifically, in this step, the PLC first extracts the public key from the second RSA / ECC key in the second CA certificate to decrypt the second signature structure, obtains the third hash digest and the handshake data in the second signature structure, generates a fourth hash digest from the handshake data in the second signature structure using a hash algorithm, and verifies the fourth hash digest and the third hash digest. If the third hash digest matches the fourth hash digest, the second signature structure is successfully authenticated.
[0125] By using the above method, both-way authentication of TLS is completed. At the same time, the PLC's private key is never exposed during this step, which improves the security of the TLS handshake.
[0126] The following will describe the steps for S205: PLC obtains the signed encrypted configuration information, and uses the public key in the second CA certificate to perform signature verification and anti-replay verification on the signed encrypted configuration information:
[0127] In this step, a random value is recorded in the PLC as a unique identifier, either stored or in temporary memory, while the timing (i.e., the first timestamp) ensures that the entire configuration identifier has "short-term real-time validity." This design provides time verification and final protection, effectively preventing data from being intercepted and replayed by third parties, thereby ensuring the security and consistency of configuration operations.
[0128] Reference Figure 5 As a preferred embodiment, this step specifically includes the following steps:
[0129] S501: The PLC extracts the public key from the second RSA / ECC key of the second CA certificate, decrypts the signed encrypted configuration information, and obtains the hash structure and encrypted configuration information.
[0130] In some embodiments, the PLC also authenticates the validity of the signature in the encrypted configuration information after it has been signed.
[0131] S502: Perform a hash calculation on the encrypted configuration information, and compare the result of the hash calculation with the hash structure. If the comparison results match, the signature verification is successful.
[0132] S503: Decrypt the encrypted configuration information using a temporary symmetric encryption key to obtain a verification random value and a verification timestamp.
[0133] The above methods ensure that the configuration information is not tampered with, guarantee the integrity of the transmitted data, and verify the CA certificate of the engineering station, thus ensuring that the engineering station comes from a reliable deployment source.
[0134] S504: If the verification random value appears for the first time and the verification timestamp is within the validity period, the anti-replay verification passes.
[0135] In summary, the random value is recorded in the PLC as a unique identifier in storage or temporary memory. If the random value appears for the first time, it indicates that the data packet has appeared for the first time. If the timestamp is valid, it indicates that the configuration file has appeared for the first time.
[0136] In the embodiments provided in this application, random values and timestamps are added to the configuration information to prevent replay of the configuration file, and the configuration file is signed with the engineering station's private key, which can effectively ensure that the configuration data comes from a reliable deployment source.
[0137] Reference Figure 6 Based on the foregoing embodiments, the following will describe the installation method of the first CA certificate in this application:
[0138] In the embodiments provided in this application, when the PLC is first started or forcibly initialized, it generates an initialization instruction. In response to the initialization instruction, the PLC randomly generates a first RSA / ECC key pair and stores the private key of the first RSA / ECC key pair in the encryption module of the chip in the PLC.
[0139] Then, a certificate signing request is generated, which includes the public key from the first RSA / ECC key pair and the PLC device fingerprint.
[0140] A PLC device fingerprint is a unique identifier for a PLC device, which can be either a unique ID or a serial number for the PLC.
[0141] Once a certificate signing request is generated, the CA server responds to the certificate signing request by forming the certificate signing request content.
[0142] As can be seen from the foregoing, the content formed by the certificate signing request includes: the public key in the first RSA / ECC key pair and the PLC device fingerprint.
[0143] At the same time, the CA server also verifies the PLC's ID and signs the content formed by the certificate signing request using the CA private key, thereby generating a CA certificate, such as a standard X.509 certificate.
[0144] Thus, the first CA certificate is generated. The engineering station sends the first CA certificate to the PLC. The PLC installs the first CA certificate and only saves the signature body and the private key in the first RSA / ECC key pair.
[0145] By using the above methods, it is possible to install CA certificates without exposing the private key. The lifecycle of the private key and certificate is generated autonomously by the device and strongly bound to the PLC's own hardware, ensuring that the key is unique and cannot be extracted.
[0146] In this application, the second CA certificate can be installed in the following manner:
[0147] First, the engineering station generates a second RSA / ECC key pair and generates a certificate signing request. This certificate signing request contains the public key of the second RSA / ECC key pair and the engineering station ID. Then, the certificate signing request is sent to the CA server. The CA server uses its CA private key to sign the public key and the engineering station ID to generate a second CA certificate, and sends the second CA certificate to the engineering station. Thus, the engineering station installs the second CA certificate.
[0148] Based on the aforementioned embodiments, as a preferred embodiment, when configuring access and executing business records, the behavior trajectory needs to be recorded through the PLC log mechanism. Detailed records of abnormal behavior are maintained, such as duplicate signature mismatch, TLS handshake failure, and unauthorized access. All log data can be sent to the analysis module.
[0149] Reference Figure 7 This application provides a program installation device based on asymmetric encryption, applied to an industrial system. The industrial system includes a programmable logic controller (PLC) and an engineering station. The PLC performs asymmetric encrypted communication based on a first RSA / ECC key pair. An encryption module is built into the PLC chip, storing the private key from the first RSA / ECC key and the PLC device fingerprint. The engineering station performs asymmetric encrypted communication based on a second RSA / ECC key pair. The method includes:
[0150] Response module: Used to respond to a download configuration request, wherein the programmable logic controller obtains a second CA certificate installed on the engineering station and performs security verification on the second CA certificate, and the engineering station obtains a first CA certificate installed on the programmable logic controller and verifies the security of the first CA certificate, wherein the first CA certificate is bound to the public key information in the first RSA / ECC key and the PLC fingerprint information, and the second CA certificate is bound to the engineering station device information and the public key in the second RSA / ECC key;
[0151] Verification module: If the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, the programmable logic controller and the engineering station shall perform bidirectional TLS verification.
[0152] Module construction: If the handshake verification is successful, the programmable logic controller and the engineering station negotiate to generate a temporary symmetric encryption key and establish an encrypted session channel;
[0153] Generation module: used to export the target control program from the engineering station, process the target control program to generate a signature file, and send the signature file to the programmable logic controller using the encrypted session channel;
[0154] Verification module: Used by the programmable logic controller to verify the signature file. If the verification is successful, the target control program is installed.
[0155] The device provided in this embodiment of the invention has the same implementation principle and technical effect as the aforementioned method embodiment. For the sake of brevity, any parts not mentioned in the device embodiment can be referred to the corresponding content in the aforementioned method embodiment.
[0156] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0157] Figure 8 A block diagram is shown that is suitable for implementing embodiments of the present invention. Figure 5 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present invention.
[0158] like Figure 8 As shown, the electronic device is represented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: one or more processors 410, memory 430, and communication bus 440 connecting different system components (including memory 430 and processing unit 410).
[0159] Communication bus 440 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MAC) buses, Enhanced ISA buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses.
[0160] Electronic devices typically include a variety of computer-readable media. These media can be any available media that can be accessed by the electronic device, including volatile and non-volatile media, and removable and non-removable media.
[0161] Memory 430 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. Memory 430 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments of the present invention.
[0162] A program / utility having a set (at least one) of program modules can be stored in memory 430. Such program modules include—but are not limited to—an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. The program modules typically perform the functions and / or methods described in the embodiments of this invention.
[0163] Processor 410 executes various functional applications and data processing by running programs stored in memory 430, such as implementing embodiments of the present invention. Figures 1-3 The method provided in the illustrated embodiment.
[0164] This invention provides a non-transitory computer-readable storage medium that stores computer instructions, which cause a computer to execute embodiments of this invention. Figures 1-3The method provided in the illustrated embodiment.
[0165] The aforementioned computer-readable storage medium may be any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in connection with an instruction execution system, apparatus, or device.
[0166] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including—but not limited to—electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0167] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0168] Computer program code for performing the operations of embodiments of the present invention can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages—such as Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0169] The foregoing has described specific embodiments of the present invention. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0170] In the description of the embodiments of the present invention, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the present invention. In the embodiments of the present invention, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in a suitable manner in any one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in the embodiments of the present invention, as well as the features of the different embodiments or examples.
[0171] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of embodiments of the present invention, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0172] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of the invention pertain.
[0173] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."
[0174] It should be noted that the terminals involved in the embodiments of the present invention may include, but are not limited to, personal computers (PCs), personal digital assistants (PDAs), wireless handheld devices, tablet computers, mobile phones, MP3 players, MP4 players, etc.
[0175] In the embodiments provided in this invention, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0176] Furthermore, in the various embodiments of the present invention, the functional units can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0177] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute partial steps of the methods in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0178] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A program installation method based on asymmetric encryption applied to an industrial system, characterized in that, The industrial system comprises a programmable logic controller and an engineering station, the programmable logic controller performs asymmetric encryption communication based on a first RSA / ECC key pair, an encryption module is arranged in a chip of the programmable logic controller, the encryption module is used to store a private key in the first RSA / ECC key and a PLC device fingerprint, the engineering station performs asymmetric encryption communication based on a second RSA / ECC key pair, and the method comprises the following steps: In response to a download configuration request, the programmable logic controller acquires a second CA certificate installed in the engineering station and performs security verification on the second CA certificate, the engineering station acquires a first CA certificate installed in the programmable logic controller and performs security verification on the first CA certificate, wherein the first CA certificate binds public key information in the first RSA / ECC key and PLC fingerprint information, and the second CA certificate binds engineering station device information and public key information in the second RSA / ECC key; If the security verification results of the first CA certificate and the second CA certificate are both safe and reliable, the programmable logic controller and the engineering station perform bidirectional TLS verification; If the handshake verification is successful, the programmable logic controller and the engineering station negotiate to generate a temporary symmetric encryption key and build an encrypted session channel; The engineering station derives a target control program, processes the target control program to generate a signature file, and sends the signature file to the programmable logic controller through the encrypted session channel; The programmable logic controller verifies the signature file, and if the verification is successful, installs the target control program.
2. The method of claim 1, wherein the engineering station derives a target control program, processes the target control program to generate a signature file, and sends the signature file to the programmable logic controller through the encrypted session channel, and the signature file is generated in the following manner: The engineering station calls a trusted module to perform hash calculation on the binary content of the target control program to obtain a hash calculation result of the target control program, binds the hash calculation result of the target control program with a signature timestamp and ID information of the second CA certificate, generates a target control program deployment file, and calls the trusted module to sign the target control program deployment file with the private key of the second CA certificate to generate a signature file.
3. The method of claim 2, wherein the programmable logic controller verifies the signature file, and if the verification is successful, the target control program is installed in the following manner: The programmable logic controller verifies the signature file, and if the verification is successful, the target control program is installed in the following manner: The programmable logic controller extracts a public key in the second RSA / ECC key based on the second CA certificate, decrypts the signature file, and obtains a current control program deployment file, which includes a current control program, a hash calculation result of the target control program, a signature timestamp bound to the hash calculation result of the target control program, and ID information of the second CA certificate; The hash calculation result of the current control program is obtained, and it is verified whether the hash calculation result of the target control program is consistent with the hash calculation result of the current control program. If yes, the current control program is consistent with the target control program; If the current control program is consistent with the target control program, the signature timestamp bound to the hash calculation result of the target control program, and the ID information of the second CA certificate are valid, and the current control program is installed for the first time, the signature file verification is successful.
4. The method of claim 1, wherein, in the step of obtaining the second CA certificate installed in the engineering station and performing security verification on the second CA certificate by the programmable logic controller, and performing security verification on the first CA certificate by the engineering station: the programmable logic controller specifically verifies whether the second CA certificate is listed in a blacklist, whether it is within a valid period, and whether it belongs to the same CA server as the first CA certificate; the engineering station specifically verifies whether the first CA certificate is listed in a blacklist, whether it is within a valid period, and whether it belongs to the same CA server as the second CA certificate.
5. The method of claim 1, wherein, in the step of performing two-way TLS verification by the programmable logic controller and the engineering station if the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, and constructing a temporary symmetric encryption key by the programmable logic controller and the engineering station if the handshake verification is successful, the engineering station performs TLS authentication on the programmable logic controller in the following manner: the programmable logic controller obtains handshake data and generates a first hash digest based on the handshake data using a hash algorithm; the first hash digest is signed using a temporary private key to generate a first signature structure, wherein the temporary private key is generated by binding a private key in the first RSA / ECC key to a second timestamp and then encapsulating the result using an AES key encapsulation mechanism; the first signature structure is sent to the engineering station, and the engineering station verifies the first signature structure.
6. The method of claim 5, wherein, in the step of performing two-way TLS verification by the programmable logic controller and the engineering station if the security verification results of the first CA certificate and the second CA certificate are both secure and trustworthy, and constructing a temporary symmetric encryption key by the programmable logic controller and the engineering station if the handshake verification is successful, the programmable logic controller performs TLS authentication on the engineering station in the following manner: The engineering station acquires handshake data and generates a third hash digest based on the handshake data using a hash algorithm; The third hash digest is signed using a private key in the second RSA / ECC key pair to generate a second signature structure; The second signature structure is sent to the programmable logic controller, and the second signature structure is verified using a public key in the second RSA / ECC key in the second CA certificate.
7. The method of claim 6, wherein, The handshake data includes a random number generated by the programmable logic controller, a random number generated by the engineering station, and a key exchange parameter.
8. The method according to any one of claims 1 to 7, characterized in that, If the handshake verification is successful, the programmable logic controller and the engineering station negotiate to generate a temporary symmetric encryption key, and after the step of establishing an encrypted session channel, the method further comprises: The engineering station encrypts the configuration information using the temporary symmetric encryption key, and performs hash calculation on the encrypted configuration information to generate a hash structure. The hash structure is signed using the private key in the second CA certificate to generate signed encrypted configuration information. The configuration information includes configuration data, a first timestamp, and a verification random value. The verification random value and the first timestamp are used for anti-replay verification. The programmable logic controller acquires the signed encrypted configuration information and performs signature verification and anti-replay verification on the signed encrypted configuration information using the public key in the second CA certificate.
9. The method of claim 8, wherein, The programmable logic controller acquires the signed encrypted configuration information and performs signature verification and anti-replay verification on the signed encrypted configuration information using the public key in the second CA certificate. The programmable logic controller acquires the signed encrypted configuration information and performs signature verification and anti-replay verification on the signed encrypted configuration information using the public key in the second CA certificate. The programmable logic controller extracts the public key in the second RSA / ECC key based on the second CA certificate, decrypts the signed encrypted configuration information, and acquires the hash structure and the encrypted configuration information; Hash calculation is performed on the encrypted configuration information, and the result of the hash calculation is compared with the hash structure. If the comparison result is consistent, the signature verification is passed; The encrypted configuration information is decrypted using the temporary symmetric encryption key to obtain a verification random value and a verification timestamp; 10. The method of claim 9, wherein, If the verification random value appears for the first time and the verification timestamp is within the valid period, the anti-replay verification is passed. The programmable logic controller installs the first CA certificate in the following way: In response to an initialization instruction, the first RSA / ECC key pair is randomly generated, and the private key in the first RSA / ECC key pair is stored in the encryption module of the chip in the programmable logic controller; A certificate signing request is generated, which includes the public key in the first RSA / ECC key pair and the PLC device fingerprint; The certificate signing request is sent to the CA server; The first CA certificate is installed. The first CA certificate is generated by the CA server in response to the certificate signing request, signing the content formed by the certificate signing request using the CA private key after hash calculation.
11. A program installation device based on asymmetric encryption, characterized in that, The application is applied to an industrial system, the industrial system comprises a programmable logic controller and an engineering station, the programmable logic controller performs asymmetric encryption communication based on a first RSA / ECC key pair, an encryption module is arranged in a chip of the programmable logic controller, the encryption module is used for storing a private key in the first RSA / ECC key and a PLC device fingerprint is stored in the encryption module, the engineering station performs asymmetric encryption communication based on a second RSA / ECC key pair, and the method comprises the following steps: A response module is configured to, in response to a download configuration request, acquire a second CA certificate installed in the engineering station and perform security verification on the second CA certificate, and the engineering station acquires a first CA certificate installed in the programmable logic controller, verifies the security of the first CA certificate, wherein the first CA certificate binds public key information in the first RSA / ECC key and PLC fingerprint information, and the second CA certificate binds engineering station device information and public key information in the second RSA / ECC key; A verification module is configured to, if the security verification results of the first CA certificate and the second CA certificate are both safe and credible, perform bidirectional TLS verification between the programmable logic controller and the engineering station; A construction module is configured to, if the handshake verification is successful, generate a temporary symmetric encryption key by negotiation between the programmable logic controller and the engineering station, and construct an encrypted session channel; A generation module is configured to, the engineering station exports a target control program, processes the target control program to generate a signature file, and sends the signature file to the programmable logic controller through the encrypted session channel; A verification module is configured to, the programmable logic controller verifies the signature file, and if the verification is successful, installs the target control program.
12. An electronic device, comprising: Comprise: At least one processor; And At least one memory connected in communication with the processor, wherein: The memory stores program instructions executable by the processor, and the processor calling the program instructions can execute the method of claims 1-7.
13. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, and the computer instructions make the computer execute the method of any one of claims 1-7.
Citation Information
Patent Citations
Program package installation method of trusted computing industrial personal computer
CN112817608A
Cross-domain security interconnection method and device of industrial control system
CN115883183A