Recognition apparatus and method for security systems5093861Abstract A method of authenticating input data including user data and pin code data for an access control system. The method includes the steps of receiving the user data and the pin code data from a keyboard and/or a card reader, combining an offset data with the user data, making a modulo adjustment of said offset user data, obtaining one or more variables from the offset user data, calculating a matrix index by bringing certain variables into a predetermined equation, determining a constant from a matrix by the matrix index and comparing the constant with a corresponding digit value of the pin code data. If the constant matches the digit value, a validation signal is generated and the next constant is obtained from the matrix by the next matrix index obtained by use of a predetermined second equation so that the next digit value of the pin code data is compared with this constant. This procedure continues until all subsequent digits of the pin code data are checked to determine whether the input data entered into the access control system is true or not. If the data is true, the access is granted. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
TABLE 1
______________________________________
B Octal Variable
B B F B B
B Bits Occupied by
B B B B B B B B B B B B B B B B B
B Binary User No.
BxBxBxBxBxBxBxBxBxBxBxBxBxBxBxBxB
B Octal Variable
B A B B B C B D B E B B
______________________________________
The predetermined equations for generating the matrix indice can be algebraic equations. Different equations having different combinations of the defined variables will result in different octal digit values. Such digit values will be used as matrix indices in a row of an 8 by 8 matrix stored in a ROM to determine a constant for comparison with the pin code input. Since the matrix is an 8 by 8, diagonally, symmetric matrix, there are eight scramble modes available to such method or recognition apparatus. In other words, if there is a pin code book for such a security system, only eight sets of pin code numbers or eight scramble modes can be selected for the system. When more than eight customers use this system, some customers have to use the same scramble mode. Further, the system is easily accessed if someone familiar with this art knows the scrambling method because the system has very limited number of scramble modes. One of the important problems with such conventional methods is that the number of scramble modes available is very limited so that the security of access control systems using such techniques is very much reduced. OBJECT OF THE INVENTION It is an object of the present invention to provide an improved access control system which has higher security than conventional access control systems. It is another object of the present invention to provide an improved pin code recognition apparatus for an access control system. It is still another object of the present invention to provide an electric lock control system which has an improved pin code recognition apparatus. It is still another object of the present invention to provide an improved access control system which allows a plurality of choices of pin code numbers, or scramble modes for each available user number and can be manufactured at low cost. It is a further object of the present invention to provide an improved pin code recognition apparatus having a microprocessor which allows an easy adjustment of pin codes from one scramble mode to another without changing the hardware and software. These and other objects or advantages of the present invention will become apparent after studying the following descriptions of the present invention. SUMMARY OF THE INVENTION A preferred embodiment of the present invention discloses a novel method and apparatus for reliably recognizing the authenticity of pin code inputs to an access control system. The apparatus contemplates the use of thousands of possible pin code choices or scramble modes to be selected for each available user number. Further, only a predetermined 1 by 8 matrix is necessarily stored in the memory of the apparatus, instead of a 8 by 8 matrix. The method of the preferred embodiment includes the following steps for recognizing the authenticity of the user number and associated pin code number entered by a person for access to an access control system. In the preferred embodiment, a user number and a pin code number are entered from a keyboard and/or a card reader. The entered data signal is parsed into a user data signal and a pin code data signal. Then, the user data signal is combined with an offset data signal to provide an offset-adjusted user data. The offset-adjusted user data takes a value within the available user numbers and a modulo adjustment, if any, with the user data occurs. Under this arrangement, a plurality of scramble modes can be achieved by changing the offset data. For example, if the system is designed for use by 10.sup.4 users, the offset data can take any integer value smaller than 10.sup.4 so that modulo 10.sup.4 is associated with the user data and up to 10.sup.4 possible scramble modes for user data are achieved. Stated differently, 10.sup.4 different systems can be implemented using virtually the same hardware and software. The offset-adjusted user data (offset user data) is then used in the following steps. If the offset-adjusted value exceeds 10.sup.4, the value is automatically adjusted by modulo 10.sup.4. Thus, this modulo-adjusted data instead of offset-adjusted value, will be used in the following steps. The next step includes selecting a number of variables by utilizing the offset-adjusted user data signal (or modulo-adjusted data signal if offset-adjusted user data exceeds designed maximum user data). This can be obtained by defining three bits of binary data as a variable. Certain such variables are utilized in a logic equation to produce a result which represents a matrix index with modulo 8. After a matrix index output is produced, the following steps occur. The index output is used to determine a constant from a predetermined 1 by 8 matrix stored in memory. This constant is compared with the corresponding digit in the pin code input signal. If the two values are the same, some of the variables will be brought into a second equation to get another matrix index to determine a second constant. This constant will be compared with a subsequent digit in the pin code input to see whether they match or not. In this way, if all the subsequent constants determined by the produced matrix indices match the corresponding digit values in the pin code input, the user data input and the associated pin code input are recognized as authentic and access to the access control system is granted. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram illustrating an embodiment of the present invention for recognizing the authenticity of a pin code input and user number input for access to an access control system. FIG. 2 shows a flow chart of the operation of the preferred embodiment of the present invention for recognizing the authenticity of a pin code input and user number input for access to an access control system. FIG. 3 shows a hardware block diagram of an access control system of the present invention. DETAILED DESCRIPTION OF THE INVENTION Referring now to FIG. 1, FIG. 1 shows an embodiment of the invention for recognizing the authenticity of input data entered by a user to gain access to an access control system (not shown). The apparatus of FIG. 1 can provide thousands of scramble modes each of which is a possible choice of a pin code number associated with a user number under a scrambling method, so that security of the system is significantly enhanced. For a particular system, one of the available scramble modes is selected and fixed before use. The apparatus includes the following items: a data input unit 11 for entering user numbers and pin code numbers and/or separating the two types of data, a register unit 12 for temporarily storing the pin code data input, an offset adder unit 13 for adding a selected offset signal to the user data input, a variable organizing unit 14 for defining a number of variables from the offset user data, a matrix index calculation unit 15 for calculating a matrix index by applying the variables to predetermined equations, a constant determination unit 16 for determining a constant from a predetermined 1 by 8 matrix by using the matrix index, and a comparison unit 17 for comparing the obtained constant with a first digit value of the pin code data stored in the register unit 12. If a constant does not match the corresponding digit value of the pin code data, then the pin code input is not authentic. However, if the constant equals the first digit value of the pin code data, certain variables are used with a second predetermined equation for calculating a second matrix index in the index calculation unit 15. A second constant is determined from the matrix in the constant determination unit 16 by the second matrix index for comparison with the subsequent digit value of the pin code data. If the second constant matches the second digit value of the pin code data, the apparatus continues to operate in the same way until all the digits of the pin code input have been checked based on the user data input. The apparatus can be easily constructed by using logic circuits or microprocessor techniques. The data input unit 11 may include a keyboard and/or a card reader. The card reader may be used to read a user number on a user card while the keyboard is used to enter the pin code number, or vice versa. It is also possible that only a keyboard is used to enter both the user number and the pin code number. An offset is chosen to be an integer value smaller than the total number of possible users allowed. In this way modulo data is automatically associated with the user data. For example, if an access control system or an electric lock control system is designed for allowing up to 10.sup.4 user numbers, the offset data must be selected between 0 and 9999. Thus, number 10.sup.4 is the modulo number associated with the user data. In this case, up to 10.sup.4 scramble modes are available for the system to select one therefrom. Under this configuration, security of the system is very much increased. Suppose the value 7235 is selected as the offset number for an access control system. If a user data input 6527 is entered, the offset data 7235 is added to the user data input for a result of 13762. Since this data is larger than 9999, it is modulo adjusted 10.sup.4 to generate 3762. This offset user data (or modulo-adjusted data if offset user data exceeds 9999) is then used for selecting a number of the variables therefrom. In another embodiment, if the maximum number of users is 10.sup.3, the offset data can be selected from 0-999 so that the modulo data is 10.sup.3 associated with each user number. In this case, at least 10.sup.3 possible scramble modes are available to the system if a 1 by 8 matrix is used. If a 8 by 8 diagonally symmetric matrix is used, 8.times.10.sup.3 scramble modes are available. Since the present apparatus can provide a great number of scramble modes by simply adjusting the offset, the apparatus allows different purchasers of the access system to use different scramble modes to generate new pin codes so that high security among user of a system from the same manufacture is achieved. Further, since a great number of scramble modes can be obtained, such an access control system can not be easily accessed by a person without knowing the correct pin code even though he may know the scrambling method. The pin code numbers for entering the system are preferably multi-digit numbers. Each of the organized variables is an octal value, so that a 1 by 8 scalar matrix can be used for determining a set of constants for each user data input. The user numbers for entering the system are preferably multi-digit decimal number because people are familiar with decimal numbers. Since each four-digit decimal number occupies 16 binary bits in a binary system so that a number of octal variables can be organized by defining any three binary bits in the user data as an octal variable. The equations used to calculate the matrix indices can be any predetermined logic equations with modulo 8, each of which preferably includes at least two variables derived from the offset user data. The number of the equations preferably equals the places of the maximum pin code number so that each equation can be used for determining one matrix index. Suppose the maximum pin code number is a five-digit value, there will be five equations, exemplarily shown as the following:
______________________________________
Equation 1: A + (F XOR E) + 1
Equation 2: A + (B XOR D) + 3
Equation 3: A + (F XOR C) + 5
Equation 4: A + B + 7
Equation 5: A + F
______________________________________
The 1 by 8 data matrix is any predetermined scalar matrix which has eight constant elements, such as (1, 3, 6, 4, 2, 7, 5, 0). Once a matrix index with modulo 8 is calculated, a constant from the matrix can be solely determined. In a preferred embodiment, a programmed microprocessor is used in a data recognition apparatus for an access control system. FIG. 2 shows a flow-block diagram of a data recognition routine 20 of the recognition apparatus. Whenever the access control system is started, the recognition apparatus is cleaned or reset at block 21 so that the system is ready for a person to enter data. At block 24, the system receives data input from a keyboard and/or a card reader. If the data input (a user number and a pin code number) is entered from an input device, such as a keyboard, the data input is parsed at block 25 and separated into user data and a pin code data which is sent to a register. In block 26, the user data is incremented by an offset data which has been programmed into the system. The offset value is any number selected between 0 and n-1, wherein n is the maximum number of possible users, which is defined in the design. In this case, a modulo n is added to the user data by use of the offset data. Then, during block 27, a determination is made as to the number of digits the pin code data input contains. Assuming that the pin code input contains less than five digits, then processing continues to blocks 30, 33, 36 and 39 until the number of digits of the pin code data has been determined. If the pin code data is determined to have five digits, processing continues in block 28 where a predetermined equation, such as A +(F .sym.E) +1, will be used to calculate the matrix index. It should be noted that the variables A, F and E in the equation are octal numbers derived from the user data input as discussed previously. The calculated index value has a modulo 8. After the index value is obtained, a constant M(index) will be determined from a 1 by 8 matrix M by the index value and compared with the first digit of the pin code data at block 29. If the two values match, processing will continue to block 31 and 32 to see whether a second constant obtained by using a predetermined second equation matches the second digit value of the pin code data. If the two values are equal, the operation continues in this manner through blocks 34, 35, 37, 38, 40 and 41 until all subsequent digits of the pin code input have been checked as being equal to corresponding constants determined through the predetermined method. Thus, the data input entered by the person is recognized as true data. If the constant at any of the blocks 29, 32, 35, 38 and 41 is determined to be not equal to the corresponding digit value of the pin code data, processing is terminated and access is denied, that is, the operation of the system returns to block 22, ready for re-entering a new data input. Under this configuration, more scramble modes for an access control system can be obtained and less storing space is needed for storing the data matrix. Further, the access control system achieves much higher security than conventional systems. In some situations, even though the pin code number has been recognized as authentic data, the user number may be an invalid number. For example, an employment, or a membership or the like have been terminated. Consequently, block 42 represents a step for checking the validity of the user number. If the user number is enabled, access is granted and a control signal is fed to a strike control relay (51, FIG. 3) for driving an access device, such as to open an electric lock. A preferred embodiment of an access control system 50 of the present invention is shown by FIG. 3. The access control system 50 includes a microprocessor 45 for recognizing the authenticity of the data input and controlling the operation of the system 50, a keyboard 46 and/or a card reader 47 for entering the data, a strike control relay 51 responsive to the control signals from the microprocessor 45 for controlling the opening and closing of an access device such as an electric lock or a door striker, an alarm relay 52 for driving an alarm when the access device is being destructed or other abnormal situations occur, a lamp driver for controlling the on and off of a green lamp indicating the access is granted and a red lamp indicating a denial of a data input of the user number and the pin code number. The access control system 50 may further include an optional access device contact input element 48 for allowing the microprocessor 45 to monitor when access has been completed so it can lock, rather than being automatically locked in a certain preset time after access granted, and an optional switch element 49 for giving commands for directly controlling the access device. Such input device 49 can be accessed only by the system operator. The input signals from these optional input devices (keyboard, and card reader) are then processed by the microprocessor 45 to control an optional output control relay 53 and a duress output driver 54 so that the system can be properly administered by the operator. While the preferred application of the present invention has been shown and described, it should be apparent to those skilled in the art that many more modifications are possible without departing from the invention concept herein described. It is intended to cover in the appended claims all such modifications which fall within the true spirit and scope of the invention.
|
Same subclass Same class Consider this |
||||||||||
