One-Time Program Self-Destruction via Secure Memory Oblivious Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer programs can be copied, analyzed, and executed arbitrarily, making it difficult to limit user access or enforce one-time usage, which is undesirable in security applications such as cryptographic tasks and electronic cash systems.
Innovation Solution
The development of one-time programs that can be executed only once or a limited number of times, utilizing secure memory devices with interactive oblivious transfer protocols to store secret keys and self-destruct after use, ensuring that programs can only be run on a single input or a specified number of inputs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional software protection mechanisms are implemented, then software security is improved, but the code can still be reverse engineered or protection removed
Solution Approach 1:
The patent implements one-time programs that are designed to be executed only once and then self-destruct. The program code is transformed into a form that can be run a predetermined number of times (typically once) and then becomes unusable. This disposable approach to software ensures that even if the code is copied or analyzed, it cannot be reused for malicious purposes, fundamentally addressing the reverse engineering problem by making the software obsolete after a single use.
2Ease of operation
If a vendor gives a user unlimited access to a program, then ease of operation is improved, but control over usage is lost
Solution Approach 1:
The patent introduces dynamic usage control by transforming static software into one-time programs with predetermined execution limits. The program is compiled or transformed to include self-destruct mechanisms that automatically prevent further execution after the allowed number of uses. This dynamic approach allows vendors to maintain ease of operation during the authorized usage period while automatically enforcing usage control after expiration, eliminating the need for complex licensing systems.
3Reliability
If software protection mechanisms are built into programs, then security is improved, but the protection can be removed
Solution Approach 1:
The patent fundamentally changes the software protection model by making the program itself disposable rather than relying on removable protection mechanisms. The one-time program is designed to execute its function and then self-destruct, eliminating any possibility of protection removal since the protected code ceases to exist after use. This approach transforms the security model from preventing unauthorized access to accepting that access occurs but limiting its duration to a single use.
Data Source
AI summary
A method, apparatus and computer program product for providing one-time programs is presented. A program to be converted to a new program having a predetermined lifetime is identified. The program is compiled to produce the new program having a predetermined lifetime and wherein the new program having a predetermined lifetime is guaranteed to only have the predetermined lifetime.


