Process Computer Software License Verification via Preliminary Authorization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for securing software libraries used in model-based code development for process computers, such as those in automobiles, face challenges in efficiently and securely verifying licenses, leading to potential misuse and increased latency in real-time systems.
Innovation Solution
A method for operating a process computer that involves intermittent connection to a user computer for license verification, where executable binary code is transmitted with associated license information, and an authorization program checks the availability of required licenses, ensuring only licensed code is executed, independent of the computer's identification, thus preventing misuse and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If license verification is performed continuously or frequently in real-time systems, then software security and license protection are improved, but system latency increases and real-time performance deteriorates
Solution Approach 1:
The patent performs license verification in advance before binary code is loaded onto the process computer. The authorization program checks whether the process computer has the necessary licenses for the binary code before transmission, so that when the binary code is executed, the license verification has already been completed. This preliminary action ensures security while avoiding latency during real-time execution.
Solution Approach 2:
The patent separates license verification from the real-time execution process. License checking is performed as a distinct preliminary step during the configuration phase, while the process computer maintains real-time performance during actual operation. This segmentation allows security verification without compromising real-time performance.
2Reliability
If license verification is tied to specific computer identification, then software piracy prevention is improved, but system adaptability and flexibility deteriorate
Solution Approach 1:
The patent implements a universal license management system where licenses are not permanently bound to specific hardware identifiers but are instead verified through an authorization program that can operate across different process computers. The association list stores license information that can be applied to multiple systems, providing both piracy protection through verification and flexibility through reusability.
Solution Approach 2:
The patent uses association lists that can be copied and transferred between systems. Instead of hardcoding licenses to specific hardware, the license information is stored in a format that can be replicated across different process computers, allowing the same licensed binary code to be deployed to multiple systems while maintaining verification through the authorization program.
3Reliability
If additional hardware modules are added for license verification, then security and license protection are improved, but device complexity and cost increase
Solution Approach 1:
The patent replaces hardware-based license verification mechanisms with a software-based authorization program. Instead of using additional hardware modules or security dongles, the system uses software to perform license checking through the authorization program and association lists. This substitution maintains security while reducing hardware complexity and cost.
Solution Approach 2:
The process computer performs its own license verification through the integrated authorization program without requiring external hardware verification modules. The system uses its own processing capabilities to check licenses against the association list, eliminating the need for separate hardware security modules and reducing overall system complexity.
4Reliability
If license information is embedded in binary code, then license tracking and verification are improved, but binary code size and storage requirements increase
Solution Approach 1:
The patent extracts license information from the binary code itself and stores it separately in association lists. Instead of embedding license data within the binary code, the system separates the binary code from its license information, storing license details in external association lists that reference the binary code. This extraction reduces binary code size while maintaining license tracking capabilities.
Solution Approach 2:
The patent introduces association lists as an intermediary between binary code and license information. Rather than directly embedding licenses in the binary code, the association lists serve as a mediator that stores license data and provides verification through the authorization program. This intermediary approach reduces binary code size while maintaining comprehensive license tracking.
Data Source
AI summary
In a method for operating a process computer that is at least intermittently connected to a user computer that executes a configuration program that can transmit executable binary code to the process computer, there is provision for a license check. The binary code has associated license information that indicates required licenses, and the configuration program is set up to receive an explicit identification of the process computer. The configuration program supplies an authorization program with the identification and with the license information. The authorization program establishes a permissibility by checking whether the available licenses associated with the explicit identification cover the licenses required according to license information, and the configuration program transmits the executable binary code to the process computer only if the authorization program has established the permissibility. The disclosure further relates to a user computer and a computer program product.


