Method and apparatus for protecting computer software utilizing an active coded hardware device
First Claim
1. An active coded hardware security apparatus for protecting software which is adapted to be connected by an interface connector to a communications port of a computer, said computer being directed by a coded software program which is interfaced with said hardware through said communications port, said hardware apparatus comprising:
- a presettable (programmable) counter to provide a preset numerical code output which is outputted when interrogated in proper sequence,an interface connector connected to said counter which is adapted to be plugged into a communications port of a computer whose software is to be protected,a clock input, a reset input and an output line connected between said presettable counter and said interface connector,said counter being active and transmitting said preset output over said output line,whereby said counter is interrogated by said computer under control of said coded software to determine whether said hardware apparatus is installed and generating the proper response to enable the coded software program to continue.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for protecting computer software using an active coded hardware apparatus which is adapted to be connected by an interface connector to a communications port of a computer. The computer is directed by a coded software program in which a small section of the code of the computer software interrogates the communications port periodically to determine if the active coded hardware device is present and connected. The active coded hardware device has a permanently established preset code on an active presettable counter circuit which code is transmitted when interrogated. If the active coded hardware device is present when interrogated and the correct code returned through the communications port of the computer, the program is permitted to continue insuring that the software is properly protected at all times. The active coded hardware device with its particular code and circuitry are sealed in epoxy as a deterrent against tampering. In order to violate the hardware it would be necessary to construct a duplicate of the hardware device in order to run a second copy of the software. Since the device is active containing electrical logical elements the degree in duplicating the device and its function without the benefit of circuit diagrams will be greater than the software itself. The particular hardware may be used alone or will permit daisy-chaining allowing 2, 3 or even an entire family of other elements with their own individual codes to operate simultaneously and at the same time permit computer peripherals to remain connected to the same port. A variety of time and logic elements may be added to the basic configuration in order to increase the difficulty of duplicating or violating the system.
279 Citations
11 Claims
-
1. An active coded hardware security apparatus for protecting software which is adapted to be connected by an interface connector to a communications port of a computer, said computer being directed by a coded software program which is interfaced with said hardware through said communications port, said hardware apparatus comprising:
-
a presettable (programmable) counter to provide a preset numerical code output which is outputted when interrogated in proper sequence, an interface connector connected to said counter which is adapted to be plugged into a communications port of a computer whose software is to be protected, a clock input, a reset input and an output line connected between said presettable counter and said interface connector, said counter being active and transmitting said preset output over said output line, whereby said counter is interrogated by said computer under control of said coded software to determine whether said hardware apparatus is installed and generating the proper response to enable the coded software program to continue. - View Dependent Claims (2, 3)
-
-
4. An active coded hardware security apparatus which is adapted to be connected by an interface connector to a communications port of a computer, said computer being directed by a coded software program which is interfaced with said hardware through said communication port, said hardware apparatus comprising:
-
a presettable counter to provide a preset mumerical code output which is outputted when interrogated in proper sequence, an interface connector connected to said counter which is adapted to be plugged into a communications port of a computer whose software is to be protected, a clock input, a reset input and an output line connected between said presettable counter and said interface connector, said counter being active and transmitting said preset output over said output line, whereby said counter is interrogated by said computer under control of said coded software to determine whether said hardware apparatus is installed and generating the proper response to enable the coded software program to continue, at least one additional hardware security device coupled to said communications port, an OR circuit having an output coupled to said communications port, means for coupling the output line of said counter and said additional hardware security device to said OR circuit whereby said additional security device and said counter operate simultaneously through the same communications port, a second clock input coupled to said counter, a one shot circuit coupled to said output of said counter, for generating an output signal of time duration t, an AND gate, means for coupling said reset line and said output signal from said one shot circuit to said AND gate, means for coupling the output of said AND gate to said OR circuit, whereby an output will occur only if a reset signal occurs immediately after N clock transitions within the time period "t". - View Dependent Claims (5)
-
-
6. An active coded hardware security apparatus which is adapted to be connected by an interface connector to a communications port of a computer, said computer being directed by a coded software program which is interfaced with said hardware through said communications port, said hardware apparatus comprising:
-
a presettable counter to provide a preset numerical code output which is outputted when interrogated in proper sequence, an interface connector connected to said counter which is adapted to be plugged into a communications port of a computer whose software is to be protected, a clock input, a reset input and an output line connected between said presettable counter and said interface connector, said counter being active and transmitting said preset output over said output line, whereby said counter is interrogated by said computer under control of said coded software to determine whether said hardware apparatus is installed and generating the proper response to enable the coded software program to continue, a second presettable counter and a second clock input connected to said second presettable counter, first and second one shot circuits coupled to said counter and said second counter, an AND gat coupled to said counter and said second counter whereby a signal is generated by said apparatus when the outputs of said one shot circuits are high and coincident. - View Dependent Claims (7)
-
-
8. The method of protecting computer software using an active coded hardware security device in conjunction with a small section of code in the computer program comprising the steps of:
-
permanently establishing a preset numerical code on an active presettable counter security circuit which is transmitted when interrogated, connecting said active presettable counter circuit into a communication port of a computer for receiving clock and reset signals from said computer, executing the computer program in said computer, interrogating said communications port periodically by said small section of code in said computer program to determine if said active presettable counter circuit is present, which if present and the correct numerical code returned at the time of interrogation, the program is permitted to continue. - View Dependent Claims (9, 10)
-
-
11. The method of protecting computer software using an active coded hardware security device in conjunction with a small section of code in the computer program comprising the steps of:
-
permanently establishing a preset numerical code on an active presettable counter security circuit which is transmitted when interrogated, connecting said active presettable counter circuit into a communication port of a computer for receiving clock and reset signals from said computer, executing the computer program in said computer, interrogating said communications port periodically by said small section of code in said computer program to determine if said active presettable counter circuit is present, which if present and the correct code returned at the time of interrogation, the program is permitted to continue, using a second counter security circuit and controlling each security circuit separately, comparing the outputs of each counter security circuit and, recognizing a true signal when each of said outputs are the same polarity and coincident.
-
Specification