Industrial Controller Whitelist for Secure File Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control systems face challenges in verifying the authenticity and integrity of executable files before execution, particularly in ensuring that they are from a trustworthy source and have not been altered during transmission, while needing to do so efficiently with limited resources.
Innovation Solution
A whitelisting system is implemented, where a whitelist file containing hash key values for authorized executable files is generated and encrypted, allowing the industrial controller to verify the authenticity of files by matching hash key values before execution, thereby blocking unauthorized files.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional file execution verification methods are used in industrial control systems, then file authenticity can be verified, but system security is compromised due to lack of encryption and whitelist mechanisms
Solution Approach 1:
The patent applies preliminary action by pre-generating hash key values for all authorized executable files and storing them in an encrypted whitelist file before execution. The build system processor creates this whitelist in advance, encrypting it with a public key, so that during runtime the industrial controller only needs to perform simple hash comparison rather than complex verification operations. This resolves the contradiction by preparing security credentials beforehand, enhancing security while keeping runtime complexity low.
Solution Approach 2:
The patent introduces hash key values as an intermediary element between the executable files and the verification process. Instead of directly verifying file authenticity through complex cryptographic checks, the system uses pre-computed hash keys as intermediaries that represent authorized files. The encrypted whitelist containing these hash keys acts as a mediator that the industrial controller can efficiently query, thus improving security without significantly increasing device complexity.
2Reliability
If comprehensive file verification is performed before execution, then unauthorized files can be blocked, but processing time increases
Solution Approach 1:
The patent applies copying by creating hash key values that are digital representations or copies of the essential authenticity information of executable files. Instead of performing full cryptographic verification of each file during execution, the system uses these pre-computed hash key copies for rapid comparison. This resolves the contradiction by working with simplified copies of verification data rather than the full verification process, maintaining security while reducing processing time.
Solution Approach 2:
The verification data (hash keys) is prepared in advance during the build process and stored in an encrypted whitelist. This preliminary preparation means that during actual execution, the industrial controller only needs to perform a quick hash comparison rather than comprehensive verification. The time-consuming verification work is done beforehand, resolving the contradiction between thorough verification and execution speed.
3Reliability
If encryption is applied to the whitelist file, then security is enhanced, but computational resources are consumed
Solution Approach 1:
The encryption of the whitelist file is performed in advance by the build system processor during the build phase, not during runtime execution. The public key encryption is applied beforehand to create the encrypted whitelist that the industrial controller will use. This resolves the contradiction by shifting the energy-intensive encryption operation to the build phase, allowing strong security during runtime without consuming processor energy during execution.
Solution Approach 2:
The patent uses public key cryptography to replace what would otherwise require complex secure key management mechanisms. The public key infrastructure allows the whitelist to be encrypted and verified without requiring the industrial controller to store or manage sensitive private keys, substituting a simpler verification mechanism that consumes fewer computational resources while maintaining strong security.
Data Source
AI summary
A system includes a build system processor configured to generate a private encryption key and configured to add the private encryption key to at least one of a plurality of source files. Each of the plurality of source files includes instructions configured to be executed by an industrial controller processor. The processor is also configured to generate a plurality of binary files from the plurality of source files. The processor is further configured to construct a whitelist file including first hash key values determined for the plurality of binary files and configured to encrypt the whitelist file using the private key to provide an encrypted whitelist file.


