Digital Asset Access Control via Encrypted Amulet and Manager
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for protecting computer software from unauthorized access and theft are inadequate, particularly for interpreted language-based components and compiled language-based components, as they can be inspected, copied, or hacked, and hardware dongles are insecure and limit flexibility in software distribution.
Innovation Solution
A digital asset management apparatus that includes an encrypted self-validating string, known as an amulet, which controls access to the digital asset, and a manager that cooperates with the amulet to secure access, using shared memory, a RAM drive, or a virtual machine, allowing for secure conversion of components from interpreted to compiled language and multi-pass compilation with optimization and obfuscation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If software components are left in interpreted language for user flexibility and customization, then ease of operation is improved, but security and protection from unauthorized access deteriorates
Solution Approach 1:
The software is divided into protected components that are compiled into opaque binary form and unprotected components that remain in interpreted form. The protected components contain sensitive algorithms and data access logic, while unprotected components provide user-friendly interfaces and customization capabilities. This segmentation allows the system to maintain both security and ease of operation simultaneously.
Solution Approach 2:
An intermediary layer is introduced between the user and the protected software components. This intermediary handles user interactions and translations them into calls to the protected binary components, preventing direct inspection of the protected code while maintaining full user functionality. The intermediary acts as a secure gateway that preserves both security and operational flexibility.
2Reliability
If software components are compiled or obfuscated to prevent inspection, then security is improved, but ease of operation deteriorates
Solution Approach 1:
The software architecture segments functionality into protected binary components and unprotected interpreted components. Protected components are compiled into opaque form to prevent inspection, while unprotected components remain accessible for user customization. This allows security-critical functions to be protected while user-facing functions remain modifiable.
Solution Approach 2:
An intermediary layer provides the user interface and customization capabilities without requiring direct access to protected binary components. Users can customize the unprotected interpreted components while the protected components remain secure. The intermediary translates user customizations into safe calls to the protected components, maintaining both security and ease of operation.
3Reliability
If hardware dongles are used to control access, then security is improved, but device complexity and flexibility deteriorate
Solution Approach 1:
The patent replaces mechanical hardware dongles with software-based security mechanisms. Instead of requiring physical hardware tokens, the system uses encrypted binary components with embedded security logic that can be distributed digitally. This substitution eliminates the need for physical media while maintaining secure access control, thereby reducing device complexity and improving distribution flexibility.
Solution Approach 2:
The protected software components can be copied and distributed digitally without requiring physical hardware dongles. The security is embedded in the software itself through encryption and obfuscation, allowing multiple copies to be distributed freely while maintaining access control. This eliminates the limitations of hardware-based licensing and improves distribution flexibility.
Data Source
AI summary
The apparatus disclosed herein, in various aspects, includes a digital asset, and an amulet that comprises an encrypted self-validating string. The amulet may be external to the digital asset. The apparatus may include a manager that cooperates securely with the digital asset and cooperates securely with the amulet to control access to the digital asset as specified by the amulet. In some aspects, the manager cooperates with the digital asset and with the amulet, at least in part, through shared memory in process space. In other aspects, the manager cooperates with the digital asset and with the amulet, at least in part, through a RAM drive in memory, the RAM drive at least partially hidden from an operating system of the computer. In yet other aspects, the manager cooperates with the digital asset and with the amulet, at least in part, through a virtual machine accessible only by said apparatus. The amulet, the manager, and the digital asset are either operably receivable by a computer or are operably received by the computer, in various aspects. Related methods and compositions of matter are also disclosed.


