Method of protecting computer software from unauthorized execution using multiple keys
First Claim
1. 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, andprocessing 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.
5 Assignments
0 Petitions
Accused Products
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.
-
Citations
5 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
Specification