Background of the Invention
In the highly sophisticated art of modern key-lock systems multiple independent locks can be operated by one or more independent keys and multiple independent keys can operate the same lock. These systems are based on two way communication between keys and locks. The release operation of the lock depends on the coincidence between the key-code transmitted by the key and the release-code stored in the lock.
For security reasons the key-code gets transmitted only upon receiving a trigger-code from the lock. In order to further enhance security these transmitted codes get scrambled or changed after each use.
The problem of establishing and reorganizing key-lock assignments in an easy and flexible way, without restricting the security of systems, is not satisfactorily solved yet.
Summary of the Invention
The purpose of this invention is to provide a very easy to use, flexible, comfortable yet highly secure closure/controller system. It can solve all of the currently known key-lock related problems (e.g., assigning a key to a lock, allowing a lock to be operated by many independent keys and making security copies) and the owner of the lock can replace and disable the lost keys to the lock as well as disable (prohibit) any absent keys and their copies without the notice or approval of the owners of such copies. Only the key's owner is able to make a copy of the key.
A new feature of the system is that there is no master-key and no emergency-code usable by the manufacturer or by its authorized representatives to unlock a closure. The only authorized person for a lock is its owner him/herself.
According to the invention, the new features are achieved by using class-codes and unique-codes as parts of the messages between the lock and the key, as well as dynamic indicators or labels for the proper keys in the lock's memory.
These indicators or labels are:
authorities, indicating whether a key is able to make another key (subsequently inserted in the same lock) usable with, or deactivated from use with, that lock; and
parents, indicating which one of the authority possessing keys made a key proper for use in the lock.
More particularly, a key-lock system in accordance with the invention includes a key for communicating with locks via messages consisting of a class-code part and a unique-code part. Such a key comprises:
a state register for storing states of the key,
a timer for timing such states of the key and for resetting the state register after expiration of a state of the key,
a starter for initiating the operation of the key,
a memory for storing--
(1) the actual identifier of the key,
(2) the actual copy-code of the key,
(3) questions for comparison to the unique-code part of a question-to-answer class of messages received, and
(4) answers, individually associated with such questions, to be used as the unique-code part of an answer-to-question class of messages to be sent,and
a read-only memory for storing an original identifier and copy-code, determined by the manufacturer, to replace the actual identifier and actual copy-code in case of a reset of the key.
The key further includes:
a comparator for comparing the unique-code part of messages received to such questions,
a class-code generator for generating the class-code part of messages to be sent,
a unique-code generator for generating the unique-code part of messages to be sent,
a class-code analyzer for identifying the class of messages received,
a unique-code analyzer for identifying the unique-code part of messages received,
a transmitter for transmitting messages,
a receiver for receiving messages,
temporary registers for temporary storage of messages to be sent and of messages received,
a linker for linking the transmitter and receiver to locks, and
an algorithm processor to organize the operation of the key including functions of the states of the key, the class-code part of messages received, the output signal of the comparator and the signal from the starter.
The key-lock system in accordance with the invention also includes a lock for communicating with keys via messages consisting of a class-code part and a unique-code part. Such a lock comprises:
a state register for storing states of the lock,
a timer for timing such states of the lock and for resetting the state register after expiration of a state of the lock,
a reset button for initiating a reset operation of the lock, and
a memory for storing--
(1) identifiers of keys assigned in the lock,
(2) questions, individually associated with such identifiers, to be sent as the unique-code part of a question-to-answer class of messages,
(3) answers individually associated with questions to be expected as the unique-code part of an answer-for-question class of messages received from the key having such associated identifier,
(4) authority indicators, individually associated with such identifiers, for indicating if the key has the power to assign other keys to the lock and, if it does, which level of authority the other keys will have, and
(5) parent indicators, individually associated with such identifiers, for indicating the higher authorized key which assigned the key to the lock.
The lock further includes:
a comparator for comparing the unique-code part of a message received to such identifiers and answers,
a class-code generator for generating the class-code part of messages to be sent,
a unique-code generator for generating the unique-code part of messages to be sent,
a class-code analyzer for identifying the class of messages received,
a unique-code analyzer for identifying the unique-code part of messages received,
a transmitter for transmitting messages,
a receiver for receiving messages,
temporary registers for temporary storage of messages to be sent and messages received,
a linker for linking the transmitter and receiver to keys,
an algorithm processor to organize the operation of the lock including functions of the states of the lock, the class-code part of messages received, the output signal of the comparator and the signal coming from the reset button, and
a lock driver, controlling unlock/lock operation, activated by the algorithm processor in the case of coincidence between the unique-code part of an answer-to-question class message, received during the waiting-for-answer state of the lock, and an answer stored in the memory of the lock in association with the question which forms the unique-code part of the message last transmitted from the lock.
Brief Description of the Drawings
In order to better clarify the essential characteristics of the invention, an exemplifying form of a practical embodiment thereof is now described, with reference to the attached drawings, wherein FIG. 1 shows a functional block diagram of a key and FIG. 2 shows a functional block diagram of a lock.
FIG. 3 is a flow chart useful in describing the coding of a key in accordance with the invention and FIG. 4 is a flow chart more particularly useful in describing operation of a key-lock system in accordance with the invention.
The references used on FIGS. 1 and 2 of the drawings are identified as follows:
Detailed Description of the Preferred Embodiment
In the drawings a lock is indicated in FIG. 1 by 200 and the related key is indicated in FIG. 2 by 100.
The key 100 and the lock 200 are connected through linkers 110, 210. The linkers are interconnected in any preferred wired or wireless way. Both key and lock are able to send and receive messages consisting of a class-code part and a unique-code part via transmitters 120, 220 and receivers 130, 230.
Activating the starter 111 causes the algorithm processor 140 to check the state register 160 to determine whether the key 100 is in a "blocked" state. If it is not, then the algorithm processor 140 causes the class-code generator 144 and the unique-code generator 145 to generate into the temporary register 121 a "key-identifier" message. This message, sent by the transmitter 120, comprises the actual identifier 151 stored in the memory 150. After sending the key-identifier message the algorithm processor 140 sets the state register 160 in a "waiting-for-question" state. This state changes into blocked one unless it receives an acceptable valid message within a certain period of time as timed by timer 170. The blocked state is transitional and conditional as well and is also timed by the timer 170.
The receiver 230 in the lock 200 (assumed now to be empty or reset) delivers the received message into the temporary register 231. The class-code analyzer 241 having analyzed the content of the temporary register informs the algorithm processor 240 that a key-identifier message is received. The algorithm processor 240 sensing that the memory 250 does not contain key related data, causes the class-code generator 244 and the unique-code generator 245 to produce (into the temporary register 221) a "question-to-store" message to be sent by the transmitter 220 through the linker 210 to the key 100. The algorithm processor 240 sets the state register 260 into a "waiting-for-acknowledgement" state and saves the unique-code part of the received key-identifier message and the unique-code part of the transmitted question-to-store message as intermediate data 257 into the memory 250.
The key 100 receiving the question-to-store message (temporarily stored in the temporary register 131, analyzed by the class-code analyzer 141 and the unique-code analyzer 142) as an acceptable valid message in its waiting-for-question state, checks with the aid of its comparator 143 the memory 150 to determine whether there is a conflict between the question 153 stored in the memory 150 and the unique-code part of the received question-to-store message. If there is no conflict, the key then sends to the lock 200 an "acknowledge" message and saves the unique-code part as intermediate data 156 into the memory 150; if there is a conflict, the key then sends a "question-conflict" message to the lock 200.
The lock 200 receiving the acknowledge message generates and sends to the key 100 an "answer-to-store" message whose unique-code part, upon receiving the next acknowledge message from the key 100, will be stored into the memories 150 and 250 as an answer at 154 and 253. At the same time the unique-code part of the question-to-store message, previously saved in 250 will be stored in the memories 150 and 250, as questions at 153 and 252. The saved unique-code part of the key-identifier message, stored as identifier 251, as well as a "main-key" authority 254 and a "0" parent 255 assignment, will be stored as identifiers or labels in the memory 250 of the lock 200, linked to the question 252 and to the answer 253.
In case of receiving a question-conflict message the lock generates and sends a new question-to-store message with a different unique-code part repeatedly until receiving an acknowledge message.
Upon operating the key 100, which thus became the main-key, in the same lock 200, the key 100 sends to the lock 200 the key-identifier message, the lock 200 extracts the unique-code part of it with the help of the unique analyzer 242 to use as an identifier 251 and sends the stored question 252 as the unique-code part of a "question-to-answer" message to the key 100. The key then answers with an "answer-to-question" message by recalling and employing the stored answer 154 as a unique-code part. The lock 200 compares the stored answer 253 to the unique-code part of the received answer-to-question message with the help of the comparator 243. Finding them identical, the lock driver 290 will be operated to unlock. Since the authority 254 of the used key 100 is main-key, the algorithm processor 240 sets the state register 260 into the "assigning" state, in which (until the time-off timed by the timer 270) the subsequently used key will be assigned in the lock the same way as the main-key was, except that the authority indicator 254 stored in the memory 250 will indicate "sub-main-key" which is a level lower than the parent-key's authority. In the lock a parent indicator 255 will indicate the key's parental origin.
The keys having the sub-main-key authority are also able to assign new keys of "ordinary authority" to the lock allowing them to operate the lock driver 290 but not to change other key's assignments.
Operating a main-key or a sub-main-key again during the assigning state of a lock, the lock's state will be changed into the "prohibiting" state in which (till the time-off) the subsequently used (e.g., lower authorized) key and associated child-keys are disabled by deleting the related data from the lock's memory.
Using an improper key causes an alarm signal initiated by the algorithm processor 240 activating the alarm 291.
The states of the lock 200 can be displayed by the optical and/or acoustic display 292 and the empty state or reset of the lock can be enforced through the reset button/keyboard 293 which is mechanically closed or hidden. Using a keyboard instead of reset button provides the user with the possibility of feeding a copy-code (stored in the memory 150 of the key 100 as actual copy-code 152) and any new copy-code into the lock enabling it to serve as a household copy device. The copying process is also based on messages between the lock 200 and the key 100. It comprises the actual copy-code 152, the new copy-code for replacing the actual one, both fed into the lock 200 through the keyboard 293, and the copied keys identifier for replacing the actual one in the copy. Without knowing the copy-code it is impossible to make an unauthorized copy of a key due to the high number of possible copy-codes and the self-blocking of the keys when receiving a false code.
For the purpose of resetting a key into the original state (as per manufacturer) the key 100 comprises a read-only memory 159 for storing the original or reference identifier and the original or reference copy-code for replacing the actual identifier 151 and the actual copy-code 152 in the memory 150.
The computer interface 299 is optional for larger applications (e.g., in hotels or offices). There it can be useful to record use of locks or to make restrictions of the time interval for operating the locks or setting conditions for their use. These features are available either independently in each lock or in a centrally controlled system which is linked to the locks by the computer interfaces 299 of the locks. In addition this interface can be used for highly sophisticated key management processing of names and other data related to the keys.
This system was primarily designed to be used by the public in homes, offices, cars, cupboards, safes, etc. However, its unique features make it especially advantageous for official or business use where it is desirable to provide variable (different from one another) and changeable access for each person.
If it is necessary, the key comprises energy storage 180 to supply the key. The lock comprises energy storage 280 and energy supply 281 for recharging the energy storage.
For security reasons the unique-code part of messages can be scrambled by the unique-code generators 145, 245 and descrambled by the unique-code analyzers 142, 242 using the scrambling codes 155, 256 stored in memories 150, 250.
In accordance with the preceding description, an embodiment of a method for coding a key for use in a key-lock system, as illustrated in FIG. 3, comprises the following steps:
(a) at step 300, transmitting a key-identification message, including a key-identifier, from the key to the lock;
(b) at step 310, generating and transmitting from the lock to the key a question-to-store message, including a question code;
(c) at step 320, storing in the key the question code transmitted by the lock in step 310;
(d) at step 330, transmitting from the key to the lock a first acknowledge message;
(e) at step 340, generating and transmitting from the lock to the key an answer-to-store message, including an answer code;
(f) at step 350, storing in the key the answer code transmitted by the lock in step 340;
(g) at step 360, transmitting from the key to the lock a second acknowledge message; and
(h) at step 370, causing the question code and the answer code to be stored in the lock and identified with such key.
As illustrated in FIG. 4, an embodiment of a method for operating a key-lock system by use of a key coded in a previous key coding interchange comprises the following steps:
(a) at step 400, storing in the key and in the lock a key identifier, a question code and answer code, at least such question code and such answer code having been originated in a previous key coding interchange between the key and the lock;
(b) at step 410, initiating an unlock sequence by transmitting the key identifier from the key to the lock;
(c) at step 420, transmitting the question code from the lock to the key, if the key identifier transmitted by the key in step 410 corresponds acceptably with the key identifier as stored in the lock;
(d) at step 430, transmitting the answer code from the key to the lock, if the question code transmitted by the lock in step 420 corresponds acceptably with the question code as stored in the key; and
(e) at step 440, providing an unlock signal for controlling a locking device, if the answer code transmitted by the key in step 430 corresponds acceptably with the answer code as stored in the lock.