
And it's given me an idea. We need USB Locks. The lock has a USB slot on it, you plug in your USB key and it opens. This is done by using the software that comes with the lock on your computer to put a special hash on the key. It hashes together the ID of the key iteself, the ID of the door, and a password, and sticks the results on the key in a hidden file. When you put it in the door, the door creates the same hash and if it's a match it opens.
Using all three elements in the hash gives you a high level of flexibility of use. It means you can put multiple doors on one key at will, and the doors just look at all the hashes on the key for the one that matches. Because the hash includes the specific ID of the key itself, you can't just copy the file to another key and have it work, it has to be created on that specific key by the software. And because there's a password included in the process, no one else can recreate your hash even if they somehow have your key and door IDs. Of course you have to make sure the hash is not reversible when you have two of the three elements to make it a secure system.
To "rekey" your door all you have to do is change your password in the software. It creates a special little directive file along with the regular hash for verification. The door sees that and - after authenticating - changes it's password to the new one and sets the key to regular operations again using the new hash.
This means no more locksmiths. No more going to the hardware store for more copies of keys to lose. You can rekey your door at will, and make as many copies as you want yourself. If it becomes popular it means only having one key to carry around with you that will open all the doors you have access to wherever you go. And of course it's got plenty of space so you can also carry around all your data on the same key.
The only technical issues to overcome are:
1) Making the door hardware so that it's fast to read the key instead of the relatively slow mount times you see on a computer for USB devices. This needs to be very nearly instantaneous.
2) Making the door hardware capable of running nearly indefinitely on battery power if the power is out. Also, make it so that - in extreme cases - you could use a special device that as a USB plug of both sorts on it and a big fat battery, allowing you to push power into the lock and plug in your key through it, just in case all other power has failed.
3) Making absolutely sure the system is bug free. Sure you could make firmware flashes to fix problems, but problems with this system don't just mean a little inconvenience for someone. They mean someone got robbed.
Lastly, this would also be a good thing to tie into home automation. The next step is making it so that when you open your door with your key, it sets off your custom program that turns on the light, fires up the TiVo and television, boots your computer, and turns on your coffeepot. Or whatever all you've programmed it to do when you get home.
Now, someone go make that and give me one for free.
Edited By TPRJones on 1269471386