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

System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules

Assignee: FIRST CAD/CAM Inc
•
Filing: 1985-09-03
•
Granted: 1987-08-04
•
Expires: 2005-09-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system which enables a protected program to run only a selected plurality of computers includes a respective unique key Ki for each computer of the plurality, the key being triple encrypted in the form E FK [E Ki [E FK [Ki]]]. A respective module is coupled to each computer of the plurality. A checker program in each computer responds to a request to use the protected program by performing a single decryption procedure E FK -1 on the triple encrypted key and sends the result to the module as a message. The module performs a single decryption procedure E Ki -1 on the message and sends that result back to the computer. The checker program receives the module's result and performs another single decryption procedure E FK -1 on it to obtain key Ki. Then the checker program uses key Ki to decrypt an identifier, and proceeds with the execution of the protected program only if it is identified by the decrypted identifier.

Inventors

  • 👤 Matthew A. Appelbaum
  • 👤 David B. Lehman
  • 👤 Donald J. Nieglos
  • 👤 Stanley C. Nolte
  • 👤 Michael P. Oehler

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 01:10
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 148 words
A system for enabling a protected program to run on only a selected plurality of computers, comprising: a respective triple encrypted key for each of said computers of the form E FK [E Ki [E FK [Ki]]] where Ki is an unencryped key that is unique to each of said computers, E Ki is an encryption procedure E which uses key Ki, and E FK is the same encryption procedure E using a single fixed key FK for all of said computers; a respective unique module coupled to each computer of said plurality for performing a decryption procedure E Ki -1 where Ki is unique to each module; a checker program in each computer which responds to requests to use said protected program by performing a single decryption procedure E FK -1 on said triple encrypted key and sends the result to said module as a message M;
Claim 2
Independent Claim 148 words
A system for enabling a protected program to run on only a selected plurality of computers, comprising: a respective triple encrypted key for each of said computers of the form E FK [E Ki [E FK [Ki]]] where Ki is an unencryped key that is unique to each of said computers, E Ki is an encryption procedure E which uses key Ki, and E FK is the same encryption procedure E using a single fixed key FK for all of said computers; a respective unique module coupled to each computer of said plurality for performing a decryption procedure E Ki -1 where Ki is unique to each module; a checker program in each computer which responds to requests to use said protected program by performing a single decryption procedure E FK -1 on said triple encrypted key and sends the result to said module as a message M;
Claim 3
Dependent Claim 101 words
said module being adapted to perform said single decryption procedure E Ki -1 on said message M and send E Ki -1 [M] back to said computer; a means in said checker program for receiving E FK -1 [M] from said module and for performing another single decryption procedure E FK -1 on it to obtain key Ki; an identifier that is encrypted with said key Ki; and a means in said checker program for using key Ki to decrypt said identifier, and for proceeding with the execution of said protected program only if it is identified by the decrypted identifier.
Claim 4
Dependent Claim 101 words
said module being adapted to perform said single decryption procedure E Ki -1 on said message M and send E Ki -1 [M] back to said computer; a means in said checker program for receiving E FK -1 [M] from said module and for performing another single decryption procedure E FK -1 on it to obtain key Ki; an identifier that is encrypted with said key Ki; and a means in said checker program for using key Ki to decrypt said identifier, and for proceeding with the execution of said protected program only if it is identified by the decrypted identifier.
Claim 5
Dependent Claim 59 words
A system according to claim 1 wherein said checker program further includes a means for intermittently stopping the protected program's execution to send a random number to said module, to receive a response from said module, and to continue with the execution of said protected program only if the encryption E Ki of said response matches said random number.
Claim 6
Dependent Claim 20 words
A system according to claim 2 wherein said identifier is double encrypted via procedures E FK and E Ki .
Claim 7
Dependent Claim 19 words
A system according to claim 3 wherein said module is coupled to its computer via a bit serial bus.
Claim 8
Dependent Claim 163 words
A data processing system comprised of: a computer having a key Ki that is unique to said computer and is at least double encrypted in the form E Ki [E FK [Ki]] where E Ki is an encryption procedure E which uses key Ki, and E FK is the same encryption procedure E using another key FK; a module coupled to said computer for receiving said key in said double encrypted form in response to a request for said computer to run a protected program and for partially decrypting said double encrypted key to a single encrypted key E FK [Ki]; a checker program for receiving said single encrypted key E FK [Ki] from said module and for completing its decryption to Ki; an identifier that is encrypted with said key Ki; and a means in said checker program for using Ki to decrypt said identifier, and for proceeding to run said protected program only if it is identified by the decrypted identifier.
Claim 9
Dependent Claim 163 words
A data processing system comprised of: a computer having a key Ki that is unique to said computer and is at least double encrypted in the form E Ki [E FK [Ki]] where E Ki is an encryption procedure E which uses key Ki, and E FK is the same encryption procedure E using another key FK; a module coupled to said computer for receiving said key in said double encrypted form in response to a request for said computer to run a protected program and for partially decrypting said double encrypted key to a single encrypted key E FK [Ki]; a checker program for receiving said single encrypted key E FK [Ki] from said module and for completing its decryption to Ki; an identifier that is encrypted with said key Ki; and a means in said checker program for using Ki to decrypt said identifier, and for proceeding to run said protected program only if it is identified by the decrypted identifier.
Claim 10
Dependent Claim 59 words
A system according to claim 5 wherein said checker program further includes a means for temporarily stopping the protected program's execution to send a random number to said module, to receive a response from said module, and to continue with the execution of said protected program only if the encryption E Ki of said response matches said random number.
Claim 11
Dependent Claim 54 words
A system according to claim 5 wherein said key Ki is stored in a storage media in a triple encrypted form E FK [E Ki [E FK [Ki]]], and said checker program includes a means for performing E FK -1 on the permanently stored key and sending the double encrypted result to said module.
Claim 12
Dependent Claim 20 words
A system according to claim 5 wherein said identifier is double encrypted via procedures E FK and E Ki .
Claim 13
Dependent Claim 19 words
A system according to claim 5 wherein said module is coupled to said computer via a bit serial bus.
Claim 14
Dependent Claim 117 words
A data processing system of the type which includes a computer, a protected program for said computer, and a module coupled to said computer; said system further including: a key Ki that is unique to said computer and is double encrypted; a means in said computer for receiving a request to use said protected program, and in response thereto, for sending said double encryted key to said module; a means in said module for performing a decryption procedure E Ki -1 on said double encrypted key to obtain a single encrypted key and for sending the latter back to said computer; a means in said computer for decrypting said single encrypted key to an unencrypted key; and
Claim 15
Dependent Claim 117 words
A data processing system of the type which includes a computer, a protected program for said computer, and a module coupled to said computer; said system further including: a key Ki that is unique to said computer and is double encrypted; a means in said computer for receiving a request to use said protected program, and in response thereto, for sending said double encryted key to said module; a means in said module for performing a decryption procedure E Ki -1 on said double encrypted key to obtain a single encrypted key and for sending the latter back to said computer; a means in said computer for decrypting said single encrypted key to an unencrypted key; and
Claim 16
Dependent Claim 34 words
a means in said computer for utilizing said unencrypted key to decrypt an encrypted identifier, and for proceeding with the execution of said protected program only if the decrypted identifier has a predetermined value.
Claim 17
Dependent Claim 34 words
a means in said computer for utilizing said unencrypted key to decrypt an encrypted identifier, and for proceeding with the execution of said protected program only if the decrypted identifier has a predetermined value.

References Cited (Backward Citations)

US4123747A Cited
US4193131A Cited
US4186871A Cited
US4386266A Cited
US4529870A Cited
US4453074A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1990-08-03 1991-02-02 1991-08-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1994-08-03 1995-02-02 1995-08-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1998-08-03 1999-02-02 1999-08-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag