Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
133 words
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.
Claim 2
Dependent Claim
133 words
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.
Claim 3
Dependent Claim
18 words
A computer system according to claim 1 wherein said challenge means comprises means for issuing a random challenge.
Claim 4
Dependent Claim
29 words
A computer system according to claim 2 wherein said means for issuing a random challenge includes means for generating a random challenge by repeatedly timing responses to disk accesses.
Claim 5
Dependent Claim
45 words
A computer system according to claim 3 wherein said means for generating a random challenge includes means for forking new threads in such a manner as to introduce an additional degree of randomness into said random challenges by exploiting unpredictabilities in the operating system's scheduler.
Claim 6
Dependent Claim
56 words
A computer system according to claim 3 wherein said means for generating a random challenge includes means for performing a statistical test to determine the number of random bits obtained by each of said disk accesses, and means for causing said disk accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 7
Dependent Claim
19 words
A computer system according to claim 1 wherein said challenge means is embedded in said protected item of software.
Claim 8
Dependent Claim
20 words
A computer system according to claim 1 wherein the system includes a keyfile for holding the customer's public keying material.
Claim 9
Dependent Claim
42 words
A computer system according to claim 7 wherein the customer's public keying material held in said keyfile is digitally signed, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 10
Dependent Claim
40 words
A computer system according to claim 8 wherein said keyfile includes information identifying the customer to which the protected item of software has been supplied, to assist in identifying the source of pirate copies of the protected item of software.
Claim 11
Dependent Claim
22 words
A computer system according to claim 8 wherein the keyfile includes decoy bits for disguising the customer's public keying material held therein.
Claim 12
Dependent Claim
22 words
A computer system according to claim 8 wherein the keyfile includes information concerning selective activation of services of the copy protected program.
Claim 13
Dependent Claim
33 words
A computer system according to claim 1, including a plurality of protected items of software, each having its own challenge means, and a single response means, shared between all of said protected items.
Claim 14
Dependent Claim
39 words
A method of distributing software to a plurality of customers wherein each customer has a computer system according to claim 1, and wherein every customer receives an identical copy of said copy protected program and of said challenge means.
Claim 15
Dependent Claim
106 words
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.
Claim 16
Dependent Claim
106 words
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.
Claim 17
Dependent Claim
19 words
A computer system according to claim 14 wherein said challenge means further comprises means for issuing a random challenge.
Claim 18
Dependent Claim
29 words
A computer system according to claim 15 wherein said means for issuing a random challenge comprises means for generating a random challenge by repeatedly timing responses to disk accesses.
Claim 19
Dependent Claim
45 words
A computer system according to claim 16 wherein said means for generating a random challenge includes means for forking new threads in such a manner as to introduce an additional degree of randomness into said random challenges by exploiting unpredictabilities in the operating system's scheduler.
Claim 20
Dependent Claim
56 words
A computer system according to claim 16 wherein said means for generating a random challenge includes means for performing a statistical test to determine the number of random bits obtained by each of said disk accesses, and means for causing said disk accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 21
Dependent Claim
41 words
A system according to claim 14 wherein the customer's public keying material held in said keyfile is digitally signed, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 22
Dependent Claim
40 words
A computer system according to claim 19 wherein said keyfile includes information identifying the customer to which the protected item of software has been supplied, to assist in identifying the source of pirate copies of the protected item of software.
Claim 23
Dependent Claim
21 words
A system according to claim 19 wherein the keyfile includes decoy bits for disguising the customer's public keying material held therein.
Claim 24
Dependent Claim
22 words
A computer system according to claim 19 wherein the keyfile includes information concerning selective activation of services of the copy protected program.
Claim 25
Dependent Claim
35 words
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.
Claim 26
Dependent Claim
35 words
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.
Claim 27
Dependent Claim
41 words
A computer system according to claim 23 wherein random number generator includes means for forking new threads in such a manner as to introduce an additional degree of randomness into said random numbers by exploiting unpredictabilities in the operating system's scheduler.
Claim 28
Dependent Claim
48 words
A computer system according to claim 23, including means for performing a statistical test to determine the number of random bits obtained by each of said disk accesses, and means for causing said disk accesses to be repeated until a predetermined number of random bits has been obtained.