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.