Software Release Date Key Exchange Protocol
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software piracy involves tampering with software release dates to unauthorizedly extend software usage, which existing encryption methods fail to prevent effectively.
Innovation Solution
Incorporating software release date information into a key exchange protocol using license keys to generate encryption keys, where the software release date is verified within a specified range to ensure secure execution, preventing tampering by ensuring correct key exchange and decryption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software release date is encrypted and incorporated into software, then licensing control is implemented, but hackers can tamper with the release date to unlock unauthorized versions
Solution Approach 1:
The patent introduces a security domain as an intermediary component that mediates between the licensed software and the licensing verification system. This security domain contains the license key and performs cryptographic operations to verify software release dates, preventing direct tampering. The security domain acts as a trusted mediator that validates whether modified release dates fall within the licensed range, thereby solving the vulnerability of direct software-embedded release dates.
Solution Approach 2:
The patent replaces the simple mechanical approach of embedding encrypted release dates directly in software with a cryptographic key exchange protocol. Instead of relying solely on encryption mechanics, the system uses public-key cryptography where the security domain holds private keys and software contains public keys, enabling secure verification that resists tampering through mathematical rather than mechanical security.
2Loss of energy
If a new license is required for each software version, then revenue is generated from each version sale, but users experience frustration when buying just before release
Solution Approach 1:
The patent implements dynamic licensing where a single license adapts to multiple software versions through the security domain's ability to verify different release dates. The license is not static but dynamically validated against the actual software release date, allowing users to upgrade versions without purchasing new licenses while still generating revenue through version-specific validation ranges.
Solution Approach 2:
The patent creates a universal license system where one license key can authorize multiple software versions within a specified release date range. The security domain provides multi-functional verification, checking whether the running software's release date falls within the licensed period, thereby making a single license serve multiple version authorization functions.
3Loss of energy
If time-limited licensing is implemented, then recurring revenue is generated, but users cannot run any software version after the time limit expires
Solution Approach 1:
The patent transforms static time-limited licensing into dynamic release-date-based licensing. Instead of fixing expiration dates, the system dynamically validates software release dates against the licensed range. This allows users to run current and future versions within the licensed period while maintaining recurring revenue through license renewal that updates the valid release date range.
Solution Approach 2:
The patent changes the licensing parameter from fixed time expiration to flexible release date ranges. The license specifies a range of acceptable release dates rather than a fixed end date, allowing the system to adapt to different software versions released within that period. This parameter change maintains revenue control while providing version flexibility.
Data Source
AI summary
Exemplary embodiments prevent tampering of a software release date associated with a software application by incorporating the software release date into a key exchange with a security domain. If the software release date is tampered with, then the key exchange results in the wrong key exchange key. Without the correct key exchange key, the software application will fail its check of the license, and the software application will no longer continue to run.


