Abstract:
A security system for controlling access to property having a user-operated keyboard to key in and reset a composite password code. An indicator visually displays at least one code symbol varying with time. A memory device stores a current composite password code including at least two code symbols so that upon entry of the keyed-in password code through the keyboard, one of the stored password code symbols is replaced directly by the time varying code symbol to form a regenerated, composite password code which is then compared with the keyed-in password code to grant access to the property when coincidence occurs between the keyed-in and the regenerated password codes. In response to non-coincidence, an alerting signal is generated to indicate the incorrect password condition.

Description:
CROSS-REFERENCE OF RELATED APPLICATIONS 
     This is a continuation-in-part of U.S. patent application Ser. No. 053,731, filed on May 26, 1987, now U.S. Pat. No. 4,812,841. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates generally to security systems. More particularly, it relates to security systems for limiting access to such diverse places and things as private or public premises, safes, security areas in buildings, electrical devices, computer terminals, computer programs, and electronically stored information such as credit records, just to mention a few of the applications where security is required. 
     Many types of access control systems have been devised over the years from the earliest forms of key operated locks, to the sophistication of combination locks and the relatively recent advent of electronically coded card keys and readers. None of these systems has been particularly satisfactory, however, since more and more sophisticated procedures have been developed to defeat them. Keys can be duplicated, combinations can be broken by trial and error or detected by observation of an authorized person opening the combination controlled lock and electronically coded card keys can be forged. 
     For example, there are a variety of computer-controlled password locks commercially available on the market, such as a computer-controlled lock system disclosed in U.S. Pat. No. 3,953,769 to Sopko, wherein a keyboard is mounted on the outside of a door and is connected to computer-controlled circuitry enclosed in a housing mounted on the inside of the door to control energization of a deadbolt solenoid. The lock system permits a user to open the lock by keying in a correct numeral password from its keyboard, thereby preventing it from being opened with a master key by a thief. With such a computer-controlled lock, the user need not bring a key with him, so that it is not only convenient, but also able to eliminate the possibility of losing the key. In addition, the user can reset the password of the lock as desired, and thus need not worry about anybody, including the one who sells the lock, being aware of the password. Although conventional computer-controlled password locks have the above advantages, they still have several drawbacks, such as the user must memorize a password of four or more figures, and that the length of the password cannot be adjusted. In addition, since the user frequently selects his birthday, part of his telephone number or identification card number, or the like as the password to facilitate memorization, somebody who familiarizes himself with the user may guess at the password. 
     SUMMARY OF THE INVENTION 
     The primary object of the present invention is to provide a security system for controlling access to property, with its password varying with time. Specifically, at least one figure of the password of the security system can be set to vary with one figure of the time or variables displayed on an indicator of the system. In addition, the length of the password of the system can be varied as desired. Therefore, the memorization of the password can be simplified, the setting of the password is more flexible, and the possibility of guessing the password by others is significantly reduced. 
     In accordance with the present invention, a security system for controlling access to property, comprises: 
     keyboard means for entering a keyed-in password; 
     symbol establishing means for establishing a time-varying symbol including at least two variable codes; 
     indicator means coupled to the symbol establishing means for indicating the time-varying symbol; 
     memory means for storing a composite password code formed by a plurality of coded symbols; 
     data processing means coupled to the symbol establishing means and the memory means for retrieving the composite password code and for replacing at least one of the coded symbols of the composite password code directly with one of the variable codes of the time-varying symbol, without arithmetic operation, to form a regenerated password, according to the at least one of the coded symbols; 
     comparator means coupled to the memory means for detecting coincidence between the keyed-in password and the regenerated password; and 
     means for granting access to the property in response to the detection of coincidence. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention can be more fully understood by reference to the following description and accompanying drawings, which form an integral part of this application: 
     FIG. 1 is a block diagram of the circuitry of a computer-controlled password lock in accordance with one preferred embodiment of the present invention; 
     FIG. 2 is a flow chart of the comparison between a keyed-in password and a currently stored password, in accordance with the present invention; and 
     FIG. 3 is a flow chart of the resetting of a new password, in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     One important use of the system of the invention is in a password lock for doors, safes, etc., which include a solenoid-controlled deadbolt or the like. 
     Referring now to FIG. 1, the circuitry of a computer-controlled password lock according to one preferred embodiment of the invention includes a central processing unit (CPU) 10 capable of running the control programs to control the operation of the password lock. A keyboard 30 from which a user can key in the password, reset the password and set the time is coupled to the CPU 10 via a parallel input/output device 20. The keyboard 30 includes fist and second function keys &#34;*&#34; and &#34;#&#34;, and numeral keys &#34;0&#34; to &#34;9&#34; as already well-known in the art. The keyboard 30 may also include other symbolic keys and English alphabetic keys. 
     A non-volatile memory 40, a volatile memory 42 and a counter/timer controller 44 respectively are coupled to the CPU 10 via a data bus 12, address bus 14 and control bus 16. The non-volatile memory 40 may be a read-only memory (ROM), erasable-programmable ROM (EPROM), electrically erasable ROM (EEROM) or the like, and is employed to store the control programs and an original password therewithin. The volatile memory 42, such as a random access memory (RAM), is employed to store the current password reset by the user and the data and parameters sent from the CPU 10 therewithin. The counter/timer controller 44 is activated by a control signal sent from the CPU 10, and will output an interrupt signal to the interrupt pin (INT) of the CPU 10 via a line 46 at fixed intervals which are determined by the CPU 10. Therefore, the CPU 10 can measure time in response to the interrupt signal, and store the measured time within the volatile memory 42, thereby establishing an inner digital clock. A binary-coded-decimal (BCD) to seven-segment decoder/driver 50 is connected to the CPU 10 through the data bus 12 to receive the time measured by the CPU 10 and to convert the BCD input of the measured time into a seven-segment output. The seven-segment output is then sent to a visible indicator 52 which is coupled to the BCD to seven-segment decoder/driver 50, thus making the time visible to the user. 
     A decoder 60 is coupled to and controlled by the CPU 10 to selectively activate the parallel input/output device 20, the non-volatile memory 40, the volatile memory 42, counter/timer controller 40 or BCD to seven-segment decoder/driver 50. 
     A lock driving circuit 32, an alarm driving circuit 34 and an indicator or light emitting diode 36 are coupled to the CPU 10 through the parallel input/output device 20. The lock driving circuit 32 is utilized to open the lock by energization of a deadbolt solenoid 38 in response to an open signal output by the CPU 10 upon the correct password being keyed in by the user. The alarm driving circuit 34 is utilized to drive an alarm system (not shown) in response to an alarm signal output by the CPU 10 upon the number of times an incorrect password is keyed in reaching a predetermined limit, for example three times. The alarm system may be an alarm bell, a system automatically alerting the police, a building alarm system or the like. The light emitting diode (LED) 36 will be turned on for a predetermined period of time, for example two seconds, to indicate that the keyed-in password is incorrect in response to a light signal output by the CPU 10. 
     The password lock of the present invention can be connected to the commercial power source, and is provided with a chargeable battery. Preferably, the password lock is provided with a receptacle for an external power source. Therefore, the password lock of the present invention will not be affected by the power-failure. 
     With reference to FIG. 2, there is illustrated a flow chart of determining whether the keyed-in password is correct or not. Firstly, in block 100 a parameter I is set to three and a parameter i is set to one. In block 102 the CPU 10 awaits instruction from the user, and constantly scans the keyboard 30. In block 104 when the user keys in the first figure IPi (i=1) of password, the CPU 10 will store it in the volatile memory 42. In determination block 106 the CPU 10 determines whether the key-in process of the password is over or not. Specifically, the CPU 10 compares the keyed-in password figure IPi with the inner code EC of the first function key (or over key) &#34;*&#34;. If the IPi is not equal to the inner code EC of the key &#34;*&#34;, the CPU realizes that the key-in process of the password is not over yet. Then the parameter i is increased by one, and the CPU 10 stores the sequentially keyed-in password figure IPi in memory 42 (blocks 108, 102 and 104). When the user depresses the over key &#34;*&#34;, meaning that the key-in process is over, the IPi equals the inner code EC of the over key &#34;*&#34;. Then the parameter i is reset to one in block 110. In block 112 and determination block 114 one keyed-in password figure IPi and one currently stored password figure SPi are retrieved in sequence from the memory, and compared with each other. When the comparisons between all of the figures of the keyed-in password and currently stored password are completed, and if the keyed-in password equals the currently stored password (blocks 112, 116 and 118, and determination block 114), the CPU 10 will then output an open signal OS to the lock driving circuit 32 to energize the deadbolt solenoid 38 in order to open the lock (block 120). 
     If the keyed-in password does not equal the currently stored password, including unequal number and inconsistent length, the CPU 10 will then output a light signal LS to the LED 36 to indicate that the keyed-in password is incorrect (block 122). In this preferred embodiment of the present invention, the password lock permits the user three opportunities to key in the correct password. Therefore, if determination block 126, after having subtracted one from the parameter I (block 124), determines that the number of times an incorrect password has been keyed in equals three, the CPU 10 will then output an alarm signal AS to the alarm driving circuit 34 to drive the alarm system (block 128). If it does not equal three, the CPU 10 will then delay two seconds to release the light signal LS (blocks 130 and 132). Specifically, the LED 36 will be turned on for two seconds which is long enough to catch the user&#39;s attention. In block 134 the parameter i is then reset to one, and thereafter the CPU 10 awaits further instructions form the user (block 102). 
     The currently stored password mentioned above may be an original password or a reset composite password code. The original password is stored within the non-volatile memory 40, and the reset composite password code is reset by the user from the keyboard 30 as desired and is stored within the volatile memory 42. The priority of the reset composite password code is higher than that of the original password. The original password is used should the commercial power and the chargeable battery all fail, resulting in the loss of the information stored in the volatile memory 42, and an external power is connected to password lock through the receptacle on the password lock. 
     This preferred embodiment of the present invention is designed to allow the user to enter into the password-resetting subroutine as shown in FIG. 3 by depressing the second function key &#34;#&#34; to send a password-setting signal to the CPU 10 within a predetermined period of the time, for example, five seconds, after the lock is opened. Then the user must key in the correct password again (blocks 140 and 142, and determination block 144). Since the comparison between the keyed-in password and the currently stored password is the same as the manner described above, further detailed description is deemed unnecessary. If the keyed-in password is incorrect, the LED 36 will be turned on for two seconds, and then the process returns to the main program (blocks 146, 148, 150, and 152). In this case, the password is not reset. If the keyed-in password is correct, a parameter j is set to one (block 154), and the CPU 10 awaits the user&#39;s key-in (block 156). When the user depresses any key representing new-setting password figure NSPj, the CPU 10 will store it in the volatile memory 42 (block 158). In determination block 160 the NSPj is compared with the inner code EC of the first function or over key &#34;*&#34; to determine whether the key-in process is over or not. If over, the process returns to the main program, and the password-resetting process is completed. 
     If the NSPj does not equal the inner code EC of the key &#34;*&#34;, the NSPj is further compared with the inner code SC of the second function key &#34;#&#34; to determine whether this figure of the password wants to vary with time. At this stage the second function key &#34;#&#34; is used to send a signal acting as a varying password setting code to the CPU 10, contrasting with the above-mentioned same signal acting as a password-setting code. If the current NSPj does not equal the inner code SC of the key &#34;#&#34;, it must be numeral. Therefore the parameter j is increased by one, and then the CPU 10 awaits the next keyed-in password figure NSPj (blocks 170 and 156). If the current NSPj equals the inner code SC of the key &#34;#&#34;, it means that the user wants this figure of the password to vary with the time displayed by the indicator 52. Then the user must key in a symbol selecting code SSC to determine with which figure of the time the password figure will vary. In this preferred embodiment, the user can depress one of the numeral keys &#34;1&#34; to &#34;4&#34; respectively representing that this figure of password varies with ten-hour units, one-hour units, ten-minute units or one-minute units. The CPU 10 also stores the symbol selecting code SSC into the memory (blocks 164 and 166). Then the parameter j is increased by two (blocks 168 and 170) and the CPU 10 awaits the next keyed-in password figure (block 156). 
     Now, an exemplar is illustrated here to facilitate understanding of the varying-with-time password of the present invention. Firstly, the user depresses the second function key &#34;#&#34; within five seconds of the lock being opened to request resetting of password. Thereafter, he keys in the correct current password, and then depresses the keys &#34;3&#34;, &#34;#&#34;, &#34;2&#34;, &#34;#&#34;, &#34;3&#34; and &#34;*&#34; in sequence. In accordance with the above description, the reset composite password code is a three-figure password, and its hundred or first figure equals 3, its ten or second figure varies in units of one hour of the time displayed by the indicator 52, and its unit or third figure varies in units of ten minutes of the time. For example, when the user wants to open the lock, and the displayed time is &#34;12:50&#34; (ten minutes to one o&#39;clock, p.m.), the correct current password is &#34;325&#34;. If the displayed time is &#34;17:45&#34; (fifteen minutes to six o&#39;clock, p.m.), the correct current password is &#34;374&#34; . 
     Since the present invention is so designed to enable the password to vary with time, the operation in the block 112 of FIG. 2 must include the following steps: (a) determining whether the SPi equals the inner code SC of the second function key &#34;#&#34;; (b) if the SPi does not equal the inner code SC of the key &#34;#&#34;, comparing the SPi with the IPi (determination block 114 in FIG. 2); and (c) if the SPi equals the inner code SC of the key &#34;#&#34;, retrieving the symbol selecting code SSC from the memory, and in response to the retrieved symbol selecting code SSC retrieving the number of a proper symbol of time from the memory to compare with the IPi in determination block 114. Moreover, the determination block 144 must also include the above steps. 
     Accordingly, the password of the computer-controlled password lock of the present invention can be set to vary with time, and its length can be adjusted as desired. The setting of password is more flexible than the conventional password lock, and the password is more difficult to guess. 
     It should be noted that although in this preferred embodiment the CPU measures the real time, the CPU 10 may measure its own time or create a variable random code by an adequate random code generating program, and then display it for the user to determine the correct password. 
     Another important use of the security system of the invention is in protecting computer programs or stored computer information, for example in a data base or data bank, from unauthorized use. 
     In order to use such system in conjunction with a computer program or a computer, when a program is called up for use in the computer or when a user requests for accessing to the information stored in the computer, the program itself or the computer displays the time on monitor or terminal, or randomly generates the variable random code and displays it. The type of display will vary with the computer equipment used. After display of the variable, the user then has to determine the correct password and enter it into the computer. 
     It should be understood that there will be an endless variety of ways of actually using or implementing the security system in conjunction with a computer system. The actual programing of the system will vary from program to program and with the equipment for which the protected programs are written. Such programing, however, will be obvious to a person skilled in the art from the above description of the system, so it is not detailed here. 
     While the invention has been described in terms of what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention need not be limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims, the scope of which should be accorded the broadest interpretation so as to encompass all such modifications and similar structures.