Key-lock system and method using interchange of system-originated codes

An inter-active key-lock system uses an unlock sequence in which messages exchanged between the key and lock include class-codes and unique-codes as parts of such messages. Dynamic indicators or labels are also stored in the lock memory for control purposes. These labels include "authorities" which indicate whether a key is able to make another key for the same lock or able to deactivate keys from use with the lock, and "parents" which indicate which parent key was used to make an additional key. The system enables an individual lock owner to code a key and control coding of additional keys on an exclusive basis, with the feature that there is no master-key and no emergency code available to the manufacturer or usable by any authorized service representative to unlock the lock.

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.

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.