← Back to Patent Explorer
US6047242A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer system for protecting software and a method for protecting software

Assignee: Fujitsu Technology Solutions GmbH
•
Filing: 1997-09-24
•
Granted: 2000-04-04
•
Expires: 2017-09-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for protecting an item of software, wherein at least one first challenge means is associated with said protected item of software, and at least one first response means accesses one private keying material. At least a third means (either challenge or response also exists). The first challenge means has no access to the said private keying material. The first response means proves to the first challenge means that the first response means has access to the private keying material. The first challenge means validates this proof using the public keying material that corresponds to the first response means' private keying material.

Inventors

  • 👤 Glenn Benson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 16:09
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06Q; G06Q20/00; G06Q20/38; G06Q20/382; G06Q20/3821; G06Q40/00; H; H04; H04L; H04L9/00; H04L9/32; H04L9/3218; H04L9/3271; G06F2221/00; G06F2221/21; G06F2221/2103; H04L2209/00; H04L2209/56; H04L2209/60; H04L2209/605

Claims Analysis

Total Claims: 160
Claim 1
Independent Claim 137 words
A computer system, comprising: a protection mechanism for protecting software, the protection mechanism including a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with said challenge means, and a second response means being able to communicate with said challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful.
Claim 2
Dependent Claim 137 words
A computer system, comprising: a protection mechanism for protecting software, the protection mechanism including a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with said challenge means, and a second response means being able to communicate with said challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful.
Claim 3
Dependent Claim 27 words
A computer system according to claim 1, wherein said first response means and said second response means access private keying material held on a same storage device.
Claim 4
Dependent Claim 189 words
A computer system, comprising: a protection mechanism for protecting software, the protection mechanism including a first challenge means associated with a protected item of software, a second challenge means, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the first challenge means, and a second response means having access to secret keying material being able to communicate with the second challenge means, wherein a) said first challenge means has no access to the private keying material accessed by said first response means, b) said first challenge means validates an asymmetric proof of said first response means that said first response means has access to said private keying material without requiring that said first response means disclose said private keying material, c) said second challenge means validates a proof of said second response means that said second response means has access to said secret keying material, d) one of said first challenge means and said second challenge means prohibit using the software at least in an unlimited mode unless at least one of the said validations is successful.
Claim 5
Dependent Claim 189 words
A computer system, comprising: a protection mechanism for protecting software, the protection mechanism including a first challenge means associated with a protected item of software, a second challenge means, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the first challenge means, and a second response means having access to secret keying material being able to communicate with the second challenge means, wherein a) said first challenge means has no access to the private keying material accessed by said first response means, b) said first challenge means validates an asymmetric proof of said first response means that said first response means has access to said private keying material without requiring that said first response means disclose said private keying material, c) said second challenge means validates a proof of said second response means that said second response means has access to said secret keying material, d) one of said first challenge means and said second challenge means prohibit using the software at least in an unlimited mode unless at least one of the said validations is successful.
Claim 6
Dependent Claim 141 words
A computer system, comprising: means for inputting a program to be protected and for embedding including at least a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the challenge means, and a second response means being able to communicate with the challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful.
Claim 7
Dependent Claim 141 words
A computer system, comprising: means for inputting a program to be protected and for embedding including at least a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the challenge means, and a second response means being able to communicate with the challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful.
Claim 8
Dependent Claim 193 words
A computer system, comprising: means for inputting a program to be protected and for embedding including a first challenge means associated with a protected item of software, a second challenge means, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the first challenge means, and a second response means having access to secret keying material being able to communicate with the second challenge means, wherein a) said first challenge means has no access to the private keying material accessed by said first response means, b) said first challenge means validates an asymmetric proof of said first response means that said first response means has access to said private keying material without requiring that said first response means disclose said private keying material, c) said second challenge means validates a proof of said second response means that said second response means has access to said secret keying material, d) at least one of said first challenge means and said second challenge means prohibit using the software at least in an unlimited mode unless at least one of the said validations is successful.
Claim 9
Dependent Claim 193 words
A computer system, comprising: means for inputting a program to be protected and for embedding including a first challenge means associated with a protected item of software, a second challenge means, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with the first challenge means, and a second response means having access to secret keying material being able to communicate with the second challenge means, wherein a) said first challenge means has no access to the private keying material accessed by said first response means, b) said first challenge means validates an asymmetric proof of said first response means that said first response means has access to said private keying material without requiring that said first response means disclose said private keying material, c) said second challenge means validates a proof of said second response means that said second response means has access to said secret keying material, d) at least one of said first challenge means and said second challenge means prohibit using the software at least in an unlimited mode unless at least one of the said validations is successful.
Claim 10
Dependent Claim 22 words
A computer system according to claim 3, wherein the secret keying material is private keying material of a second asymmetric key pair.
Claim 11
Dependent Claim 25 words
A computer system according to claim 3, wherein the secret keying material of said second response means is keying material of a symmetric key pair.
Claim 12
Dependent Claim 32 words
A computer system according to claim 1, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists chosen-plaintext attacks.
Claim 13
Dependent Claim 33 words
A computer system according to claim 1, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists adaptive chosen-plaintext attacks.
Claim 14
Dependent Claim 29 words
A computer system according to claim 1, wherein said first response means accesses a first private keying material, and said second response means access a second private keying material.
Claim 15
Dependent Claim 23 words
A computer system according to claim 1, wherein a same private keying material is accessed by both said first and second response means.
Claim 16
Dependent Claim 23 words
A computer system according to claim 1, wherein a license server's private key, respectively, is accessed in the first and second response means.
Claim 17
Dependent Claim 31 words
A computer system according to claim 1, wherein said means for validating uses at least one proof selected form the following types of proofs: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 18
Dependent Claim 19 words
A computer system according to claim 13, wherein said proof is said asymmetric confidentiality scheme which is the Blum-Goldwasserscheme.
Claim 19
Dependent Claim 22 words
A computer system according to claim 13, wherein said proof is said probabilistic proof scheme which is a zero knowledge proof scheme.
Claim 20
Dependent Claim 22 words
A computer system according to claim 13, wherein said proof is said probabilistic proof scheme which is a witness hiding proof scheme.
Claim 21
Dependent Claim 28 words
A computer system according to claim 3, wherein one of said first challenge means and said second challenge means includes means for issuing a random challenge as information.
Claim 22
Dependent Claim 29 words
A computer system according to claim 17, wherein said means for issuing a random challenge includes means for generating a random challenge by repeatedly timing responses to device accesses.
Claim 23
Dependent Claim 45 words
A computer system according to claim 18, 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 challenge by exploiting unpredictabilities in an operating system's scheduler.
Claim 24
Dependent Claim 55 words
A computer system according to claim 18, wherein said means for generating a random challenge includes: means for performing a statistical test to determine a number of random bits obtained by each of said device accesses, and means for causing device accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 25
Dependent Claim 19 words
A computer system according to claim 1, wherein said challenge means is embedded in said protected item of software.
Claim 26
Dependent Claim 19 words
A computer system according to claim 1, wherein said challenge means uses public keying material for validating a proof.
Claim 27
Dependent Claim 19 words
A computer system according to claim 22, wherein the system includes a keyfile for holding the public keying material.
Claim 28
Dependent Claim 41 words
A computer system according to claim 23, wherein the public keying material held in said keyfile is cryptographically secured, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 29
Dependent Claim 22 words
A computer system according to claim 24, wherein said keyfile includes information identifying a customer to which the software has been supplied.
Claim 30
Dependent Claim 21 words
A computer system according to claim 24, wherein said keyfile includes decoy bits for disguising the public keying material held therein.
Claim 31
Dependent Claim 31 words
A computer system according to claim 24, wherein at least one of said keyfile and the challenge means and the software includes information concerning selective activation of services of the software.
Claim 32
Dependent Claim 27 words
A computer system according to claim 27, wherein the challenge means validates the response means to at least partially determine whether a particular facility of the software.
Claim 33
Dependent Claim 36 words
A computer system according to claim 1, wherein said software includes 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 34
Dependent Claim 33 words
A computer system according to claim 1, further comprising: at least one root certificate used for validating descendant certificates, the descendant certificates including at least a public keying material for said response means.
Claim 35
Dependent Claim 32 words
A computer system according to claim 30, wherein said at least one root certificate is two root certificates, one of said root certificates for each of said first and second response means.
Claim 36
Dependent Claim 23 words
A computer system according to claim 1, wherein said protection mechanism provides one of copy protection for the software and for licensing software.
Claim 37
Independent Claim 171 words
A method of distributing software to a plurality of customers, comprising the steps of: providing each customer with a computer system with a protection mechanism for protecting software, the protection mechanism including a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with said challenge means, and a second response means being able to communicate with said challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful, and providing every customer with an identical copy of said software and of said challenge means.
Claim 38
Independent Claim 171 words
A method of distributing software to a plurality of customers, comprising the steps of: providing each customer with a computer system with a protection mechanism for protecting software, the protection mechanism including a challenge means associated with a protected item of software, a first response means having access to private keying material of an asymmetric key pair and being able to communicate with said challenge means, and a second response means being able to communicate with said challenge means, wherein a) said challenge means has no access to the private keying material accessed by said first response means, b) said challenge means has means for validating an asymmetric proof of said first response means and a proof of said second response means without requiring that said first response means disclose its private keying material, respectively, c) said challenge means has means for prohibiting a protected program from executing unless at least one validation is successful, and providing every customer with an identical copy of said software and of said challenge means.
Claim 39
Independent Claim 148 words
A method for protecting an item of software, comprising the steps of: providing a protection mechanism for protecting the software, associating a challenge means with a protected item of the software, accessing by a first response means to private keying material of an asymmetric key pair and being able to communicate with the challenge means, and communicating by a second response means with the challenge means, wherein a) said challenge means having no access to the private keying material accessed by said first response means and said second response means, respectively, b) validating by said challenge means an asymmetric proof of the said first response means and a proof of the said second response means without requiring that said first response means disclose its private keying material, respectively, c) prohibiting a protected program from executing by said challenge means unless at least one of the validations is successful.
Claim 40
Independent Claim 148 words
A method for protecting an item of software, comprising the steps of: providing a protection mechanism for protecting the software, associating a challenge means with a protected item of the software, accessing by a first response means to private keying material of an asymmetric key pair and being able to communicate with the challenge means, and communicating by a second response means with the challenge means, wherein a) said challenge means having no access to the private keying material accessed by said first response means and said second response means, respectively, b) validating by said challenge means an asymmetric proof of the said first response means and a proof of the said second response means without requiring that said first response means disclose its private keying material, respectively, c) prohibiting a protected program from executing by said challenge means unless at least one of the validations is successful.
Claim 41
Dependent Claim 32 words
A method according to claim 34, further comprising the step of: accessing private keying material held on a same storage device by said first response means and the said second response means.
Claim 42
Independent Claim 205 words
A method for protecting an item of software, comprising the steps of: providing a protection mechanism for protecting software, including: providing a first challenge means associated with a protected item of software and providing a second challenge means, accessing private keying material of an asymmetric key pair with a first response means and being able to communicate with the first challenge means, and accessing a second response means having access to secret keying material and being able to communicate with the second challenge means, wherein a) the said first challenge means has no access to the private keying material accessed by said first response means, b) validating an asymmetric proof of the said first response means that the said first response means has access to said private keying material by said first challenge means validates without requiring that said first response means disclose said private keying material, c) validating a proof of said second response means that said second response means has access to said secret keying material by said second challenge means, d) prohibiting using the software at least in an unlimited mode by one of said first challenge means and said second challenge means unless at least one of said validations is successful.
Claim 43
Independent Claim 205 words
A method for protecting an item of software, comprising the steps of: providing a protection mechanism for protecting software, including: providing a first challenge means associated with a protected item of software and providing a second challenge means, accessing private keying material of an asymmetric key pair with a first response means and being able to communicate with the first challenge means, and accessing a second response means having access to secret keying material and being able to communicate with the second challenge means, wherein a) the said first challenge means has no access to the private keying material accessed by said first response means, b) validating an asymmetric proof of the said first response means that the said first response means has access to said private keying material by said first challenge means validates without requiring that said first response means disclose said private keying material, c) validating a proof of said second response means that said second response means has access to said secret keying material by said second challenge means, d) prohibiting using the software at least in an unlimited mode by one of said first challenge means and said second challenge means unless at least one of said validations is successful.
Claim 44
Dependent Claim 21 words
A method according to claim 34, wherein the secret keying material is private keying material of a second asymmetric key pair.
Claim 45
Dependent Claim 19 words
A method according to claim 34, wherein the secret keying material is keying material of a symmetric key pair.
Claim 46
Dependent Claim 33 words
A method according to claim 34, further comprising the step of: interacting via a protocol that resists chosen-plaintext attacks by a storage system that holds at least some of the private keying material.
Claim 47
Dependent Claim 34 words
A method according to claim 34, further comprising the step of: interacting via a protocol that resists adaptive chosen-plaintext attacks by a storage system that holds at least some of the private keying material.
Claim 48
Dependent Claim 34 words
A method according to claim 34, further comprising the steps of: accessing a first private keying material by the first response means, and accessing a second private keying material by the second response means.
Claim 49
Dependent Claim 35 words
A method according to claim 34, wherein at least said second challenge means has no access to and no knowledge about the private keying material stored in any of the at least two response means.
Claim 50
Dependent Claim 26 words
A method according to claim 34, further comprising the steps of: securely storing in the at least two response means a license server's private key, respectively.
Claim 51
Dependent Claim 26 words
A method according to claim 34, further comprising the steps of: marking the information using at least one of: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 52
Dependent Claim 21 words
A method according to claim 44, wherein said information is marked using the asymmetric confidentiality scheme which is the Blum-Goldwasser scheme.
Claim 53
Dependent Claim 23 words
A method according to claim 44, wherein said information is marked using said probabilistic proof scheme which is a zero knowledge proof scheme.
Claim 54
Dependent Claim 23 words
A method according to claim 44, wherein said information is marked using said probabilistic proof scheme which is a witness hiding proof scheme.
Claim 55
Independent Claim 27 words
A method according to claims 34, wherein said challenge means includes means for issuing a random challenge, and further comprising the step of: issuing said random challenge.
Claim 56
Dependent Claim 25 words
A method according to claim 48, wherein said means for issuing a random challenge generates a random challenge by repeatedly timing responses to disk accesses.
Claim 57
Dependent Claim 41 words
A method according to claim 49, wherein said means for generating a random challenge forks new threads in such a manner as to introduce an additional degree of randomness into said random challenge by exploiting unpredictabilities in the operating system's scheduler.
Claim 58
Dependent Claim 49 words
A method according to claim 49, wherein said means for generating a random challenge performs a statistical test to determine a number of random bits obtained by each of said disk accesses, and causes disk accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 59
Dependent Claim 21 words
A method according to claim 34, further comprising the step of: embedding said challenge means in said protected item of software.
Claim 60
Dependent Claim 24 words
A method according to claim 34, further comprising the step of: using first public keying material for encrypting the information by said challenge means.
Claim 61
Dependent Claim 19 words
A method according to claim 34, further comprising the step of: holding first public keying material in a keyfile.
Claim 62
Dependent Claim 45 words
A method according to claim 54, further comprising the step of: cryptographically securing the first public keying material held in said keyfile, whereby it is computationally infeasible to alter any portion of the keyfile, including the first public keying material, without altering the challenge means.
Claim 63
Dependent Claim 24 words
A method according to claim 55, wherein said keyfile includes information identifying a customer to which the protected item of software has been supplied.
Claim 64
Dependent Claim 24 words
A method according to claim 55, further comprising the step of: including decoy bits for disguising the first public keying material in said keyfile.
Claim 65
Dependent Claim 27 words
A method according to claim 55, further comprising the step of: including information concerning selective activation of services of the protected item of software in said keyfile.
Claim 66
Dependent Claim 45 words
A method according to claim 34, further comprising the step of: using at least two root certificates, one for each response means, respectively, for validating descendant certificates, the at least two root certificates including at least a public keying material for each response means, respectively.
Claim 67
Dependent Claim 26 words
A method according to claim 34, further comprising the step of: using said system for at least one of copy protecting software and for licensing software.
Claim 68
Dependent Claim 22 words
A computer system according to claim 5, wherein the secret keying material is private keying material of a second asymmetric key pair.
Claim 69
Dependent Claim 25 words
A computer system according to claim 5, wherein the secret keying material of said second response means is keying material of a symmetric key pair.
Claim 70
Dependent Claim 32 words
A computer system according to claim 3, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists chosen-plaintext attacks.
Claim 71
Dependent Claim 32 words
A computer system according to claim 4, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists chosen-plaintext attacks.
Claim 72
Dependent Claim 32 words
A computer system according to claim 5, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists chosen-plaintext attacks.
Claim 73
Dependent Claim 33 words
A computer system according to claim 3, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists adaptive chosen-plaintext attacks.
Claim 74
Dependent Claim 33 words
A computer system according to claim 4, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists adaptive chosen-plaintext attacks.
Claim 75
Dependent Claim 33 words
A computer system according to claim 5, further comprising: a storage system that holds at least some of the private keying material and that interacts via a protocol that resists adaptive chosen-plaintext attacks.
Claim 76
Dependent Claim 29 words
A computer system according to claim 3, wherein the first response means accesses a first private keying material, and the second response means accesses a second private keying material.
Claim 77
Dependent Claim 29 words
A computer system according to claim 4, wherein the first response means accesses a first private keying material, and the second response means accesses a second private keying material.
Claim 78
Dependent Claim 29 words
A computer system according to claim 5, wherein the first response means accesses a first private keying material, and the second response means accesses a second private keying material.
Claim 79
Dependent Claim 23 words
A computer system according to claim 3, wherein a same private keying material is accessed by both said first and second response means.
Claim 80
Dependent Claim 23 words
A computer system according to claim 4, wherein a same private keying material is accessed by both said first and second response means.
Claim 81
Dependent Claim 23 words
A computer system according to claim 5, wherein a same private keying material is accessed by both said first and second response means.
Claim 82
Dependent Claim 22 words
A computer system according to claim 3, wherein a license server's private key is accessed in the first and second response means.
Claim 83
Dependent Claim 22 words
A computer system according to claim 4, wherein a license server's private key is accessed in the first and second response means.
Claim 84
Dependent Claim 22 words
A computer system according to claim 5, wherein a license server's private key is accessed in the first and second response means.
Claim 85
Dependent Claim 31 words
A computer system according to claim 3, wherein said means for validating uses at least one proof selected form the following types of proofs: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 86
Dependent Claim 20 words
A computer system according to claim 78, wherein said proof is said asymmetric confidentiality scheme which is the Blum-Goldwasser scheme.
Claim 87
Dependent Claim 22 words
A computer system according to claim 78, wherein said proof is said probabilistic proof scheme which is a zero knowledge proof scheme.
Claim 88
Dependent Claim 22 words
A computer system according to claim 78, wherein said proof is said probabilistic proof scheme which is a witness hiding proof scheme.
Claim 89
Dependent Claim 31 words
A computer system according to claim 4, wherein said means for validating uses at least one proof selected form the following types of proofs: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 90
Dependent Claim 20 words
A computer system according to claim 82, wherein said proof is said asymmetric confidentiality scheme which is the Blum-Goldwasser scheme.
Claim 91
Dependent Claim 22 words
A computer system according to claim 82, wherein said proof is said probabilistic proof scheme which is a zero knowledge proof scheme.
Claim 92
Dependent Claim 22 words
A computer system according to claim 82, wherein said proof is said probabilistic proof scheme which is a witness hiding proof scheme.
Claim 93
Dependent Claim 31 words
A computer system according to claim 5, wherein said means for validating uses at least one proof selected form the following types of proofs: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 94
Dependent Claim 20 words
A computer system according to claim 86, wherein said proof is said asymmetric confidentiality scheme which is the Blum-Goldwasser scheme.
Claim 95
Dependent Claim 22 words
A computer system according to claim 86, wherein said proof is said probabilistic proof scheme which is a zero knowledge proof scheme.
Claim 96
Dependent Claim 22 words
A computer system according to claim 86, wherein said proof is said probabilistic proof scheme which is a witness hiding proof scheme.
Claim 97
Dependent Claim 28 words
A computer system according to claim 5, wherein one of said first challenge means and said second challenge means includes means for issuing a random challenge as information.
Claim 98
Dependent Claim 29 words
A computer system according to claim 90, wherein said means for issuing a random challenge includes means for generating a random challenge by repeatedly timing responses to device accesses.
Claim 99
Dependent Claim 45 words
A computer system according to claim 90, 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 challenge by exploiting unpredictabilities in an operating system's scheduler.
Claim 100
Dependent Claim 55 words
A computer system according to claim 90, 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 device accesses, and means for causing device accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 101
Dependent Claim 19 words
A computer system according to claim 3, wherein said challenge means is embedded in said protected item of software.
Claim 102
Dependent Claim 19 words
A computer system according to claim 4, wherein said challenge means is embedded in said protected item of software.
Claim 103
Dependent Claim 19 words
A computer system according to claim 5, wherein said challenge means is embedded in said protected item of software.
Claim 104
Dependent Claim 20 words
A computer system according to claim 3, wherein said challenge means uses first public keying material for validating a proof.
Claim 105
Dependent Claim 20 words
A computer system according to claim 4, wherein said challenge means uses first public keying material for validating a proof.
Claim 106
Dependent Claim 20 words
A computer system according to claim 5, wherein said challenge means uses first public keying material for validating a proof.
Claim 107
Dependent Claim 19 words
A computer system according to claim 3, wherein the system includes a keyfile for holding first public keying material.
Claim 108
Dependent Claim 41 words
A computer system according to claim 100, wherein the public keying material held in said keyfile is cryptographically secured, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 109
Dependent Claim 22 words
A computer system according to claim 101, wherein said keyfile includes information identifying a customer to which the software has been supplied.
Claim 110
Dependent Claim 21 words
A computer system according to claim 101, wherein said keyfile includes decoy bits for disguising the public keying material held therein.
Claim 111
Dependent Claim 31 words
A computer system according to claim 101, wherein at least one of said keyfile and the challenge means and the software includes information concerning selective activation of services of the software.
Claim 112
Dependent Claim 27 words
A computer system according to claim 104, wherein the challenge means validates the response means to at least partially determine whether a particular facility of the software.
Claim 113
Dependent Claim 19 words
A computer system according to claim 4, wherein the system includes a keyfile for holding first public keying material.
Claim 114
Dependent Claim 41 words
A computer system according to claim 106, wherein the public keying material held in said keyfile is cryptographically secured, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 115
Dependent Claim 22 words
A computer system according to claim 107, wherein said keyfile includes information identifying a customer to which the software has been supplied.
Claim 116
Dependent Claim 21 words
A computer system according to claim 107, wherein said keyfile includes decoy bits for disguising the public keying material held therein.
Claim 117
Dependent Claim 31 words
A computer system according to claim 107, wherein at least one of said keyfile and the challenge means and the software includes information concerning selective activation of services of the software.
Claim 118
Dependent Claim 27 words
A computer system according to claim 110, wherein the challenge means validates the response means to at least partially determine whether a particular facility of the software.
Claim 119
Dependent Claim 19 words
A computer system according to claim 5, wherein the system includes a keyfile for holding first public keying material.
Claim 120
Dependent Claim 41 words
A computer system according to claim 112, wherein the public keying material held in said keyfile is cryptographically secured, whereby it is computationally infeasible to alter any portion of the keyfile, including the public keying material, without altering the challenge means.
Claim 121
Dependent Claim 22 words
A computer system according to claim 113, wherein said keyfile includes information identifying a customer to which the software has been supplied.
Claim 122
Dependent Claim 21 words
A computer system according to claim 113, wherein said keyfile includes decoy bits for disguising the public keying material held therein.
Claim 123
Dependent Claim 31 words
A computer system according to claim 113, wherein at least one of said keyfile and the challenge means and the software includes information concerning selective activation of services of the software.
Claim 124
Dependent Claim 27 words
A computer system according to claim 116, wherein the challenge means validates the response means to at least partially determine whether a particular facility of the software.
Claim 125
Dependent Claim 34 words
A computer system according to claim 3, further comprising: 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 126
Dependent Claim 34 words
A computer system according to claim 4, further comprising: 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 127
Dependent Claim 34 words
A computer system according to claim 5, further comprising: 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 128
Dependent Claim 31 words
A computer system according to claim 3, further comprising: at least one root certificate used for validating descendant certificates, the certificates comprising at least a public keying material for response means.
Claim 129
Dependent Claim 34 words
A computer system according to claim 121, wherein said at least one root certificate is at least two root certificates, one of said root certificates for each of said first and second response means.
Claim 130
Dependent Claim 31 words
A computer system according to claim 4, further comprising: at least one root certificate used for validating descendant certificates, the certificates comprising at least a public keying material for response means.
Claim 131
Dependent Claim 34 words
A computer system according to claim 123, wherein said at least one root certificate is at least two root certificates, one of said root certificates for each of said first and second response means.
Claim 132
Dependent Claim 31 words
A computer system according to claim 5, further comprising: at least one root certificate used for validating descendant certificates, the certificates comprising at least a public keying material for response means.
Claim 133
Dependent Claim 34 words
A computer system according to claim 125, wherein said at least one root certificate is at least two root certificates, one of said root certificates for each of said first and second response means.
Claim 134
Dependent Claim 23 words
A computer system according to claim 3, wherein said protection mechanism is used for one of copy protecting software and for licensing software.
Claim 135
Dependent Claim 23 words
A computer system according to claim 4, wherein said protection mechanism is used for one of copy protecting software and for licensing software.
Claim 136
Dependent Claim 23 words
A computer system according to claim 5, wherein said protection mechanism is used for one of copy protecting software and for licensing software.
Claim 137
Dependent Claim 21 words
A method according to claim 36, wherein the secret keying material is private keying material of a second asymmetric key pair.
Claim 138
Dependent Claim 19 words
A method according to claim 36, wherein the secret keying material is keying material of a symmetric key pair.
Claim 139
Dependent Claim 33 words
A method according to claim 36, further comprising the step of: interacting via a protocol that resists chosen-plaintext attacks by a storage system that holds at least some of the private keying material.
Claim 140
Dependent Claim 34 words
A method according to claim 36, further comprising the step of: interacting via a protocol that resists adaptive chosen-plaintext attacks by a storage system that holds at least some of the private keying material.
Claim 141
Dependent Claim 34 words
A method according to claim 36, further comprising the steps of: accessing a first private keying material by the first response means, and accessing a second private keying material by the second response means.
Claim 142
Dependent Claim 35 words
A method according to claim 36, wherein in at least second challenge means has no access to and no knowledge about the private keying material stored in any of the at least two response means.
Claim 143
Dependent Claim 26 words
A method according to claim 36, further comprising the steps of: securely storing in the at least two response means a license server's private key, respectively.
Claim 144
Dependent Claim 26 words
A method according to claim 36, further comprising the steps of: marking the information using at least one of: digital signature, asymmetric confidentiality, and probabilistic proof.
Claim 145
Dependent Claim 17 words
A method according to claim 135, wherein said asymmetric confidentiality is used which is the Blum-Goldwasser scheme.
Claim 146
Dependent Claim 19 words
A method according to claim 135, wherein said probabilistic proof is used which is a zero knowledge proof scheme.
Claim 147
Dependent Claim 19 words
A method according to claim 135, wherein said probabilistic proof is used which is a witness hiding proof scheme.
Claim 148
Dependent Claim 27 words
A method according to claim 36, wherein said challenge means includes means for issuing a random challenge, and further comprising the step of: issuing said random challenge.
Claim 149
Dependent Claim 25 words
A method according to claim 139, wherein said means for issuing a random challenge generates a random challenge by repeatedly timing responses to disk accesses.
Claim 150
Dependent Claim 41 words
A method according to claim 139, wherein said means for generating a random challenge forks new threads in such a manner as to introduce an additional degree of randomness into said random challenge by exploiting unpredictabilities in the operating system's scheduler.
Claim 151
Dependent Claim 51 words
A method according to claim 139, wherein said means for generating a random challenge performs a statistical test to determine the number of random bits obtained by each of said disk accesses, and means for causing disk accesses to be repeated until a predetermined number of random bits has been obtained.
Claim 152
Dependent Claim 21 words
A method according to claim 36, further comprising the step of: embedding said challenge means in said protected item of software.
Claim 153
Dependent Claim 25 words
A method according to claim 36, further comprising the step of: using the first public keying material for encrypting the information by said challenge means.
Claim 154
Dependent Claim 21 words
A method according to claim 36, further comprising the step of: providing a keyfile for holding the first public keying material.
Claim 155
Dependent Claim 45 words
A method according to claim 145, further comprising the step of: cryptographically securing the first public keying material held in said keyfile, whereby it is computationally infeasible to alter any portion of the keyfile, including the first public keying material, without altering the challenge means.
Claim 156
Dependent Claim 24 words
A method according to claim 146, wherein said keyfile includes information identifying the customer to which the protected item of software has been supplied.
Claim 157
Dependent Claim 21 words
A method according to claim 146, wherein said keyfile includes decoy bits for disguising the first public keying material held therein.
Claim 158
Dependent Claim 22 words
A method according to claim 146, wherein said keyfile includes information concerning selective activation of services of the protected item of software.
Claim 159
Dependent Claim 45 words
A method according to claim 36, further comprising the step of: using at least two root certificates, one for each response means, respectively, for validating descendant certificates, the at least two root certificates including at least a public keying material for each response means, respectively.
Claim 160
Dependent Claim 26 words
A method according to claim 36, further comprising the step of: using said system for at least one of copy protecting software and for licensing software.

References Cited (Backward Citations)

US5940516A Cited
US5923763A Cited
US5935246A Cited
US5937066A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-04-04 2003-10-04 2004-04-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-04-04 2007-10-04 2008-04-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-04-04 2011-10-04 2012-04-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag