Software aging method and apparatus for discouraging software piracy
First Claim
1. A method of discouraging unauthorized use of a software program, the method comprising the steps of:
- configuring the software program in accordance with a software aging process such that one or more files generated by the program are at least partially encrypted using a first cryptographic key associated with a current time interval for which the files are generated; and
providing periodic updates of the software program to a legitimate user of the software program, a given one of the periodic updates including at least a second cryptographic key associated with a time interval subsequent to the current time interval.
4 Assignments
0 Petitions
Accused Products
Abstract
A software program is configured in accordance with a software aging process such that one or more files generated by the program are at least partially encrypted using a cryptographic key associated with a current time interval for which the files are generated. The cryptographic key may be a symmetric key used for both encryption and decryption operations, such that cryptographic key used for encryption in a given interval is also required to decrypt files encrypted during that interval. Periodic updates of the software program are provided to a legitimate user of the software program, with a given one of the updates including a different cryptographic key associated with a subsequent time interval. The cryptographic key associated with a particular one of the time intervals may be common to each of a set of legitimate copies of the software program that have received the corresponding version of the periodic update. The variation of the cryptographic keys from one interval to another discourages unauthorized use of the software program by deliberately requiring both legitimate and illegitimate users to request unusually frequent updates, thereby substantially increasing the tracing and prosecution risks borne by software pirates.
-
Citations
15 Claims
-
1. A method of discouraging unauthorized use of a software program, the method comprising the steps of:
-
configuring the software program in accordance with a software aging process such that one or more files generated by the program are at least partially encrypted using a first cryptographic key associated with a current time interval for which the files are generated; and providing periodic updates of the software program to a legitimate user of the software program, a given one of the periodic updates including at least a second cryptographic key associated with a time interval subsequent to the current time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for discouraging unauthorized use of a software program, the apparatus comprising:
-
a memory for storing at least a portion of the software program; and a processor coupled to the memory and operative to execute at least a portion of the software program, wherein the software program is configured in accordance with a software aging process such that one or more files generated by the program are at least partially encrypted using a first cryptographic key associated with a current time interval for which the files are generated; wherein periodic updates of the software program are provided to a legitimate user of the software program, a given one of the periodic updates including at least a second cryptographic key associated with a time interval subsequent to the current time interval.
-
-
15. A machine-readable medium containing a software program, executable on a digital data processor comprising a processor and a memory, configured in accordance with a software aging process such that one or more files generated by the program are at least partially encrypted using a first cryptographic key associated with a current time interval for which the files are generated, wherein periodic updates of the software program are provided to a legitimate user of the software program, a given one of the periodic updates including at least a second cryptographic key associated with a time interval subsequent to the current time interval, such that the variation of cryptographic keys from one of the intervals to another of the intervals discourages unauthorized use of the software program.
Specification