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

Method and apparatus for authenticating the use of software

Assignee: Nvidia Corp
•
Filing: 1995-05-08
•
Granted: 1997-07-29
•
Expires: 2015-05-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A hardware encoding circuit which generates a code value unique to a particular computer, stores a password unique to an application program and to the particular computer, tests the stored password against a verification value generated by the hardware encoding program each time the application program is run, and generates an error signal if the stored password and the verification value do not match.

Inventors

  • 👤 Curtis Priem
  • 👤 David S. H. Rosenthal

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 11:43
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F21/12; G06F21/121; G06F21/123; G06F2211/00; G06F2211/007

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 139 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized comprising a circuit within a computer for providing a code value which is unique to the computer, the circuit being a part of the computer and a separate circuit from any central processor and being joined to receive signals on an input/output bus, means deriving a password from a database of code values and passwords which enable the use of an application program on a computer, means storing a password from the database in the computer, means for generating a verification value whenever the application program is run, and means for testing the password stored in the computer and the verification value, and means for degrading the operation of the computer if the password and the verification value do not match.
Claim 2
Independent Claim 139 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized comprising a circuit within a computer for providing a code value which is unique to the computer, the circuit being a part of the computer and a separate circuit from any central processor and being joined to receive signals on an input/output bus, means deriving a password from a database of code values and passwords which enable the use of an application program on a computer, means storing a password from the database in the computer, means for generating a verification value whenever the application program is run, and means for testing the password stored in the computer and the verification value, and means for degrading the operation of the computer if the password and the verification value do not match.
Claim 3
Dependent Claim 60 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized as claimed in claim 1 in which the means generating a verification value whenever the application program is run comprises: a hardware circuit for encrypting a first value and a second value using a third value whenever the application program is run.
Claim 4
Dependent Claim 56 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized as claimed in claim 2 further comprising a circuit for verifying the accuracy of the first and third values, and means for degrading the operation of the computer if the first and the third values do not verify.
Claim 5
Dependent Claim 69 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized as claimed in claim 2 in which the hardware circuit includes means running an encryption algorithm, storage for a first value which is a random number, storage for a third value which is a random number, and software means for providing a second value which is unique to the application program.
Claim 6
Dependent Claim 76 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized as claimed in claim 1 in which the circuit within a computer for providing a code value which is unique to the computer includes a hardware circuit running an encryption algorithm, storage for a first value which is a random number, storage for a third value which is a random number, and means for providing a second value.
Claim 7
Dependent Claim 136 words
A system for assuring that software is utilized only on computers for which it has been specifically authorized as claimed in claim 1 in which the circuit within a computer for providing a code value which is unique to the computer includes a hardware circuit running an encryption algorithm, storage for a first value which is a random number, storage for a third value which is a random number, and means for providing a second value; and in which the means generating a verification value whenever the application program is run comprises: the hardware circuit running an encryption algorithm, the storage for a first value which is a random number, the storage for a third value which is a random number, and software means for providing a second value which is unique to the application program.
Claim 8
Dependent Claim 213 words
A circuit for assuring that software is utilized only on computers for which it has been specifically authorized comprising: a first means furnishing a plaintext value unique to the circuit, means for furnishing an initial value, a hardware encoding circuit responding to signals furnished in executing programs on the computer for executing an encoding algorithm to generate from the plain text value and the initial value a code value unique to a particular computer, means for storing a password generated using the encoding algorithm from the plaintext value and a value which is unique to an application program and to the particular computer, means for selectively providing: a fixed value as the initial value to the hardware encoding circuit in response to execution by the computer of a first process, and a value generated utilizing the password in response to execution by the computer of a second process, a comparator for testing the stored password against code value generated by the hardware encoding circuit in response to running the second process each time the application program is run and for generating an error signal if the stored password and the newly generated code value do not match, and means for impairing the operation of the particular computer in response to the error signal.
Claim 9
Dependent Claim 213 words
A circuit for assuring that software is utilized only on computers for which it has been specifically authorized comprising: a first means furnishing a plaintext value unique to the circuit, means for furnishing an initial value, a hardware encoding circuit responding to signals furnished in executing programs on the computer for executing an encoding algorithm to generate from the plain text value and the initial value a code value unique to a particular computer, means for storing a password generated using the encoding algorithm from the plaintext value and a value which is unique to an application program and to the particular computer, means for selectively providing: a fixed value as the initial value to the hardware encoding circuit in response to execution by the computer of a first process, and a value generated utilizing the password in response to execution by the computer of a second process, a comparator for testing the stored password against code value generated by the hardware encoding circuit in response to running the second process each time the application program is run and for generating an error signal if the stored password and the newly generated code value do not match, and means for impairing the operation of the particular computer in response to the error signal.
Claim 10
Dependent Claim 27 words
A circuit as claimed in claim 7 in which the hardware encoding circuit and comparator share an address with other component circuitry on a computer input/output bus.
Claim 11
Independent Claim 153 words
A method for assuring that software is utilized only on computers for which it has been specifically authorized comprising: storing a plaintext value and a key value in firmware in a computer, encrypting by means of a hardware encoding circuit of a computer the plaintext value with a constant value utilizing the key value to generate a code value unique to a particular computer, storing a password obtained by encrypting the plaintext value with a value unique to an application program utilizing the key value, testing the stored password against a verification value generated by the hardware encoding circuit by encrypting the plaintext value with a value unique to an application program utilizing the key value when the application program is run, generating an error signal if the stored password and the newly generated verification value do not match, and impairing the operation of the particular computer in response to the error signal.
Claim 12
Independent Claim 153 words
A method for assuring that software is utilized only on computers for which it has been specifically authorized comprising: storing a plaintext value and a key value in firmware in a computer, encrypting by means of a hardware encoding circuit of a computer the plaintext value with a constant value utilizing the key value to generate a code value unique to a particular computer, storing a password obtained by encrypting the plaintext value with a value unique to an application program utilizing the key value, testing the stored password against a verification value generated by the hardware encoding circuit by encrypting the plaintext value with a value unique to an application program utilizing the key value when the application program is run, generating an error signal if the stored password and the newly generated verification value do not match, and impairing the operation of the particular computer in response to the error signal.

References Cited (Backward Citations)

US4599489A Cited
US4609777A Cited
US5012514A Cited
US5058162A Cited
US5375243A Cited
US5282247A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-28 2001-01-27 2001-07-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-28 2005-01-27 2005-07-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-28 2009-01-27 2009-07-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag