Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
First Claim
1. A computer system comprising a copy protection mechanism for protecting software against unauthorized execution, the copy protection mechanism comprising challenge means associated with a protected item of software, and response means in which a customer'"'"'s private keying material is securely stored, wherein:
- (a) the challenge means has no access to the customer'"'"'s private keying material, and comprises means for generating a challenge and sending said challenge to the reponse means;
(b) the response means comprises means for signing said challenge using the customer'"'"'s private keying material and then returning the signed challenge to the challenge means, and(c) the challenge means comprises means for verifying said signed challenge, using the customer'"'"'s public keying material, and for preventing some or all of said item of software from being executed unless said verification is successful.
1 Assignment
0 Petitions
Accused Products
Abstract
A copy protection mechanism for protecting software against copying, consists of a challenge mechanism embedded in each protected item of software. The challenge mechanism has no access to the customer'"'"'s private keying material. In operation, the challenge mechanism sends a random challenge to the customer'"'"'s signature server. The signature server signs the challenge, using the customer'"'"'s private keying material and then returns the signed challenge to the challenge mechanism. The challenge mechanism then verifies the signed challenge, using the customer'"'"'s public keying material, and prohibits the customer from using some or all of the protected item of software unless the verification is successful. The mechanism permits every customer to receive an identical copy of the copy protected program with the embedded challenge mechanism.
98 Citations
25 Claims
-
1. A computer system comprising a copy protection mechanism for protecting software against unauthorized execution, the copy protection mechanism comprising challenge means associated with a protected item of software, and response means in which a customer'"'"'s private keying material is securely stored, wherein:
-
(a) the challenge means has no access to the customer'"'"'s private keying material, and comprises means for generating a challenge and sending said challenge to the reponse means; (b) the response means comprises means for signing said challenge using the customer'"'"'s private keying material and then returning the signed challenge to the challenge means, and (c) the challenge means comprises means for verifying said signed challenge, using the customer'"'"'s public keying material, and for preventing some or all of said item of software from being executed unless said verification is successful. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system comprising:
-
(a) means for inputting a program to be copy-protected, and for embedding a challenge means in that program; and (b) means for inputting a plurality of units of public keying material from a plurality of customers, and for generating, for each of said customers, a keyfile containing that customer'"'"'s public keying material; (c) wherein said challenge means comprises means for verifying signed information, using a customer'"'"'s public keying material held in the relevant keyfile, but without access to the customer'"'"'s private keying material, and for preventing some or all of said item of software from being executed unless said verification is successful. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
- 23. A computer system including a random number generator for generating random numbers by timing responses to disk accesses, wherein said random number generator is embedded in a program and runs in that program'"'"'s address space.
Specification