3 ms·
Stating the problem: 1.) You want to trust your USB device. 2.) You want to use your USB device on another non-trusted computers. 3.) Non-trusted computers can
by leni536 12y ago
Stating the problem:
1.) You want to trust your USB device.
2.) You want to use your USB device on another non-trusted computers.
3.) Non-trusted computers can update your device's firmware behind your back.
So how can you handle firmware upgrades on your USB without trusting computers? One way to do this is to have an firmware update approval mechanism directly on the device.
For keyboards the mechanism could be the following:
- The computer initiates a firmware update.
- The keyboard leds start to blink
- You have to enter your keyboard's UUID (which is on the bottom)
Now you only have to make sure that you don't lend your keyboard to someone that you don't trust.
- dublinben 12y agoWhy does a keyboard even have/need a firmware update mechanism? USB devices are disposable commodities. Their firmware should be permanently burned into whatever minuscule ROM they need to function.
- riskable 12y agoTo answer your first question: There exists a great number of programmable keyboards that are, frankly, awesome. I used to use a Fingerworks TouchStream LP keyboard that let you program the hell out of it. It was great... I had macros that would auto-type all sorts of handy things like my username, email address, etc. You could also program mouse movements into the thing. It supported ten finger gestures so basically the sky was the limit in terms of what you could program it to do. It had only one flaw: There was no tactile feedback so it was easy for your hands to get out-of-alignment resulting in incorrect characters being typed pretty often. On the other hand it was much faster to move the cursor around than a regular keyboard so correcting mistakes was less of a hassle.