Abstract:
A security system in which personnel are permitted access at certain locations on the basis of data magnetically encoded on a card inserted into the system by the personnel. Access is also limited on the basis of keyboard data entered at the remote location by personnel wishing access. The keyboard data required for entry is a permutation and combination of the data on the employee&#39;s card, the particular combination and permutation required at each remote location being independently programmable by switches accessible on the inside of the remote security system.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to magnetically encoded data card security systems in which access at a secured location is controlled by a comparison of data on a card inserted by personnel into the system with data stored in the system and defining those persons who shall be granted access. More particularly, this invention relates to a system in which, in addition to the card data, keyboard data must be entered by persons wishing access, and wherein the keyboard data is a combination and permutation of the card data entered by persons wishing access. 
     Such systems, in the past, have utilized static magnetic card readers at remote locations for controlling access through electrically operable devices, such as doors, turnstiles, printers, etc. Prior art systems have been devised in which the remote card readers communicate with a central data processor or operate as stand-alone units. 
     The card or badge bearing encoded data used for controlling access is typically inserted in a slot of a reader which reads and decodes the data on the card. Advantageously, this data is encoded as a plurality of magnetically polarized spots in a strip of magnetic material. Such encoded data normally includes an identification number or numbers identifying the card holder. During use, this number encoded by the card is compared with a number or numbers stored in the central computer terminal or at the remote location to ascertain whether the individual inserting the card is entitled to access to a building, room, parking lot, or the like. 
     In one prior art embodiment, the magnetically polarized spots are used to directly actuate a reed relay or other moving switch mechanism located within the reader. The state of the art system is exemplified by U.S. Pat. No. 3,686,479 entitled Static Reader System For Magnetic Cards, assigned to A-T-O Inc., assignee of the present invention, employing electromagnetic solid state sensors disclosed and claimed in U.S. Pat. No. 3,717,749, also assigned to A-T-O Inc. These patents are hereby incorporated in this disclosure by reference. Such systems have been found to be very reliable and are in use as access control systems in a number of different industries, universities, and government installations. 
     Operation of such systems as a part of a security network employing a central processor is disclosed and claimed in U.S. Pat. No. 4,004,134, also assigned to A-T-O Inc. and also incorporated herein by reference. This latter system incorporates a central processor which periodically and sequentially polls each of the remote terminals in the system. The remote terminals are enabled to transfer data to the central processor only on receipt of a polling pulse. At the central terminal, data read at the remote location from an inserted card is compared with a master list which includes those persons who shall be given access at that remote location. 
     It has also been known in the prior art to include, at the remote location, a keyboard. Typically, such keyboard systems require that persons wishing access, in addition to the insertion of a magnetically encoded data card, are required to enter keyboard data, typically a sequence of digits. These digits have typically comprised a permutation and combination of the data encoded on the employee&#39;s card, the particular permutation and combination often being different for different remote terminals. In the past, however, the permutation and combination has generally been hard wired into the system, typically at the manufacturing plant, so that the system user was unable to alter the particular combination and permutation in the field after installation. Such a situation degraded the security of the overall system, since after a period of use, it was possible for persons to determine the particular order in which data must be entered in each keyboard in order to gain access into areas for which they are not authorized. In addition, as security problems or personnel turnover occurs in a particular facility, the prior art systems did not permit a change in the keyboard entry code required for authorization in order to reinstitute security in a location where security has been breached or is in jeopardy of being breached. 
     SUMMARY OF THE INVENTION 
     The present invention provides a substantial improvement over systems available in the prior art in that it permits a reprogramming of the combination and permutation required for keyboard entry in the field by the system operator. 
     This system still utilizes the data which is magnetically encoded on personnel cards as the basis for keyboard entry. The particular combination of this data, which must be entered by persons wishing access, as well as the order of such data, is selectable, however, by the system operator and may be changed at will. Since an important element in any security system is the ability to alter on a nonroutine basis parameters required for access, so that persons wishing to breach the security system cannot plan on a set of predetermined security parameters in advance, the present system greatly increases the level of security. In addition, the present invention provides increased flexibility in a system of this type, since it allows the system operator to provide access to different employees at different locations from time to time, depending upon the current security needs in these different locations. 
     The present invention accomplishes these desirable results by providing a card reading mechanism and a keyboard at or near the location where access is to be controlled. The data read from the magnetically encoded card comprises a plurality of digits in a predetermined order. The data which must be entered on the keyboard comprises a subset of these same digits in a different order, the subset or combination and order or permutation being determined by switches locked within the system and controlled by the system operator. Specifically, the switch data is used to select the subset and reorder data read from the card so that this data may be compared with keyboard data as it is entered into the system. Different personnel have different data encoded digit series on their cards, and must, therefore, enter different number sequences at a particular keyboard. The system only requires that the keyboard data bear a predetermined permutational and combinational relationship with the particular person&#39;s card data. 
     So long as a favorable comparison occurs as each entry is made on the keyboard, access is permitted. As soon as an erroneous keyboard entry is made, however, access is prohibited. In addition, the system includes a timer which prohibits access for a predetermined time period after an erroneous entry has been made at the keyboard. This timer prohibits unauthorized personnel from entering multiple trial combinations in the keyboard to attempt to gain access by trial and error. Such an attempt, with the timer of the present invention, would take an extremely long period of time, during which the person risks being caught. 
    
    
     These and other advantages of the present security system are best understood through the following detailed description which references the drawings, in which: 
     FIG. 1 is a schematic block diagram of the system used for altering the permutation and combination of keyboard data required for entry in the present invention; and 
     FIG. 2 is a schematic block diagram of a computer system used for implementing a system, such as that shown in FIG. 1, using the program which is included as a part of the disclosure in this application. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring initially to FIG. 1, a sensor 11, substantially as described and claimed in U.S. Pat. Nos. 3,686,479 and 3,717,749, is used to sense magnetically encoded data on a card or badge inserted into the sensor 11. The data is transmitted, as by line 13, to a buffer or storage register 15. As shown in the figure, the register 15 provides storage for a five digit number in a predetermined order, each of the digits being any integer between zero and nine. This data is placed into the register 15 in the same order in which it appears on the card or badge inserted into the sensor 11, and for this reason the five digit locations of register 15 are labeled A, B, C, D, E, it being understood that the digit A appears at a predetermined location on the card or badge, as do each of the remaining digits. No matter what the specific integers are, any badge or card inserted into the sensor 11 will be read into the register 15 in a predetermined order, so that the data stored in the A location in register 15 always has its origin at a predetermined card location. Similarly, data in each of the other register locations in the register 15 originates at a predetermined physical location on the card or badge inserted into the sensor 11. 
     In addition to inserting a card into the sensor 11, the person wishing to gain access at the remote location where the system of FIG. 1 is installed, will enter a series of digits into a digit keyboard 17. The keyboard 17 will typically have at least 10 keys which permit the user to key the digits from 0 to 9 in any desired order into the system. Every time a key is pushed on the keyboard 17, an entry strobe switch 19 is closed, supplying a pulse input to line 21 which is used for clocking data from the keyboard into the system. Thus, for example, the signal on line 21 provides an input for a gate 23 used for supplying the keyboard data from the keyboard 17 to a buffer 25 used for temporarily storing the most recently entered keyboard data. 
     As a convention for the remainder of this application, it will be understood that a line, such as line 27 connecting the keyboard 17 to gate 23, marked with a digit next to a slash, represents plural lines. Thus, the line 27 marked with a slash and the digit 4 represents 4 independent data lines used for encoding in binary coded decimal fashion the digits from 0 to 9. Similarly, a line 29 connecting the gate 23 to the buffer 25 comprises a 4-line data bus. The gate 23 shown as an AND gate thus comprises 4 independent AND gates for coupling the lines 27 to the lines 29, each of which is gated by a signal from line 21, which forms the second input to each AND gate. 
     A plurality of switches 31 are used by the system operator to determine the combination and permutation of data from the user&#39;s card which must be entered in the keyboard 17. In the specific example shown in FIG. 1, a selection of four of the five digits in the register 15 labeled A through E must be input in the keyboard 17 in a predetermined order which is set by the switches 31. More specifically, the switches 31 comprise 12 separate switches, three of which are used to encode, in binary fashion, a digit from 1 through 5 to designate, respectively, one of the data elements A through E in the register 15. Thus the three switches 33 are used to encode the first digit which must be keyed into the keyboard 17 by the user. The switches 33 may thus specify any of the data elements located at positions A through E of register 15. Likewise, the switches 35, 37, and 39 each comprise three switches used to encode any one of the positions A through E of register 15. It is important to note that the positions encoded by the switches 31 relate only to data order. That is, if the position A is encoded by the switch 35, that designates that data from a predetermined location on the card inserted into the sensor 11 is to be keyed into the keyboard 17 as the second of 4 digits. If, for example, a particular card has the numeral 8 encoded at position A, the user, in order to gain access at this remote location, must input the number 8 in the keyboard 17 as the second numeral in order. A different person holding a different card may be required to put a different numeral as the second in order into the keyboard 17. At any rate, the switches 31 are used to encode a predetermined data order which is a permutation of the positions A through E in register 15. Any four positions may be selected from the five possibles, and any positions may be repeated. Thus, it is possible utilizing the system shown in FIG. 1 to require that the user, in order to gain access, insert the digit in the A position four times in succession, if each of the switches 33 through 39 encodes the A position. For the system shown in FIG. 1, a combination of four out of the five possible positions of register 15 is encoded by the switches 31, which may be placed in any permutation by the system operator. 
     As an example, it may be assumed that the operator has set the switches 31 to encode the order D, E, B, A. Thus, the person wishing to gain access inserts his card in the sensor 11. He must then key into the keyboard 17 the numerals encoded in positions D, E, B, and A on his card, in that order, in order to gain access. If the numerals on a particular data card inserted into the sensor 11 in the positions A, B, C, D, and E are 1, 2, 8, 9, 5, this particular person, in order to gain access with the switches 31 encoding the series D, E, B, A, must key the numeral 9, 5, 2, 1 into the keyboard 17 in proper order. A user with a different card, of course, must enter a different number into the keyboard 17, but this number will bear the same position relationship on his card as does the number 9, 5, 2, 1 on the first user&#39;s card. 
     The positions encoded by the switches 31 are connected through plural AND gates 41 through 47 to a shift register 49 which is loaded in parallel with the data on the switches 31 in response to actuation of a load switch 51. The load switch 51 is used by the system operator after setting the switches 33 through 39 to load the shift register 49 by enabling the AND gates 41 through 47, and to thus place the predetermined order, such as D, E, B, A in the above example, in the register 49. This order will remain in the register 49 until the operator changes it by opening the system enclosure with a key and altering the setting of the switches 31 (and again closing the switch 51 to strobe the new data into the register 49). 
     It will be understood that each of the switches 33 through 39 represents the three switches required to encode positions A through E, and thus the interconnection between the switches 31 and the shift register 49 is four groups of three lines. As described previously, each of the gates 41 through 47 each includes three AND gates connecting three lines from the switches 31 to the shift register 49, each of the AND gates having as one of its two inputs a connection to the switch 51. 
     The shift register 49 is recirculated by means of connection 53 and a clock 55, but only the data from the first shift register position, position 57, is output from the register 49. This data on three lines is coupled to a gate 59 which, in actuality, must include three AND gates, and is supplied to a decode circuit 61. The decode circuit 61 has five separate output lines 63, only one of which is enabled at any particular time by the decode circuit 61. This enabling is accomplished in accordance with the position encoded on the three lines from the shift register position 57, and the decode circuit 61 thus comprises a matrix for providing a decimal output in accordance with the binary coded three line input. 
     The decimal output from the decode circuit 61 on lines 63 is used to provide a first input to each of five AND gates 65 through 73. These AND gates are each provided with an input from one of the A through E locations in the buffer 15. It will be understood that the AND gates 65 through 73 are each representative of four AND gates required for binary encoding of the 0 through 9 binary coded decimal data read from the card inserted into the sensor 11 at each position A through E. Each of these four AND gates is provided with an independent input from one of the locations in the buffer 15 and an input from one of the lines 63. Thus, if the input to the decode network 61 decodes the A position, the line 63 connected to AND gates 65 is enabled, permitting the data from position A in buffer 15 to be coupled on four lines to a comparator 75. 
     The comparator 75 is also supplied with data from the buffer 25, that is, the most recently entered keyboard entry data, and is enabled by the input strobe on line 21. The comparator 75 will provide an output signal on a first line 77 if the data entered in the keyboard 17 is identical to data received from the buffer 15, as designated by position data at location 57 in register 49. The comparator 75, on the other hand, will provide a no go signal on line 79 if the data from the buffer 25 is different from that received through the gates 65-73 from the buffer 15. Either of these signals will activate an OR gate 81 which provides a set input for a flip-flop 83, the output of which, on line 85, is used to enable the clock 55. 
     As previously explained, the clock 55 recirculates data through the shift register 49. The clock 55 also provides the input for a counter 87 which counts to three and then provides an output signal on line 89 to reset the flip-flop 83, deactivating the clock 55. Thus, every time a signal is provided from the OR gate 81, the clock 55 will produce three output pulses to the shift register 49 to shift the data in this register by three bits. Since three bits are provided from the switches 31 for each position code, the clock 55 shifts the data in the register 49 by one position code. 
     During use, the first position code encoded by the switches 33 is first output by the shift register position 57. This data is used in the gates 65 through 73 to determine which position data from the register 15 will be compared in the comparator 75 when the first entry is made on the keyboard 17. Once this comparator has produced an output signal following the inputting of the first data into the keyboard 17, the signal provided by the OR gate 81 will clock the shift register 49 three bits to provide the data required for determining the next proper keyboard entry on the keyboard 17. Data in the register 49 will be shifted in this manner, three bits at a time, until all four positions are clocked into location 57 for comparison. If, after each of the four positions has been supplied to the comparator 75, four proper entries are provided at the keyboard 17, then four go signals will occur in succession on the lines 77. These signals are counted by a counter 91 which, when it reaches a count of 4, provides an output signal on line 93 to activate a buffer 95 supplying a go code to a transmitter 97. This transmitter 97 is used to supply (from this remote terminal shown in FIG. 1 to a central control station) data indicating that the person wishing to gain access has pushed four digits on the keyboard 17 in the proper order. Data from the buffer 15 is also supplied to the transmitter 97, and if this data, when sent to the central processor, identifies an employee who is to be granted access at this remote location, the central processor will transmit data to this remote location operating an entry device. 
     Alternatively, as shown in the dotted line portion of FIG. 1, if the system of FIG. 1 is a stand-alone unit that uses no central processor, the outputting of the proper four digits in sequence from the keyboard 17, which provides a signal on line 93, will enable an entry device 99, such as a solenoid operated door strike. 
     If an improper key is depressed on the keyboard 17, the comparator 75 will provide a signal on line 79 which, through line 101, will reset the counter 91, so that the counter 91 will start again at zero, looking for four proper input keystrokes. In addition, this signal on line 79 is coupled to a no go code generator 103 which is coupled to the transmitter 97 to transmit data to the central processor indicating that an improper numerical sequence has been entered at the keyboard 17. The signal on line 97 may also be used to initiate the operation of a timer 105 which, through line 107, may be used to disable the comparator 75 for a predetermined period of time. Thus, the timer 105, on receipt of a signal from line 79 indicating that an improper keyboard entry has been made, may prohibit the system from comparing any new keyboard data for a time period (such as one minute) so that a person cannot simply randomly insert numbers at the keyboard 17 to ultimately gain access on a trial and error basis. Such a process, with the delays imposed by the timer 105, would require a very substantial trial and error period, which would subject the user to discovery. 
     An additional timer 107 may be used to reset the shift register 49 and the counter 91 to their original positions, that is, the counter 91 to zero and the register 49 to a recirculation position identical to the order of the switches 31, a predetermined time period after the initial entry on the keyboard 17, as evidenced by an output from the OR gate 81. The timer 107 thus requires that a person wishing to gain access must put data into the system within a predetermined period of time, and it also assures that the system will be reset to its proper initial postition after each use so that it is in a proper standby mode waiting for the next user to request access. 
     While the system described and referenced to FIG. 1 is adequate for operating this code programming system, the preferred embodiment incorporates a programmed microprocessor. This preferred system is shown in FIG. 2 and includes an asynchronous receiver/transmitter 111 connected to a central processor by means of a polling and data line 113 and an output line 115. The receiver/transmitter in the preferred embodiment is sold by Motorola Electronics under Part No. MC6850. The receiver/transmitter 111 is connected by a two-directional communication link to a microprocessor 117 sold by Motorola Electronics under Part No. MC6800. The processor 117 is interconnected in a well known manner with a read only memory 119 sold by Signetics under Part No. 2616, a read and write memory 121 sold by Motorola Electronics under Part No. MCM6810AL and a programmable read only memory 123 sold by Intersill under Part No. IM5610. A program listing is stored in the read only memory 119 and is included at the end of this specification. The receiver/transmitter 111, microprocessor 117 and a peripheral interface adapter are interconnected in a known manner to a master clock 125 which provides timing signals for the entire system. In addition, the microprocessor 117 is connected to the peripheral interface adapter 127 sold by Motorola Electronics under Part No. MC6820. This interface adapter 127 is, in turn, connected to the coil detector or sensor 11 described and claimed in U.S. Pat. Nos. 3,686,479 and 3,717,749 and to a card in detector switch 131 and driver and relay network 135 for operating an access apparatus 137 which may be identical to the entry device 99 described and referenced in FIG. 1. 
     The program which operates the system of FIG. 2 and which is stored in the read only memory 119 is as follows: ##SPC1## ##SPC2## ##SPC3## ##SPC4## ##SPC5## ##SPC6## ##SPC7## ##SPC8## ##SPC9## ##SPC10## ##SPC11## ##SPC12## ##SPC13## ##SPC14##