To get real protection, you'd need a processor on the memory stick.
Otherwise, you'll have the problem of getting the (secret) key out of the stick for processing on the host computer and in this very moment your concept is or will be broken.
Expensive protection systems pass data to the dongle for processing - that makes the difference compared to cheap solutions.
The Saviour of the World is a Penguin and Linus Torvalds is his Prophet.
I am currently trying to figure out how to do this. I have one idea I wanted to run by you guys. Each USB drive should have a drive id that can be collected. This drive id should be unique. I know this is true with IDE and SCSI drives, and I am assuming the same is true for USB drives. If this is true you can have some type of registration process and you have to select which key you want to use plus have that key in the machine.