I used the terms "client" and "server" because they closely match what would be happening here, with the only caveat that the connection between the client and server would be measured in millimeters, not kilometers. Understand that this would be an actual hardware device; the key would be an actual object you would hold. As such, and keeping with the tradition of keys having visible (public) cuts on the blade, I figured the public key portion of the public/private key encryption should be stored on the key card. The private key (tumblers in a standard lock) would be held within the server (physical lock in the door/whatever). This is not a requirement of the design.
The intent here is not to encrypt data, but to create a digital door/whatever lock using electronics in a manner that is difficult to hack and impossible to pick. My mentioning of public key encryption is because it is the closest software design to a traditional key/lock.
SiCrane actually gave a solution that is very much in line with what I am intending. I can use that.
I still think that there is something you might be missing about public keys, that is very important to understand:
Using your physical metaphors, the lock is the public key, and the key is the private key.
Supposing you have a lock on a door (public key). Anyone can come and copy this lock when you are not looking. But you don't care, because that would just enable them to lock another door with the copied lock. It would not enable them to create a copy of the physical key (the private key). As such, they would now have 2 doors which they cannot open...
That is the whole beauty of asymmetric encryption (the public/private encryption), and it's what makes it special: Having access to a lock, does not mean you can manufacture a key to open it...
So as long one device remains solely in your possession (the key in your pocket), it doesn't matter who has access to the lock. However, if someone steals your key (the private key) you are in trouble...