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

Method of protecting computer software from unauthorized execution using multiple keys

Assignee: Thales DIS CPL USA Inc
•
Filing: 1991-10-17
•
Granted: 1993-06-22
•
Expires: 2011-10-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of protecting computer software is provided by storing a first key in a plug-in hardware device, storing an algorithm for processing a purality of keys including the first key in software to be protected, loading the software containing the algorithm in the computer and plugging in a hardware device in a communications port of the computer. A second key, external to the software, to be protected which bears a relationship to the first key by the algorithm is loaded into the computer where processing takes place of the first and second keys in the algorithm for deriving a control key, if present, for the continued processing of the software being protected. The step of loading the second key is performed using a computer keyboard, any input/output port, a hard disk file or any other method of entry in the computer. Additional keys external to the software which bear a relationship to the first and second keys configured in the algorithm may be provided.

Inventors

  • 👤 Wayne W. Chou
  • 👤 Richard Erett
  • 👤 Joseph M. Kulinets

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:12
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F21/12; G06F21/121; G06F21/123; G06F21/125; G06F2221/00; G06F2221/21; G06F2221/2107

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 217 words
A method of protecting computer software from unauthorized execution using multiple keys, one of which is stored in a hardware device to produce a control key which will allow the protected software to execute comprising the steps of: storing a plurality of unique first keys in a plurality of hardware devices, each hardware device having its own unique first key, establishing a plurality of unique second keys, each having a predetermined relationship with one of each of said first keys forming a plurality of unique key pairs, storing an algorithm for processing said unique key pairs in software which is desired to be protected, supplying identical copies of said software to be protected together with said hardware devices, each having one of said first keys, one device with each of said copies, supplying said second key that forms said key pair with one of said first keys in said hardware device, inserting one of said hardware devices in an input/output port of said computer, loading said software to be protected containing said algorithm in said computer, loading a second key external to said software to be protected in said computer, and processing said first and second keys in said algorithm for deriving a control key, if present, for permitting the continued processing of the software being protected.
Claim 2
Independent Claim 217 words
A method of protecting computer software from unauthorized execution using multiple keys, one of which is stored in a hardware device to produce a control key which will allow the protected software to execute comprising the steps of: storing a plurality of unique first keys in a plurality of hardware devices, each hardware device having its own unique first key, establishing a plurality of unique second keys, each having a predetermined relationship with one of each of said first keys forming a plurality of unique key pairs, storing an algorithm for processing said unique key pairs in software which is desired to be protected, supplying identical copies of said software to be protected together with said hardware devices, each having one of said first keys, one device with each of said copies, supplying said second key that forms said key pair with one of said first keys in said hardware device, inserting one of said hardware devices in an input/output port of said computer, loading said software to be protected containing said algorithm in said computer, loading a second key external to said software to be protected in said computer, and processing said first and second keys in said algorithm for deriving a control key, if present, for permitting the continued processing of the software being protected.
Claim 3
Dependent Claim 24 words
The method as claimed in claim 1 wherein said step of loading said second key is performed using an input port of a computer.
Claim 4
Dependent Claim 33 words
The method as claimed in claim 2 wherein said step of loading said second key entered through any input port is stored in a hard disk file in said computer for subsequent retrieval.
Claim 5
Dependent Claim 76 words
The method as claimed in claim 1 including the steps of supplying at least one additional key loading said at least one additional key external to said software which bears a relationship to said first key configured in said algorithm and processing said at least one said additional keY with said first key in said algorithm for producing a new control key for the purpose of allowing other parts of the original software to be enabled.
Claim 6
Dependent Claim 86 words
The method as claimed in claim 1, including the steps of supplying a modification for said protected program having an additional algorithm in said modification, supplying a unique third key with said modification which bears a unique relationship to and forms another key pair with said unique first key stored in said hardware device, loading said unique third key in said computer and processing said first and third keys in said additional algorithm for deriving another control key for permitting processing of software modifications being protected.

References Cited (Backward Citations)

US4599489A Cited
US4609777A Cited
US4817140A Cited
US4866769A Cited
US4959861A Cited
US5083309A Cited
US5033084A Cited
US5081676A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-06-21 1996-12-21 1997-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-06-21 2000-12-21 2001-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-06-21 2004-12-21 2005-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag