Patent US5935246A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5935246A Expired / Lapsed US ⏱️ 0.0 years remaining

Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software

Assignee: Fujitsu Services Ltd
•
Filing: 1997-04-11
•
Granted: 1999-08-10
•
Expires: 2017-04-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Glenn Stuart Benson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 14:37
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F21/101; G06F21/1011; G06F2211/00; G06F2211/007; G06F2211/008; G06F2221/00; G06F2221/21; G06F2221/2103

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.

References Cited (Backward Citations)

US4558176A Cited
US4926480A Cited
US5109413A Cited
US5146575A Cited
WO1988005941A1 Cited
US4947430A Cited
US5224163A Cited
US5315657A Cited
US5436972A Cited
US5371794A Cited
US5724425A Cited
US5568552A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-09 2003-02-08 2003-08-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-09 2007-02-08 2007-08-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-09 2011-02-08 2011-08-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag