Software pay per use system
First Claim
1. A system for the validation and use of secured computer software, said secured computer software including encrypted computer program code and user validation program code, said system comprising:
- a software validation system;
a software user system;
a communications network connected to the software validation system and the software user system for the transmission of data between the systems;
said software validation system comprising;
means for storing at least one decryption key,means for receiving from said software user system over said communications network an identification of secured software,means for recording the receipt of said identification of secured software, andmeans for transmitting to said software user system over said communications network a decryption key chosen from said at least one stored decryption key;
said software user system further comprising;
means for transmitting said secured software identification to the software validation system over said communications network,means for receiving said decryption key from said software validation system over said communications network,means for decrypting said encrypted computer program code using said chosen decryption key;
processor means for executing said decrypted computer program code; and
means for preventing the decryption of said encrypted computer program code and execution of said decrypted computer program code unless said secured software identification is transmitted to the validation system over the communications network prior to each and every execution of said decrypted computer program code.
6 Assignments
0 Petitions
Accused Products
Abstract
A pay per use system for of the unauthorized use of computer software. An encryption program encodes original software to produce secured software. The encoding is accomplished by using cryptographic techniques. In order to use the software, a user must call a telephone number to receive the cryptographic keys necessary to decrypt the secured software. Thus, users must pay for each use of the secured software. The system allows software developers to freely distribute the secured software. Copies of the secured software may be freely made, because payment is based on each use of the software not on each copy of the software.
-
Citations
25 Claims
-
1. A system for the validation and use of secured computer software, said secured computer software including encrypted computer program code and user validation program code, said system comprising:
-
a software validation system; a software user system; a communications network connected to the software validation system and the software user system for the transmission of data between the systems; said software validation system comprising; means for storing at least one decryption key, means for receiving from said software user system over said communications network an identification of secured software, means for recording the receipt of said identification of secured software, and means for transmitting to said software user system over said communications network a decryption key chosen from said at least one stored decryption key; said software user system further comprising; means for transmitting said secured software identification to the software validation system over said communications network, means for receiving said decryption key from said software validation system over said communications network, means for decrypting said encrypted computer program code using said chosen decryption key; processor means for executing said decrypted computer program code; and means for preventing the decryption of said encrypted computer program code and execution of said decrypted computer program code unless said secured software identification is transmitted to the validation system over the communications network prior to each and every execution of said decrypted computer program code. - View Dependent Claims (2)
-
-
3. An end user computer system for the controlled use of secured software, the system comprising:
-
secured software including encrypted user program code and user validation code; means for transmitting to a software validation system an identification of the secured software; means for receiving a decryption key from the software validation system; means for decrypting said encrypted user program code with said decryption key; processor means for executing said decrypted user program code; and wherein said user validation code comprises enforcement means for preventing the deception and execution of said encrypted user program code unless said identification of the secured software is transmitted to said software validation system and said decryption key is received from the software validation system prior to each and every attempted use of the secured software. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. An end user computer system for the controlled execution of secured software, the system comprising:
-
secured software including encrypted user program code and user validation code; means for transmitting to a software validation system an identification of the secured software; means for generating a first random number; means for receiving from said software validation system a second random number; means for combining said first and second random number to produce a third random number; means for receiving from said software validation system a masked decryption key; means for unmasking said masked decryption key with said third random number; means for decrypting said encrypted user program code with said decryption key; processor means for executing said decrypted user program code; and wherein said user validation code comprises enforcement means for preventing the decryption and execution of said user program code unless said identification of the secured software is transmitted to said software validation system prior to each and every attempted use of said secured software. - View Dependent Claims (10, 11, 12)
-
-
13. A method for the operation of a software validation computer system and an end user computer system for the validation and use of secured software, said secured software including encrypted user program code and user validation code, said method comprising the steps of:
-
transmitting secured software identification from the end user computer system to the software validation computer system prior to each and every use of the secured software; transmitting a decryption key from said software validation computer system to said end user computer system prior to each and every use of the secured software; decrypting said encrypted user program code with said decryption key in said end user computer system; executing said decrypted user program code in said end user computer system; and preventing the decryption of said encrypted user program code unless said step of transmitting secured software identification has occurred.
-
-
14. A method for the operation of an end user computer system for the controlled use of secured software, said secured software including encrypted user program code and user validation program code, the method comprising the steps of:
-
transmitting an identification of secured software to a software validation system; receiving a decryption key from the software validation system; decrypting said encrypted user program code with said decryption key; executing said decrypted user program code; and preventing the unauthorized decryption and execution of said encrypted user program code if said identification of secured software is not transmitted to said software validation system prior to each and every execution of said user program code. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for the controlled execution of secured software in a computer system, said secured software including encrypted user program code and user validation code, the method comprising the steps of:
-
transmitting a software identification identifying the secured software to a software validation system; generating a first random number; receiving a second random number from the software validation system; combining said first and second random number to produce a third random number; receiving a masked decryption key from the software validation system; unmasking said masked decryption key with said third random number; decrypting said encrypted user program code with said decryption key; executing the decrypted user program code; and preventing the unauthorized decryption and execution of said encrypted user program code if said identification identifying the secured software is not transmitted to said software validation system prior to each and every attempted execution of said user program code. - View Dependent Claims (20, 21, 22)
-
-
23. A storage medium for storing data accessible by a computer system during a usage session, said storage medium comprising:
-
a first storage area for the storage of encrypted data; a second storage area for the storage of a validation program, said validation program comprising computer program instructions for execution on said computer system, said computer program instructions comprising; a first set of instructions for transmitting an identification of said encrypted data to a validation system; a second set of instruction, for decrypting said encrypted data with a decryption key received from said validation system and for producing unencrypted data accessible by said computer system during said usage session; and a third set of instructions for preventing the execution of said second set of instructions during a usage session if said first set of instructions has not been executed prior to said usage session. - View Dependent Claims (24, 25)
-
Specification